API To MCP
Convert any API documentation into an MCP server for Cursor
Installation
npx api-to-mcpAsk AI about API To MCP
Powered by Claude Β· Grounded in docs
I know everything about API To MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Convert any API documentation into an MCP server in minutes.
Point it at API docs, and it scrapes, generates an OpenAPI spec, creates a fully functional MCP server you can chat with, and installs it to Cursor or Claude Desktop.
Installation
pip install apitomcp
Or with uv:
uv pip install apitomcp
Quickstart
# Install
pip install apitomcp
# First-time setup (configure your LLM provider)
apitomcp init
# Generate an MCP server from any API docs
apitomcp generate
Restart Cursor/ Claude Desktop and start chatting with your API.
What It Does
- Scrapes API documentation (handles multi-page docs, finds all endpoints)
- Generates OpenAPI 3.1 specs using LLMs (parallel processing for speed)
- Detects authentication requirements (OAuth2, Bearer tokens, API keys)
- Creates MCP servers that Cursor can use as tools
- Handles OAuth2 token refresh automatically
Features
- Multi-page scraping - Crawls linked pages to find all API endpoints
- Parallel LLM processing - Generates specs for many endpoints simultaneously
- Smart auth detection - Analyzes docs to detect OAuth2, Bearer, or API key auth
- OAuth2 token refresh - Automatically refreshes expired tokens
- Interactive CLI - Clean prompts for configuration
- Multiple LLM providers - OpenRouter, Anthropic, OpenAI, Gemini
Commands
| Command | Description |
|---|---|
apitomcp init | First-time setup - configure LLM provider and API key |
apitomcp generate | Generate an MCP server from API documentation |
apitomcp list | Show all generated servers |
apitomcp install | Install servers to Cursor or Claude Desktop |
apitomcp delete | Remove a generated server |
apitomcp auth | Update LLM settings |
apitomcp output | Export server files to current directory |
apitomcp run <name> | Run a server (typically used by Cursor or Claude Desktop, not manually) |
Example
$ apitomcp generate
# Enter: https://developer.themoviedb.org/docs/
# Enter your API Read Access Token from https://www.themoviedb.org/settings/api
Then chat with your API in Cursor:
How It Works
API Docs URL
β
βΌ
βββββββββββββββ
β Scraper β BeautifulSoup + MarkItDown
β (multi-page)β Extracts endpoints & auth info
βββββββββββββββ
β
βΌ
βββββββββββββββ
β Generator β LLM generates OpenAPI specs
β (parallel) β for each endpoint
βββββββββββββββ
β
βΌ
βββββββββββββββ
β Validator β Validates against OpenAPI 3.1
β β Auto-retries on errors
βββββββββββββββ
β
βΌ
βββββββββββββββ
β Runner β FastMCP creates tools from spec
β β Handles auth & token refresh
βββββββββββββββ
Supported LLM Providers
- OpenRouter
- Anthropic
- OpenAI
- Gemini
Requirements
- Python 3.10-3.13
- API key for one of the supported LLM providers
Configuration
Config is stored in ~/.apitomcp/:
config.json- LLM provider settingsservers/<name>/- Generated server files
Limitations
This is a work in progress. The LLM-based operation extraction and auth detection aren't perfectβsome APIs may need manual tweaking of the generated spec. If you run into issues or have improvements, Issues/ PRs are welcome!
Contributing
Contributions are welcome! If you find a bug or have a feature request, please open an issue. Pull requests are also appreciatedβI'll review them as time allows.
Author
Built by @andrew_masek_
License
MIT
