One-Click Publish to the Growing AI Ecosystem
- Claude Desktop
- Claude Code
- ChatGPT
- Codex
- Cursor
- VS Code
- Windsurf
- Zed
- OpenClaw

You earn 80%, we keep 20% and handle the rest.
You earn 80%, we keep 20% and handle the rest.
+ any app supporting Model Context Protocol (MCP)
No protocol knowledge required. Write a function — the framework and platform handle the rest.
import { createServer, T } from "@mctx-ai/app";
const app = createServer({
instructions: "A greeting server. Use the greet tool to say hello.",
});
function greet({ name }) {
return `Hello, ${name}!`;
}
greet.description = "Greet someone by name";
greet.input = {
name: T.string({ required: true, description: "Name to greet" }),
};
app.tool("greet", greet);
export default { fetch: app.fetch };That's a working App for AI. The framework handles protocol negotiation, input validation, error sanitization, CORS, and capability detection.
mctx is the only App hosting platform with centralized, persistent user identity. One authenticated subscriber — one stable ID — regardless of which AI client, machine, or session they connect from.
import { createServer, T } from "@mctx-ai/app";
const app = createServer({ ... });
async function getPreferences(params, ctx) {
// ctx.userId is stable — same user gets same ID across all devices on your server
const prefs = await db.get(`prefs:${ctx.userId}`);
return prefs ?? defaultPreferences;
}
getPreferences.description = "Get preferences for the current user";
app.tool("getPreferences", getPreferences);No auth code needed. mctx authenticates every subscriber before the request reaches your handler. ctx.userId is always present, always verified, always the same for the same user — across every client and every session.
Security
Most subscribers log in with one click. Power users get tokens for CI/CD. Every connection is authenticated and isolated.
One-click OAuth login
Subscribers log in and get authenticated access instantly — no API keys to manage, no credentials to share. Click Subscribe, sign in, and you're connected.
Per-server JWT sessions
Every connection is authenticated via JWT before your handler sees the request. Each session is scoped to the App — no auth code required in your App.
Personal access tokens
For CI/CD pipelines and programmatic access, subscribers generate personal access tokens. Scoped per-server with mandatory expiry. Rotate programmatically via API — no browser login required.
Subdomain isolation
Each App gets its own subdomain for full OAuth compliance — separate issuer, separate namespace, no cross-tenant leakage.
Global hosting
Runs on Cloudflare's edge. No servers to manage, no scaling to configure.
Authentication
Every subscriber is authenticated automatically. Zero auth code in your server.
Payments & billing
Stripe is fully wired. You earn 80% of every request.
Versioned endpoints
Pin to /v1.2.3 for CI stability, /v1 for latest major, or go versionless for always-latest. Sessions lock to the resolved version — no surprise upgrades mid-connection.
Your own subdomain
yourserver.mctx.ai is yours the moment you deploy.
Discovery publishing
Auto-published to the MCP Community Registry and Context7 — so your App is instantly discoverable by AI assistants and developers alike.
HTTPS & TLS
Handled. Always.
Subscription management
Subscriber flows, cancellations, and enforcement handled end-to-end.
Any AI client
Claude, Cursor, Copilot, Codex, OpenClaw — ctx.userId is the same no matter which tool the user connects from.
Any machine
Laptop, phone, or IDE — the identity follows the user, not the device. Scope storage and state to the person, not the session.
Any session
Sessions end. Identity doesn't. Every new connection resolves to the same ctx.userId, so your server always picks up where it left off.
One identity, everywhere
Once authenticated on mctx, a subscriber's identity is centralized and persistent. Your server knows who is calling — always.