Host Your MCP Server on Yamify
Yamify lets you host your own MCP server as a production app. Use this when you want your team or customers to call your MCP tools over HTTPS with Yamify-managed TLS, logs, and rollouts.
Quick path (1‑click preset)
- Go to Dashboard → Yam → Deploy from GitHub or ZIP.
- Click Host MCP server.
- Paste your repo URL and deploy.
This preset uses the Node runtime (recommended for MCP servers) and assumes your server listens on PORT.
Requirements for MCP hosting
Your repo must include:
- An HTTP MCP server (Streamable HTTP)
- A
startcommand inpackage.json(or Dockerfile) - A server that listens on
PORT(Yamify sets it for you)
Recommended endpoint:
POST /mcp(Streamable HTTP MCP endpoint)
Option A: Node MCP server (recommended)
package.json (example):
{
"name": "your-mcp-server",
"scripts": {
"start": "node server.js"
}
}
server.js should bind to process.env.PORT:
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`MCP server ready on ${port}`));
Deploy with:
- Preset: Auto‑detect (or Host MCP server button)
- Repo: your public GitHub URL
Option B: Dockerfile MCP server
If you need custom system deps or multi‑service builds, use a Dockerfile.
Important: Docker registry credentials
Dockerfile builds require registry credentials:
YAMIFY_DOCKER_REGISTRYYAMIFY_DOCKER_REPOYAMIFY_DOCKER_USERNAMEYAMIFY_DOCKER_PASSWORD
If those are not set, Yamify will auto‑detect Dockerfile but fallback to Node runtime and log a warning.
Post‑deploy checklist
After deployment, Yamify will:
- Detect runtime
- Build and deploy
- Verify TLS URL
Confirm:
- App status: Live
- URL returns
200 - MCP endpoint responds to
tools/list
Example MCP test
curl -sS -XPOST https://<your-app>.apps.yamify.co/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
When a deploy fails
Use the Needs attention panel:
- Recheck repo URL / branch / subdir
- Verify
startcommand - Inspect logs for missing env vars
If you need help, contact Yamify support with the Project ID shown on the deploy page.