MCP Public APIs
An MCP server that indexes the public-apis catalogue and lets an LLM query it by category, auth type, HTTPS support, CORS, and keyword — without browsing the README manually.
Why
Without this MCP, an LLM recommending a public API has to guess or ask the user to check manually. With it, the LLM can say:
"I need a Books API, HTTPS, no auth, CORS-enabled for your React app."→
query_apis(category="Books", no_auth=True, https=True, cors="yes")
Tools
| Tool | Description |
|---|---|
list_categories |
Returns all available API categories (Animals, Finance, …) |
query_apis |
Filters the index by keyword, category, auth, HTTPS, CORS |
update_index |
Re-downloads the README and rebuilds the index |
query_apis parameters
| Parameter | Type | Description |
|---|---|---|
keyword |
str |
Substring match on name or description |
category |
str |
Exact category (case-insensitive) |
auth |
str |
"apiKey", "OAuth", "" (none), etc. |
no_auth |
bool |
Shortcut: APIs that need no authentication |
https |
bool |
True = HTTPS only, False = HTTP only |
cors |
str |
"yes", "no", "unknown" |
Installation
cd MCP_PUBLIC_APIS
pip install -e .
Running
mcp-public-apis
Or add it to your MCP client config:
{
"mcpServers": {
"public-apis": {
"command": "mcp-public-apis"
}
}
}
Development
pip install -e ".[dev]"
pytest
Data Source
The index is built from the raw README.md of public-apis/public-apis on GitHub, which lists ~1400 public APIs organised into ~80 categories. The schema mirrors the README table exactly:
name · url · description · auth · https · cors · category