Deploy Any Web App Directly from Claude Code
TLDR: I just deployed a web app by asking Claude to do it. No config files, no CI/CD setup, no cloud console clicking. Just "create a React app and deploy it using disco" and boom, live URL.
The Problem
Disco is our open source deployment platform. It's powerful but had one problem: setup friction. You need a server, domain configuration, GitHub app authorization. Not hard once you've done it, but enough friction to make people bounce on first encounter.
Meanwhile, I've been living in Claude Code for my day to day development. And I wondered: what if deploying was as easy as asking Claude to do it?
The Solution
We built an MCP server that handles the entire deployment pipeline. It manages GitHub authentication with one OAuth flow, creates repositories automatically, deploys on git push, and lets you monitor deployment status.
One command to add it: claude mcp add disco -t http https://mcp.disco.cloud/mcp
Then you just ask Claude to deploy your stuff.
How It Works
┌─────────────┐ ┌──────────────┐ ┌────────┐ ┌──────────────┐ ┌──────────┐
│ Claude Code │─────▶│ Disco MCP │─────▶│ GitHub │─────▶│ Disco │─────▶│ Live │
│ │ │ Server │ │ Repo │ │ Platform │ │ Website │
│ "deploy │ │ (remote) │ └────────┘ │ │ └──────────┘
│ this app" │◀─────│ │─────────────────────▶│ builds & │
└─────────────┘ │ • OAuth │ create project │ deploys │
▲ │ • Creates │ └──────────────┘
│ │ repos │ │
│ │ • Monitors │ │
└───────────────│ status │◀─────────────────────────────┘
"It's live at └──────────────┘ deployment status
example.com"
Most MCP servers run locally on your machine. Ours runs remotely, which means it can handle the heavy lifting of managing GitHub repos and deployment infrastructure without touching your local environment.
The server exposes tools that Claude can call when needed. When you ask Claude to deploy something, it knows to check for existing git remotes first (preventing duplicate deployments), create the right configuration files for your stack, and then monitor the deployment until it's live.
One interesting constraint of MCP: tools can only make suggestions to Claude, not force actions. So the server has to be persuasive in its responses to guide Claude toward the right git commands and deployment steps.
The Development Journey
Building an MCP server starts with picking a library. Confusingly, there are two different "FastMCP" libraries in the Python ecosystem. We went with the one from the official MCP SDK after hitting roadblocks with OAuth in the alternative.
OAuth implementation was the trickiest part, but once it's working, Claude Code turns out to be an excellent OAuth client. Any MCP servers requiring authentication immediately prompt for login in the terminal, making the flow surprisingly smooth.
The bigger insight was realizing we were building something fundamentally different from most MCP servers. While others run locally and extend Claude's capabilities on your machine, we built a remote server that acts as a bridge between Claude and production infrastructure.
Try It
# Install
claude mcp add disco -t http https://mcp.disco.cloud/mcp
# In Claude Code
/mcp # authenticate once with GitHub
# Then just ask
"Create a React app with a counter and deploy it with disco"
What's Next
We're in alpha and honestly not sure where to take this. The current implementation works but has limitations. GitHub tokens expire and need refreshing through the MCP tool. The repos we create aren't really set up for collaboration. And while Disco itself is all about self-hosting on your own infrastructure, this MCP server doesn't help you with that part yet.
What would make this useful for your workflow? What's missing? What shouldn't we build?
Hit me up: greg@disco.cloud