## Build AI integrations you actually own

Generate MCP server code locally, deploy and run anywhere on your infrastructure.

[Start building](https://app.speakeasy.com/) [Read the docs](/content/docs/standalone-mcp/build-server/index.html)

## 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

```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

```bash
$ speakeasy generate --mcp
→ Reading OpenAPI spec...
→ Generating MCP tools from 12 endpoints...
→ Creating server scaffolding...
✓ Generated mcp.ts
✓ Generated 12 tools
```

mcp.ts

```typescript
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

```bash
$ 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

```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

## Make your APIs work for agents, not against them

[Book a demo](/content/book-demo/index.html) [Read the docs](/content/docs/standalone-mcp/build-server/index.html)
