Build AI integrations you actually own
Generate MCP server code locally, deploy and run anywhere on your infrastructure.
Trusted by
-
-
-
-
-
-
- -
Generation workflow
MCP servers — our infra or yours
Generate production-ready MCP server code that you fully control. Deploy on your infrastructure, customize to your needs, and distribute however you want.
1
Start with your OpenAPI
Upload your OpenAPI specification. Speakeasy analyzes your API endpoints and prepares them for MCP tool generation.
2
Generate MCP tools
Automatically generate MCP-compatible tools from your API. Each endpoint becomes a tool that AI agents can discover and use.
3
Customize your server
Add custom tools, configure authentication, and tailor the server to your needs. Full TypeScript code you can modify.
4
Deploy anywhere
Run locally for testing, deploy to Cloudflare Workers, Docker, or any infrastructure you choose. Your code, your rules.
openapi.yaml
openapi: 3.1.0
info:
title: Acme AI API
version: 2.0.0
paths:
/chat/completions:
post:
operationId: createCompletion
summary: Create a chat completion
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatRequest'
responses:
'200':
description: A chat completion
Terminal
$ speakeasy generate --mcp
→ Reading OpenAPI spec...
→ Generating MCP tools from 12 endpoints...
→ Creating server scaffolding...
✓ Generated mcp.ts
✓ Generated 12 tools
mcp.ts
import { createMCPServer } from "@speakeasy/mcp";
import { AcmeAPI } from "./sdk";
const server = createMCPServer({
name: "acme-mcp",
tools: {
createCompletion: {
description: "Create a chat completion",
handler: async (params) => {
const client = new AcmeAPI();
return client.chat.completions.create(params);
},
},
},
});
server.start();
Terminal
$ speakeasy mcp deploy
→ Building server...
→ Deploying to Cloudflare Workers...
→ Configuring routes...
✓ Deployment complete
Your server is running at https://mcp.acme.com
From API to AI
Your API is a starting point. We'll help you get to a great MCP server.
Code mode by default
Reduce token usage by 100x by executing tool calls remotely.
Session 1
Session 2
Session 3
JQ filters
Transform API responses with JQ filters. Shape data for optimal LLM consumption.
Universal client support
Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
Run locally
Test and iterate locally with DXT & .mcpb. One-command installation for instant setup.
MCP-CONFIG.JSON
{
"mcpServers": {
"MyAPI": {
"command": "node",
"args": ["/path/to/repo/bin/mcp-server.js", "start"],
"env": {
"API_TOKEN": "your-api-token-here"
}
}
}
}
Deploy remotely
Run on Speakeasy or your favorite hosting platform: Cloudflare Workers, AWS Lambda, Docker, and more.
TERMINAL
$
Managed OAuth 2.1
Enterprise-grade authentication with full OAuth 2.1 support, API keys, and bearer tokens.
Connect OAuth
External Server
Testimonials
"Speakeasy was critical in launching our MCP server, and they’ve continued to be a great partner in iterating on the server since then."
Benjamin Woskow
Sr. Director of Eng @ LaunchDarkly
"The MCP we built using Speakeasy just works. It was honestly much simpler than we expected 🎉"
Constantine Nathanson
Staff Full Stack Engineer @ Cloudinary
"It took me 30 minutes to set up the first toolset, which included testing it out locally to see how it worked. I was extremely impressed with the experience."
James Perkins
Co-founder & CEO @ Unkey