Turn your API into an MCP server
TypeScript framework for MCP servers. Type-safe, edge-deployable, AI-agent-ready.
$ npx @mcify/cli@alpha init my-mcp What you actually get
Six things you'd build by hand the first week. Already in the box.
Write the tool. Skip the boilerplate.
You write a defineTool({ input, output, handler }). We handle the JSON-RPC, the schema validation, the tools/list contract, the auth header, the timeouts.
Schemas you write once
Define a Zod schema and you get the runtime check, the JSON Schema the agent reads, and the TypeScript types — all from the same line.
Auth, rate limits and timeouts ship in
Bearer or API-key auth at the server, per-tool rate limits, deadline-aware timeouts. All composable. None to install separately.
See every tool call live
mcify dev opens an inspector with a real-time call log, a playground to invoke tools by hand, and a chat tab that talks to Claude or GPT directly.
Your AI assistant already knows the rules
Every project ships an AGENTS.md that Claude Code, Cursor, Windsurf and Copilot Workspace read automatically. New tools land in the same shape every time.
One command to ship to any cloud
mcify deploy cloudflare / vercel / fly / railway / docker. Same handler everywhere. The CLI generates the config and calls the platform CLI for you.
Define a tool. See it live.
Schemas double as runtime validation, MCP tools/list contracts,
and TypeScript types. The inspector reflects them in real time as you save.
import { defineTool, schema } from '@mcify/core';
import { requireAuth, rateLimit, withTimeout } from '@mcify/core/middleware';
import { z } from 'zod';
export const createPayment = defineTool({
name: 'khipu_create_payment',
description: 'Create a Khipu payment link',
middlewares: [
requireAuth(),
rateLimit({ max: 60, windowMs: 60_000 }),
withTimeout({ ms: 5_000 }),
],
input: z.object({
subject: z.string().min(1).max(255),
currency: z.enum(['CLP', 'USD']),
amount: z.number().positive(),
}),
output: z.object({
paymentId: z.string(),
paymentUrl: schema.httpUrl(),
}),
handler: async (input, ctx) => {
return ctx.fetch('https://payment-api.khipu.com/v3/payments', {
method: 'POST',
headers: { 'x-api-key': process.env.KHIPU_API_KEY },
body: JSON.stringify(input),
}).then((r) => r.json());
},
}); Three steps
From zero to a deployable MCP server. AGENTS.md ships with the template, so any AI assistant follows the conventions automatically.
- 01
Scaffold
npx @mcify/cli@alpha init my-mcp cd my-mcp pnpm installGenerates the project, an
AGENTS.mdfor your AI agent, and amcify.config.tswith one example tool. - 02
Develop with the inspector
pnpm dev # → http://localhost:8888/mcp (your server) # → http://localhost:3001 (inspector)Hot reload reflects your tool edits in the inspector instantly. Invoke from the Playground tab; see latency, args, and result live.
- 03
Ship
mcify deploy cloudflare # Cloudflare Workers mcify deploy vercel --prod # Vercel Edge mcify deploy fly # Fly.io mcify deploy railway # Railway mcify deploy docker --push # Docker → registryOne command per target. Bundles, generates the right config (wrangler.toml, fly.toml, railway.json…), invokes the platform's CLI for you.
Reference connectors
Real APIs wired to mcify, shipped as both runnable examples and clonable templates. Used by Lelemon Agentes in production.
Khipu
liveChilean payment links — two tools (create, status), bearer auth, fetch-mocked tests. The canonical "wrap a payment API" reference.
mcify init my-server --template example-khipu
Source on GitHub →
Bsale
liveChilean DTE / facturación electrónica — four tools: emit_dte, list_invoices, get_invoice, list_clients. Lower rate-limit on emit because DTEs have legal weight.
Source on GitHub →Fintoc
liveOpen banking for Chile and México — list accounts, list movements, get balance. Two-credential auth: org secret_key on the server, per-user link_token as a tool input.
Source on GitHub →Try it in 60 seconds
Public alpha. Apache 2.0. Built for any team with a TypeScript backend that wants to expose itself to AI agents the right way.
Docs also at /llms-full.txt for AI agents.