Public Apis Mcp
zazencodes/public-apis-mcp · 10 stars · Python · MIT
MCP server MCP server exposing a catalog of free APIs with embedding-based lookups
Install
The repo has no one-line install. Follow its README.
Files
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! 💯
🎯 Features
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}
🔧 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-index
- Run 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
id - Parameters:
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 --dev
Run tests:
FREE_APIS_MCP_TEST_MODE=1 uv run pytest -q
Lint and format:
uv run ruff check --fix uv run ruff format
Type 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.json - Embedding 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.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 10
- License
- MIT
- Language
- Python
- Last push
- 2025-09-08
- Forks
- 3
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k