内容
<div align="center">
# 公共 API 服务器
**赋予您的 AI 编程代理查找、测试和集成 1,500 多个免费公共 API 的能力 — 即时生效。**
[](LICENSE)
[](https://modelcontextprotocol.io)
[](https://claude.ai)
[](https://cursor.sh)
[](https://codeium.com/windsurf)
[](https://github.com/cline/cline)
数据来源于社区维护的 [public-apis](https://github.com/public-apis/public-apis) 列表 · 每天同步
</div>
---
## 这是什么?
一个 [MCP (Model Context Protocol)](https://modelcontextprotocol.io) 服务器,为 AI 编程代理提供对 public-apis 数据集的实时访问。您的代理可以搜索、测试和生成工作代码 — 所有操作都在一次对话中完成。
```
您: "为我找一个免费的天气 API,无需身份验证,支持 HTTPS"
代理: [调用 search_apis] → 返回顶部匹配结果,包含身份验证/HTTPS/CORS 详细信息
您: "测试第一个 — 显示响应结果"
代理: [调用 probe_api] → 进行实时 GET 请求,返回状态 + 响应形状
您: "为它生成一个 axios 代码片段"
代理: [调用 generate_snippet] → 准备好粘贴的 curl、fetch 和 axios 代码
```
---
## 安装
选择您的客户端配置文件并粘贴进去。不需要构建步骤 — `npx` 处理所有事情。
<details>
<summary><strong>Claude Desktop</strong></summary>
文件: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
文件: `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
```json
{
"mcpServers": {
"public-apis": {
"command": "npx",
"args": ["mcp-public-apis"]
}
}
}
```
</details>
<details>
<summary><strong>Cursor</strong></summary>
文件: `.cursor/mcp.json` 在您的项目根目录(或全局 `~/.cursor/mcp.json`)
```json
{
"mcpServers": {
"public-apis": {
"command": "npx",
"args": ["mcp-public-apis"]
}
}
}
```
</details>
<details>
<summary><strong>Windsurf</strong></summary>
文件: `~/.codeium/windsurf/mcp_config.json`
```json
{
"mcpServers": {
"public-apis": {
"command": "npx",
"args": ["mcp-public-apis"]
}
}
}
```
</details>
<details>
<summary><strong>Cline (VS Code)</strong></summary>
打开 VS Code → Cline 边栏 → **MCP Servers** 选项卡 → **Add Server** → 粘贴:
```json
{
"public-apis": {
"command": "npx",
"args": ["mcp-public-apis"]
}
}
```
</details>
<details>
<summary><strong>本地构建</strong></summary>
```bash
git clone https://github.com/josephsenior/pblic-apis-mcp-server
cd pblic-apis-mcp-server
npm install
npm run build
node dist/index.js
```
</details>
---
## 工具
| 工具 | 功能 | 关键参数 |
|---|---|---|
| `search_apis` | 模糊搜索 1,500 多个 API,按关键词、类别、身份验证类型和 HTTPS | `query`, `category`, `auth`, `httpsOnly`, `limit` |
| `get_categories` | 列出每个类别及其 API 数量 | — |
| `get_api_detail` | 按名称获取一个 API 的完整记录 | `name` |
| `probe_api` | 对任何端点进行实时 HTTP GET — 返回状态、延迟和响应预览 | `url`, `apiKey`, `timeoutMs` |
| `compare_apis` | 某一类别中所有 API 的并排视图 | `category`, `limit` |
| `find_no_auth_apis` | 仅需零身份验证的 API | `category`, `httpsOnly`, `limit` |
| `generate_snippet` | 可粘贴的 `curl`, `fetch` 和 `axios` 代码片段 | `url`, `apiKey`, `headers` |
### `search_apis` 参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| `query` | 字符串 | — | 模糊匹配 API 名称和描述 |
| `category` | 字符串 | — | 精确类别名称(使用 `get_categories` 浏览) |
| `auth` | `"No"` \| `"apiKey"` \| `"OAuth"` | — | 按身份验证要求过滤 |
| `httpsOnly` | 布尔值 | `true` | 排除非 HTTPS API |
| `limit` | 数字 | `5` | 最大结果数(1–20) |
---
## 工作原理
```
MCP 客户端(Claude / Cursor / 等)
│ JSON-RPC via stdio
▼
mcp-public-apis 服务器
│
├─ 内存缓存(24 小时 TTL)
│
└─ GitHub raw · public-apis/public-apis README.md
```
1. 服务器首次使用时,会从 GitHub 获取 public-apis README,解析每个 Markdown 表格行成结构化的 `PublicAPI` 对象,并将它们存储在 24 小时的内存缓存中。
2. 所有搜索和筛选操作都在本地缓存上运行 — 每个查询无需外部调用。
3. `probe_api` 是唯一一个向第三方端点(您明确传入的端点)发送请求的工具。
---
## 数据源
所有 API 记录均来自 [public-apis/public-apis](https://github.com/public-apis/public-apis) — 一个社区维护的 1,500 多个免费 API 的列表,涵盖 60 多个类别。数据每 24 小时刷新一次。
---
## 许可证
[MIT](LICENSE)