Catalog of free public APIs with semantic search.
The catalog includes an extensive list of APIs from the public-apis GitHub repo.
Thank you to all the maintainers, contributors and API creators! 💯
search_public_apis: embedding-based search over API names and descriptionsget_public_api_details: retrieve full details byid- Resources:
public-apis://apis,public-apis://api/{id}
Add to MCP clients (e.g., Claude Desktop) using uv.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"public-apis": {
"command": "uvx",
"args": ["public-apis-mcp"]
}
}
}- Build embeddings index (optional; auto-build on first search):
uvx public-apis-mcp build-index- Run the MCP server over STDIO:
uvx public-apis-mcp run- Purpose: Semantic search over the catalog
- Parameters:
query(str),limit(int, default 5) - Returns: list of
{ id, name, score, snippet }
Example call payload:
{ "name": "search_public_apis", "arguments": { "query": "weather", "limit": 5 } }- Purpose: Fetch full details by
id - Parameters:
id(str) - Returns:
ApiItem
Example call payload:
{ "name": "get_public_api_details", "arguments": { "id": "a6b3a6b3-a6b3-a6b3-a6b3-a6b3a6b3a6b3" } }Prerequisites:
- Python 3.10+
- uv (
https://docs.astral.sh/uv/)
Setup:
uv sync --devRun tests:
FREE_APIS_MCP_TEST_MODE=1 uv run pytest -qLint and format:
uv run ruff check --fix
uv run ruff formatType checking:
uv run mypy src/{
"mcpServers": {
"public-apis-dev": {
"command": "uv",
"args": [
"--directory",
"<abs_path>/public-apis-mcp",
"run",
"public-apis-mcp"
]
}
}
}uv build
uv run --with dist/*.whl public-apis-mcp --help- Data:
src/public_apis_mcp/datastore/free_apis.json - Embedding index:
src/public_apis_mcp/datastore/index.npz(auto-built)
For exploring and/or developing this server, use the MCP Inspector npm utility:
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run local development server with the inspector
npx @modelcontextprotocol/inspector uv run public-apis-mcp
# Run PyPI production server with the inspector
npx @modelcontextprotocol/inspector uvx public-apis-mcpMIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.