https://github.com/worryzyy/public-apis-mcp
让AI帮你挑选 Public APIs for free
https://github.com/worryzyy/public-apis-mcp
mcp
Last synced: 3 months ago
JSON representation
让AI帮你挑选 Public APIs for free
- Host: GitHub
- URL: https://github.com/worryzyy/public-apis-mcp
- Owner: worryzyy
- License: mit
- Created: 2025-05-31T15:11:25.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-06-03T02:53:30.000Z (6 months ago)
- Last Synced: 2025-08-09T00:12:58.795Z (4 months ago)
- Topics: mcp
- Language: TypeScript
- Homepage:
- Size: 42 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-zh.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - **public-apis-mcp** - 让AI帮你挑选 Public APIs for free `typescript` `mcp` `api` `ai` `python` `npm install worryzyy/public-apis-mcp` (🌐 Web Development)
README
# Public APIs MCP Server
[English](README.md) | 中文
一个基于 Model Context Protocol (MCP) 的公共 API 服务器,提供对 [public-apis](https://github.com/public-apis/public-apis) 数据库的智能访问和管理功能。
## 🚀 项目简介
Public APIs MCP Server 是一个专业的 MCP 服务器实现,旨在为开发者提供便捷的公共 API 发现、搜索和集成服务。通过标准化的 MCP 协议,您可以轻松地在各种 AI 助手和开发工具中集成丰富的公共 API 资源。
### 核心特性
- 🔍 **智能搜索**: 支持按分类、关键词、认证方式等多维度搜索 API
- 🛡️ **安全筛选**: 提供 HTTPS 支持、CORS 配置等安全性筛选
- 🎯 **智能推荐**: 基于项目需求智能推荐最适合的 API
- 💻 **代码生成**: 自动生成多种编程语言的 API 集成代码
- 📊 **统计分析**: 提供详细的 API 数据统计和分析
- 🔄 **实时同步**: 支持从 GitHub 仓库同步最新的 API 数据
## 📸 预览展示



## 📦 安装
### 环境要求
- Node.js >= 18.0.0
- npm >= 8.0.0
### 快速安装
```bash
# 克隆项目
git clone https://github.com/worryzyy/public-apis-mcp.git
cd public-apis-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 启动服务器
npm start
```
### 开发模式
```bash
# 开发模式启动(支持热重载)
npm run dev
```
## 🛠️ 使用方法
### 基本配置
服务器启动后,会通过标准输入/输出与 MCP 客户端进行通信。您可以在支持 MCP 协议的 AI 助手或开发工具中配置此服务器。
### MCP 客户端配置示例
```json
{
"mcpServers": {
"public-apis-mcp": {
"command": "node",
"args": ["path/to/public-apis-mcp/dist/index.js"]
}
}
}
```
或者
```json
{
"mcpServers": {
"public-apis-mcp": {
"command": "npx",
"args": ["-y", "@weilei_kyle/public-apis-mcp"]
}
}
}
```
## 🔧 可用工具
### API 搜索和发现
#### `search_apis_by_category`
根据分类搜索 API
**参数:**
- `category` (string, 必需): API 分类名称
- `limit` (number, 可选): 返回结果数量限制,默认 10
**示例:**
```javascript
{
"category": "Weather",
"limit": 5
}
```
#### `search_apis_by_keyword`
通过关键词搜索 API
**参数:**
- `keyword` (string, 必需): 搜索关键词
- `limit` (number, 可选): 返回结果数量限制,默认 10
#### `filter_apis_by_auth`
根据认证要求筛选 API
**参数:**
- `authType` (string, 必需): 认证类型 (`No`, `apiKey`, `OAuth`, `X-Mashape-Key`, `User-Agent`)
- `limit` (number, 可选): 返回结果数量限制,默认 10
#### `filter_apis_by_https`
筛选支持 HTTPS 的 API
**参数:**
- `httpsOnly` (boolean, 可选): 是否只返回支持 HTTPS 的 API,默认 true
- `limit` (number, 可选): 返回结果数量限制,默认 10
#### `filter_apis_by_cors`
筛选支持跨域访问的 API
**参数:**
- `corsSupport` (string, 必需): CORS 支持状态 (`yes`, `no`, `unknown`)
- `limit` (number, 可选): 返回结果数量限制,默认 10
### API 详情和统计
#### `get_api_details`
获取特定 API 的详细信息
**参数:**
- `apiName` (string, 必需): API 名称
#### `get_category_list`
获取所有可用的 API 分类列表
#### `get_random_api`
随机推荐一个 API
**参数:**
- `category` (string, 可选): 限制在特定分类内随机选择
#### `get_api_statistics`
获取 API 数量统计信息
#### `analyze_auth_requirements`
分析不同认证方式的 API 分布
### 智能推荐
#### `recommend_apis_for_project`
根据项目需求推荐合适的 API
**参数:**
- `projectType` (string, 必需): 项目类型描述
- `requirements` (array, 可选): 项目需求列表
- `limit` (number, 可选): 推荐 API 数量限制,默认 5
#### `find_alternative_apis`
寻找替代 API 选项
**参数:**
- `functionality` (string, 必需): 所需功能描述
- `limit` (number, 可选): 返回结果数量限制,默认 5
### 代码生成
#### `generate_api_integration_code`
为选定的 API 生成集成代码示例
**参数:**
- `apiName` (string, 必需): API 名称
- `language` (string, 可选): 编程语言 (`javascript`, `python`, `curl`),默认 javascript
### 数据管理
#### `sync_repository_data`
从 GitHub 仓库同步最新的 API 列表
> **重要说明**: 此接口目前采用手动同步机制,将 [public-apis](https://github.com/public-apis/public-apis) 仓库的最新数据同步到本地服务器。主要是保证数据的稳定性和访问速度。
**工作原理:**
- 手动触发从 GitHub 仓库拉取最新的 API 数据
- 将数据缓存到本地服务器,提高查询性能
- 支持增量更新和强制全量同步两种模式
- 同步完成后会返回详细的同步状态报告
**参数:**
- `force` (boolean, 可选): 是否强制重新同步,默认 false
- `false`: 仅在数据过期时进行增量同步
- `true`: 强制进行全量数据同步,忽略本地缓存
**使用建议:**
- 建议在首次使用前执行一次强制同步 (`force: true`)
- 日常使用中可定期执行增量同步以获取最新数据
- 如发现数据异常,可使用强制同步重置本地缓存
#### `check_new_apis`
检查最近添加的新 API
**参数:**
- `days` (number, 可选): 检查最近几天的新增 API,默认 7 天
## 📁 项目结构
```
public-apis-mcp/
├── src/
│ ├── index.ts # 主入口文件
│ ├── server/
│ │ └── server.ts # MCP服务器实现
│ ├── services/
│ │ ├── api-service.ts # API数据管理服务
│ │ ├── search-service.ts # 搜索功能服务
│ │ ├── tool-service.ts # 工具调用处理服务
│ │ ├── code-generation-service.ts # 代码生成服务
│ │ ├── recommendation-service.ts # 推荐算法服务
│ │ └── formatter-service.ts # 数据格式化服务
│ └── types/
│ └── api.ts # TypeScript类型定义
├── dist/ # 编译输出目录
├── package.json # 项目配置
├── tsconfig.json # TypeScript配置
└── README.md # 项目文档
```
## 🔧 开发
### 技术栈
- **TypeScript**: 类型安全的 JavaScript 超集
- **Node.js**: JavaScript 运行时环境
- **MCP SDK**: Model Context Protocol 软件开发工具包
- **Axios**: HTTP 客户端库
- **Zod**: TypeScript 优先的模式验证库
### 构建和测试
```bash
# 编译TypeScript
npm run build
# 运行测试
npm test
# 开发模式(热重载)
npm run dev
```
### 代码规范
项目遵循以下开发规范:
- 使用 TypeScript 进行类型安全开发
- 采用模块化架构设计
- 完善的错误处理机制
- 详细的代码注释和文档
## 🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!
### 贡献流程
1. Fork 本仓库
2. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开一个 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 🙏 致谢
- [public-apis](https://github.com/public-apis/public-apis) - 提供丰富的公共 API 数据源
## 📞 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 [GitHub Issue](https://github.com/worryzyy/public-apis-mcp/issues)
---
**注意**: 本项目仍在积极开发中,API 可能会发生变化。建议在生产环境使用前仔细测试。