KEMBAR78
Deploy to Cloud - mcp-agent
Skip to main content
mcp-c is in open beta, and free to use. Share feedback via GitHub issues or Discord.

What is mcp-c?

Before diving into the workflow, here is the 30‑second summary. See the dedicated pages under Deployment for full detail:
  • One runtime for any MCP application – deploy durable mcp-agent workflows, FastMCP servers, or ChatGPT App backends. Everything is exposed as an MCP server at https://<app_id>.deployments.mcp-agent.com (Cloud overview).
  • Temporal-backed execution – long-running tools and workflows run on Temporal with retries, pause/resume, and human input support (Long-running tools).
  • Managed secrets & authentication – classify secrets during deploy, collect user secrets later, and choose bearer or unauthenticated access today (OAuth coming soon) (Manage secrets and Deployment auth).
  • Observability built in – stream logs, forward traces, and inspect workflow history directly from the CLI (Observability).
  • Easy client install – use mcp-agent install or mcp-agent cloud configure to wire the deployed server into Claude Desktop, Cursor, VS Code, or ChatGPT Apps (Use a deployed server).
With that context, the steps below show exactly how to deploy.

TL;DR – three commands

uvx mcp-agent login
uvx mcp-agent deploy my-agent
uvx mcp-agent cloud servers list
uvx mcp-agent cloud servers describe my-agent
  1. login stores your API token locally.
  2. deploy packages the current directory and uploads it.
  3. cloud servers list shows every deployment you have access to.
  4. cloud servers describe confirms the deployment URL and secret policy.

1. Authenticate

uvx mcp-agent login
The CLI opens the Cloud dashboard so you can generate an API token. Credentials are stored under ~/.mcp-agent/.

2. Deploy

From the directory containing your mcp_agent.config.yaml (or pass --config-dir):
uvx mcp-agent deploy my-agent
During deployment you’ll classify secrets as deployment (stored securely) or user (provided later via mcp-agent cloud configure). Use --dry-run to validate without uploading or --non-interactive for CI.
directory/
├── main.py
├── mcp_agent.config.yaml
└── mcp_agent.secrets.yaml
After a successful deploy you’ll receive an endpoint like:
https://<app_id>.deployments.mcp-agent.com

3. Connect from clients

Your cloud deployment is a standard MCP server. Use any MCP client:
  • Claude Desktop
  • Python
uvx mcp-agent install https://<app_id>.deployments.mcp-agent.com \
  --client claude_desktop \
  --name research-buddy \
  --dry-run
Replace claude_desktop with vscode, cursor, chatgpt to install in those clients instead.

Monitor & manage

  • Logs
  • Servers
  • Workflows
uvx mcp-agent cloud logger tail my-agent --follow
uvx mcp-agent cloud logger tail my-agent --grep "ERROR" --since 5m

Example: web summarizer workflow

main.py
import asyncio
from mcp_agent.app import MCPApp
from mcp_agent.agents.agent import Agent
from mcp_agent.executor.workflow import Workflow, WorkflowResult
from mcp_agent.workflows.llm.augmented_llm_openai import OpenAIAugmentedLLM

app = MCPApp(name="web_summarizer")

@app.workflow
class WebSummarizerWorkflow(Workflow[str]):
    @app.workflow_run
    async def run(self, url: str) -> WorkflowResult[str]:
        agent = Agent(
            name="summarizer",
            instruction="Fetch and summarize web content concisely.",
            server_names=["fetch"],
        )

        async with agent:
            llm = await agent.attach_llm(OpenAIAugmentedLLM)
            summary = await llm.generate_str(
                f"Fetch {url} and provide a 3-sentence summary"
            )
            return WorkflowResult(value=summary)
Deploy with:
uvx mcp-agent deploy web-summarizer

Learn more

I