Name | public-apis-mcp JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | MCP server exposing a catalog of free APIs with embedding-based lookups |
upload_time | 2025-08-17 15:04:32 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
mcp
model context protocol
public
free
api
apis
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
## Public APIs MCP
Catalog of free public APIs with semantic search.
## 🎯 Features
- `search_public_apis`: embedding-based search over API names and descriptions
- `get_public_api_details`: retrieve full details by `id`
- 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`
```json
{
"mcpServers": {
"public-apis": {
"command": "uvx",
"args": ["public-apis-mcp"]
}
}
}
```
## 🚀 Usage
- Build embeddings index (optional; auto-build on first search):
```bash
uvx public-apis-mcp build-index
```
- Run the MCP server over STDIO:
```bash
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:
```json
{ "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:
```json
{ "name": "get_public_api_details", "arguments": { "id": "a6b3a6b3-a6b3-a6b3-a6b3-a6b3a6b3a6b3" } }
```
## 🛠️ Development
Prerequisites:
- Python 3.10+
- uv (`https://docs.astral.sh/uv/`)
Setup:
```bash
uv sync --dev
```
Run tests:
```bash
FREE_APIS_MCP_TEST_MODE=1 uv run pytest -q
```
Lint and format:
```bash
uv run ruff check --fix
uv run ruff format
```
Type checking:
```bash
uv run mypy src/
```
### MCP Client Dev Config
```json
{
"mcpServers": {
"public-apis-dev": {
"command": "uv",
"args": [
"--directory",
"<abs_path>/public-apis-mcp",
"run",
"public-apis-mcp"
]
}
}
}
```
### Build and Try
```bash
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:
```bash
# 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](LICENSE) file for details.
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Raw data
{
"_id": null,
"home_page": null,
"name": "public-apis-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mcp, model context protocol, public, free, api, apis",
"author": null,
"author_email": "Alexander Galea <alex@galea.dev>",
"download_url": "https://files.pythonhosted.org/packages/e0/cc/aee2ce782201aaafdbb0029e2c3e15e41d65e6f7a3843e8a4be148c7de83/public_apis_mcp-0.1.0.tar.gz",
"platform": null,
"description": "## Public APIs MCP\n\nCatalog of free public APIs with semantic search.\n\n## \ud83c\udfaf Features\n\n- `search_public_apis`: embedding-based search over API names and descriptions\n- `get_public_api_details`: retrieve full details by `id`\n- Resources: `public-apis://apis`, `public-apis://api/{id}`\n\n## \ud83d\udd27 Setup (uv)\n\nAdd to MCP clients (e.g., Claude Desktop) using uv.\n\n### Claude Desktop\n\nmacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n \"mcpServers\": {\n \"public-apis\": {\n \"command\": \"uvx\",\n \"args\": [\"public-apis-mcp\"]\n }\n }\n}\n```\n\n## \ud83d\ude80 Usage\n\n- Build embeddings index (optional; auto-build on first search):\n```bash\nuvx public-apis-mcp build-index\n```\n- Run the MCP server over STDIO:\n```bash\nuvx public-apis-mcp run\n```\n\n## \ud83d\udccb Tool Reference\n\n### `search_public_apis`\n- Purpose: Semantic search over the catalog\n- Parameters: `query` (str), `limit` (int, default 5)\n- Returns: list of `{ id, name, score, snippet }`\n\nExample call payload:\n```json\n{ \"name\": \"search_public_apis\", \"arguments\": { \"query\": \"weather\", \"limit\": 5 } }\n```\n\n### `get_public_api_details`\n- Purpose: Fetch full details by `id`\n- Parameters: `id` (str)\n- Returns: `ApiItem`\n\nExample call payload:\n```json\n{ \"name\": \"get_public_api_details\", \"arguments\": { \"id\": \"a6b3a6b3-a6b3-a6b3-a6b3-a6b3a6b3a6b3\" } }\n```\n\n## \ud83d\udee0\ufe0f Development\n\nPrerequisites:\n- Python 3.10+\n- uv (`https://docs.astral.sh/uv/`)\n\nSetup:\n```bash\nuv sync --dev\n```\n\nRun tests:\n```bash\nFREE_APIS_MCP_TEST_MODE=1 uv run pytest -q\n```\n\nLint and format:\n```bash\nuv run ruff check --fix\nuv run ruff format\n```\n\nType checking:\n```bash\nuv run mypy src/\n```\n\n### MCP Client Dev Config\n\n```json\n{\n \"mcpServers\": {\n \"public-apis-dev\": {\n \"command\": \"uv\",\n \"args\": [\n \"--directory\",\n \"<abs_path>/public-apis-mcp\",\n \"run\",\n \"public-apis-mcp\"\n ]\n }\n }\n}\n```\n\n### Build and Try\n\n```bash\nuv build\nuv run --with dist/*.whl public-apis-mcp --help\n```\n\n\n## \ud83d\udce6 Data & Index\n\n- Data: `src/public_apis_mcp/datastore/free_apis.json`\n- Embedding index: `src/public_apis_mcp/datastore/index.npz` (auto-built)\n\n## Testing with MCP Inspector\n\nFor exploring and/or developing this server, use the MCP Inspector npm utility:\n\n```bash\n# Install MCP Inspector\nnpm install -g @modelcontextprotocol/inspector\n\n# Run local development server with the inspector\nnpx @modelcontextprotocol/inspector uv run public-apis-mcp\n\n# Run PyPI production server with the inspector\nnpx @modelcontextprotocol/inspector uvx public-apis-mcp\n```\n\n\n## \ud83d\udcdd License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n",
"bugtrack_url": null,
"license": "MIT License\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n ",
"summary": "MCP server exposing a catalog of free APIs with embedding-based lookups",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/zazencodes/public-apis-mcp/blob/main/CHANGELOG.md",
"Homepage": "https://pypi.org/project/public-apis-mcp/",
"Repository": "https://github.com/zazencodes/public-apis-mcp"
},
"split_keywords": [
"mcp",
" model context protocol",
" public",
" free",
" api",
" apis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a46263003ae1db6f86ed444e247e0e723e97a10a1f72df9a7f34b588bde66783",
"md5": "aba18e3e5a41b9d2ec5574fe98cc2045",
"sha256": "73d8bdcc3084b6c272f6340957faeb8c2edb8c9ed1a3e689407d5ee3e9d024d1"
},
"downloads": -1,
"filename": "public_apis_mcp-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aba18e3e5a41b9d2ec5574fe98cc2045",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 2129391,
"upload_time": "2025-08-17T15:04:30",
"upload_time_iso_8601": "2025-08-17T15:04:30.765468Z",
"url": "https://files.pythonhosted.org/packages/a4/62/63003ae1db6f86ed444e247e0e723e97a10a1f72df9a7f34b588bde66783/public_apis_mcp-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0ccaee2ce782201aaafdbb0029e2c3e15e41d65e6f7a3843e8a4be148c7de83",
"md5": "d509a53187afe6293b3c6e4383f1b770",
"sha256": "7ac1c58d7fea86370d80c9cb5ca314e2d24036d01b1e69ecbe57e889f75a77bd"
},
"downloads": -1,
"filename": "public_apis_mcp-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d509a53187afe6293b3c6e4383f1b770",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 2128195,
"upload_time": "2025-08-17T15:04:32",
"upload_time_iso_8601": "2025-08-17T15:04:32.518318Z",
"url": "https://files.pythonhosted.org/packages/e0/cc/aee2ce782201aaafdbb0029e2c3e15e41d65e6f7a3843e8a4be148c7de83/public_apis_mcp-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-17 15:04:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zazencodes",
"github_project": "public-apis-mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "public-apis-mcp"
}