Deploy an MCP Server
Convert any NPM/stdio MCP server to a Cloudflare Worker and host it on Aerostack’s edge. No local process, no ngrok tunnels — just a permanent HTTP URL.
Why deploy to Aerostack?
Section titled “Why deploy to Aerostack?”Standard MCP servers run as local stdio processes. This means:
- Only accessible from your local machine
- Requires the process to be running
- Can’t share with teammates
Hosting on Aerostack gives you a persistent HTTP endpoint accessible from any LLM tool.
Convert and deploy
Section titled “Convert and deploy”From an NPM package
Section titled “From an NPM package”aerostack mcp convert --package @notionhq/notion-mcp-server --deploy --slug notion-mcpFrom GitHub
Section titled “From GitHub”aerostack mcp convert --github https://github.com/user/my-mcp-server --deploy --slug my-mcpFrom a local directory
Section titled “From a local directory”aerostack mcp convert --dir ./my-mcp-server --slug my-mcpaerostack deploy mcpWhat the conversion does
Section titled “What the conversion does”- Downloads the MCP server source
- Analyzes tool definitions and extracts required env vars
- Generates a Cloudflare Worker wrapper that translates HTTP SSE ↔ stdio
- Flags any incompatible Node.js APIs (file system, child processes, etc.)
Set required secrets
Section titled “Set required secrets”After conversion, set the environment variables your MCP server needs:
aerostack secrets set NOTION_API_KEY secret_... --env productionaerostack secrets set GITHUB_TOKEN ghp_... --env productionAdd to a workspace
Section titled “Add to a workspace”# After deploying, add to your workspaceaerostack workspace use workaerostack skill install --mcp notion-mcpThe MCP server’s tools are namespaced as notion-mcp__<tool-name> in your workspace.
Manual deploy
Section titled “Manual deploy”If you converted without --deploy:
cd my-mcp-workeraerostack deploy mcp dist/index.js --slug my-notion-mcp --env production