From code to a live Model Context Protocol endpoint in minutes. Blue/green releases, a write-only secrets vault, usage-based billing — and data residency you control.
$ runscale deploydeploying my-server (sovereign)building bundle...48.2 KiB, sha256 3f9c21ab04e1…✓ validate✓ provision✓ health✓ releaselive: https://…mx-central-1.amazonaws.com/mcp/
The Model Context Protocol is the open standard AI assistants — Claude, ChatGPT, Cursor and a fast-growing ecosystem — use to reach tools and data. An MCP server exposes YOUR tools: your database, your API, your business logic. Runscale takes that server from your laptop to a production endpoint any assistant can call — secured, metered and versioned.
Read the MCP specNo Dockerfiles, no YAML, no infrastructure to babysit.
$ runscale init my-serverOne manifest, one entrypoint. Already have an MCP server? Point the manifest at your code.
$ export RUNSCALE_API_KEY=…Create a key in the dashboard. Deploy keys can ship code — they can never destroy infrastructure.
$ runscale deployBundle, upload, blue/green release. The command streams every stage and ends with your live endpoint.
The adapter ships inside the CLI — your project needs nothing from the platform.
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { createMcpLambdaHandler } from 'runscale/adapter'
function createServer() {
const server = new McpServer({ name: 'my-server', version: '1.0.0' })
server.tool('hello', async () => ({
content: [{ type: 'text', text: 'hello from my-server' }],
}))
return server
}
export const handler = createMcpLambdaHandler({ createServer })Built security-first, from day one — not patched in later.
Every deploy must pass a health check before it receives traffic. Rollback is one click, not an incident.
Keys go in; nobody reads them back — not even us. Your server receives them at runtime, decrypted in-region.
Each token opens exactly one server, is shown exactly once, and dies the moment you revoke it.
Metered from real invocations and compute time. Pay for what your tools actually run — nothing else.
Tail your server from the dashboard or the CLI. The logs never leave the region your data lives in.
First region live in Querétaro, Mexico — with an audit trail for every action. More regions on the way.
Usage-based, with no minimums. While we are in early access, deploying is free.
When billing turns on you will see it coming: the dashboard already shows exactly what your usage would cost, in centavos, before we ever charge a card.
No. You write a TypeScript MCP server and run runscale deploy. Provisioning, releases, scaling to zero and metering are our job — there is no console to learn.
The first region is Querétaro, Mexico (mx-central-1): your server, its secrets, its logs and its metadata stay in-region. More regions are on the way — residency is a choice you make, not a limitation.
The vault is write-only: values go in via the CLI or dashboard, encrypted per-organisation, and nobody reads them back — not even us. Your server receives them at runtime, decrypted in-region.
It never reaches users: every release must pass a health check on the staged version before traffic flips to it (blue/green). If something slips through anyway, rollback is one click and takes seconds.
No. Your code is a standard MCP server built on the official SDK — it runs anywhere MCP runs. The endpoint speaks standard Streamable HTTP. Leaving is a git push somewhere else; we just think you will not want to.
During early access, fair use — enough to run real servers with real traffic. Metering is live from day one, so you always see what your usage would cost later.
Create your organisation and deploy in the next ten minutes.