article
README
🚀 公共API MCP
这是一个带有语义搜索功能的免费公共API目录。该目录包含了来自 public-apis GitHub仓库的大量API列表。感谢所有的维护者、贡献者和API创建者!💯
✨ 主要特性
search_public_apis:基于嵌入向量的API名称和描述搜索功能。get_public_api_details:通过id检索API的完整详细信息。- 资源:
public-apis://apis,public-apis://api/{id}
📦 安装指南 (uv)
使用uv将其添加到MCP客户端(例如Claude Desktop)。
Claude Desktop
macOS系统:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"public-apis": {
"command": "uvx",
"args": ["public-apis-mcp"]
}
}
}
🚀 快速开始
- 构建嵌入向量索引(可选;首次搜索时会自动构建):
uvx public-apis-mcp build-index
- 通过标准输入输出运行MCP服务器:
uvx public-apis-mcp run
📚 详细文档
工具参考
search_public_apis
- 用途:对目录进行语义搜索。
- 参数:
query(字符串类型),limit(整数类型,默认值为5)。 - 返回值:
{ id, name, score, snippet }列表。
示例调用负载:
{ "name": "search_public_apis", "arguments": { "query": "weather", "limit": 5 } }
get_public_api_details
- 用途:通过
id获取完整详细信息。 - 参数:
id(字符串类型)。 - 返回值:
ApiItem。
示例调用负载:
{ "name": "get_public_api_details", "arguments": { "id": "a6b3a6b3-a6b3-a6b3-a6b3-a6b3a6b3a6b3" } }
开发
前提条件
- Python 3.10 及以上版本。
- uv (
https://docs.astral.sh/uv/)
安装设置
uv sync --dev
运行测试
FREE_APIS_MCP_TEST_MODE=1 uv run pytest -q
代码检查和格式化
uv run ruff check --fix
uv run ruff format
类型检查
uv run mypy src/
MCP客户端开发配置
{
"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
数据与索引
- 数据:
src/public_apis_mcp/datastore/free_apis.json - 嵌入向量索引:
src/public_apis_mcp/datastore/index.npz(自动构建)
使用MCP Inspector进行测试
若要探索和/或开发此服务器,请使用MCP Inspector npm实用工具:
# 安装MCP Inspector
npm install -g @modelcontextprotocol/inspector
# 使用检查器运行本地开发服务器
npx @modelcontextprotocol/inspector uv run public-apis-mcp
# 使用检查器运行PyPI生产服务器
npx @modelcontextprotocol/inspector uvx public-apis-mcp
📄 许可证
本项目采用MIT许可证,详情请参阅 LICENSE 文件。
🤝 贡献
欢迎贡献代码!请随时提交拉取请求。
微信扫一扫