About API To MCP
API To MCP is an MCP server published by portoaj in the Developer Tools category: convert any API documentation into an MCP server for Cursor.
The repository has 16 stars and 3 forks, with the last commit 9 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/portoaj/api-to-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about API To MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
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
README fetched from the repository 5 days ago. The original is authoritative.