MCP server by Attilio81
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