Public APIs MCP
Provides access to a catalog of free public APIs sourced from the public-apis GitHub repository, enabling semantic search and detailed retrieval of API information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Public APIs MCPfind APIs for currency exchange rates"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Public APIs MCP
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! 💯
Related MCP server: MCP Server: Scalable OpenAPI Endpoint Discovery and API Request Tool
🎯 Features
search_public_apis: embedding-based search over API names and descriptionsget_public_api_details: retrieve full details byidResources:
public-apis://apis,public-apis://api/{id}
🔧 Setup (uv)
Add to MCP clients (e.g., Claude Desktop) using uv.
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"public-apis": {
"command": "uvx",
"args": ["public-apis-mcp"]
}
}
}🚀 Usage
Build embeddings index (optional; auto-build on first search):
uvx public-apis-mcp build-indexRun the MCP server over STDIO:
uvx public-apis-mcp run📋 Tool Reference
search_public_apis
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 } }get_public_api_details
Purpose: Fetch full details by
idParameters:
id(str)Returns:
ApiItem
Example call payload:
{ "name": "get_public_api_details", "arguments": { "id": "a6b3a6b3-a6b3-a6b3-a6b3-a6b3a6b3a6b3" } }🛠️ Development
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/MCP Client Dev Config
{
"mcpServers": {
"public-apis-dev": {
"command": "uv",
"args": [
"--directory",
"<abs_path>/public-apis-mcp",
"run",
"public-apis-mcp"
]
}
}
}Build and Try
uv build
uv run --with dist/*.whl public-apis-mcp --help📦 Data & Index
Data:
src/public_apis_mcp/datastore/free_apis.jsonEmbedding index:
src/public_apis_mcp/datastore/index.npz(auto-built)
Testing with MCP Inspector
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-mcp📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zazencodes/public-apis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server