README-zh.md•10.2 kB
# MCP 推荐器
一个智能的 MCP(模型上下文协议)服务器,基于您的开发需求提供其他 MCP 服务器的智能推荐。
## 项目简介
MCP 推荐器是一个专门为开发者设计的智能推荐系统,它能够根据您的自然语言描述,从庞大的 MCP 服务器数据库中找到最适合您需求的服务器。无论您是在寻找数据库操作工具、文件管理服务,还是 API 集成解决方案,MCP 推荐器都能为您提供精准的建议。
### 核心特性
- 🔍 **智能搜索**: 使用自然语言查询找到相关的 MCP 服务器
- 📊 **丰富数据库**: 包含 874+ 个精心整理的 MCP 服务器,涵盖 36+ 个分类
- 🎯 **智能匹配**: 先进的评分算法确保推荐结果的相关性
- 🏷️ **分类过滤**: 支持按特定分类和编程语言进行过滤
- 🚀 **简易集成**: 使用 uv 包管理器轻松安装和部署
- 🔧 **多种接口**: 支持命令行界面和 MCP 客户端集成
- 🛠️ **现代工具链**: 完全支持 uv 工作流,解决了所有 asyncio 冲突问题
### 支持的分类
推荐器涵盖 36+ 个分类,包括:
- **开发工具** (120+ 个服务器)
- **数据库** (79+ 个服务器)
- **搜索与数据提取** (69+ 个服务器)
- **云平台** (39+ 个服务器)
- **安全** (39+ 个服务器)
- **通信** (36+ 个服务器)
- **浏览器自动化** (23+ 个服务器)
- **知识与记忆** (22+ 个服务器)
- 以及更多...
## 部署指南
### 环境要求
- Python 3.10 或更高版本
- uv 包管理器(推荐)或 pip
### 方式一:使用 uv(推荐)
```bash
# 1. 克隆项目
git clone https://github.com/mcp-team/mcp-recommender.git
cd mcp-recommender
# 2. 使用 uv 安装依赖
uv sync
# 3. 测试安装
uv run -m mcp_recommender --test
```
### 方式二:使用 pip
```bash
# 1. 克隆项目
git clone https://github.com/mcp-team/mcp-recommender.git
cd mcp-recommender
# 2. 创建虚拟环境(可选但推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 3. 安装依赖
pip install -e .
# 4. 测试安装
python -m mcp_recommender --test
```
### 方式三:从 PyPI 安装
```bash
# 直接安装(当包发布到 PyPI 后)
pip install mcp-recommender
# 测试安装
python -m mcp_recommender --test
```
### 验证安装
成功安装后,您应该看到类似以下的输出:
```
MCP推荐器测试模式
已加载 874 个MCP服务器
支持的功能:
- recommend: 根据关键词推荐MCP服务器
- list_categories: 列出所有分类
- get_functional_keywords: 获取功能关键词
分类统计 (共36个分类):
Developer Tools: 120个
Other Tools and Integrations: 120个
Finance & Fintech: 99个
...
测试完成!
```
## 使用示例
### 命令行使用
#### 1. 测试模式
```bash
# 验证安装并查看示例推荐
uv run -m mcp_recommender --test
```
#### 2. 服务器模式
```bash
# 启动 MCP 服务器
uv run -m mcp_recommender --server
```
#### 3. 调试模式
```bash
# 获取详细的诊断信息
uv run -m mcp_recommender --debug
```
### MCP 客户端集成
#### Claude Desktop 配置
在 Claude Desktop 的配置文件中添加以下配置:
```json
{
"mcpServers": {
"mcp-recommender": {
"isActive": true,
"name": "mcp-recommender",
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"C:/Users/你的用户名/Desktop/MCP-3/mcp-recommender",
"run",
"-m",
"mcp_recommender"
]
}
}
}
```
#### 其他 MCP 客户端配置
```json
{
"servers": {
"mcp-recommender": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-recommender",
"run",
"-m",
"mcp_recommender"
],
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}
```
### 可用工具
集成后,您可以在 MCP 客户端中使用以下工具:
#### `recommend_mcp` - 获取智能推荐
根据您的需求获取 MCP 服务器推荐。
**参数:**
- `query` (字符串): 描述您需要的功能
- `limit` (整数,可选): 最大推荐数量(默认:5)
- `category` (字符串,可选): 按特定分类过滤
- `language` (字符串,可选): 按编程语言过滤
**使用示例:**
```javascript
// 基础搜索
recommend_mcp("数据库操作")
// 指定数量和分类
recommend_mcp("SQLite 数据库操作", 3, "Databases")
// 按编程语言过滤
recommend_mcp("网页抓取", 5, null, "Python")
// 复杂查询
recommend_mcp("需要一个能够处理 JSON 数据并提供 REST API 的工具")
```
**返回示例:**
```
### Top 3 MCP Recommendations for 'SQLite 数据库操作':
**1. modelcontextprotocol/server-sqlite**
* **Category:** Databases
* **Description:** SQLite database operations with built-in analysis features
* **GitHub:** [https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite](https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite)
* **Relevance Score:** 25
**2. FreePeak/db-mcp-server**
* **Category:** Databases
* **Description:** performance multi-database MCP server built with Golang
* **GitHub:** [https://github.com/FreePeak/db-mcp-server](https://github.com/FreePeak/db-mcp-server)
* **Relevance Score:** 18
```
#### `list_categories` - 列出所有分类
获取所有可用的 MCP 分类及其服务器数量。
**使用示例:**
```javascript
list_categories()
```
**返回示例:**
```
### Available MCP Categories:
1. **Developer Tools** (120 MCPs)
2. **Other Tools and Integrations** (120 MCPs)
3. **Finance & Fintech** (99 MCPs)
4. **Databases** (79 MCPs)
5. **Search & Data Extraction** (69 MCPs)
...
**Total:** 874 MCPs across 36 categories
```
#### `get_functional_keywords` - 获取功能关键词
查看可用的功能关键词映射,帮助您获得更好的搜索结果。
**使用示例:**
```javascript
get_functional_keywords()
```
**返回示例:**
```
### Functional Keywords Mapping:
Use these terms in your queries for better results:
**Database Operations:**
- Keywords: sql, database, query, sqlite, mysql, postgresql, mongodb (and 8 more)
**File Management:**
- Keywords: file, directory, filesystem, upload, download, storage (and 5 more)
**Web Services:**
- Keywords: api, rest, http, web, service, endpoint (and 7 more)
```
### 实际使用场景
#### 场景 1: 寻找数据库解决方案
```javascript
// 查询
recommend_mcp("我需要一个支持 PostgreSQL 的数据库管理工具", 5, "Databases")
// 可能的推荐结果包括:
// - PostgreSQL MCP servers
// - 通用数据库管理工具
// - 数据库迁移工具
```
#### 场景 2: 文件处理需求
```javascript
// 查询
recommend_mcp("批量处理 CSV 文件并转换为 JSON", 3)
// 可能的推荐结果包括:
// - 文件转换工具
// - CSV 处理服务器
// - 数据格式转换工具
```
#### 场景 3: API 集成
```javascript
// 查询
recommend_mcp("需要调用第三方 REST API 并处理响应", 5, null, "Python")
// 可能的推荐结果包括:
// - HTTP 客户端工具
// - API 集成服务器
// - 网络请求处理工具
```
#### 场景 4: 开发工具
```javascript
// 查询
recommend_mcp("代码格式化和静态分析工具")
// 可能的推荐结果包括:
// - 代码质量检查工具
// - 格式化服务器
// - 静态分析工具
```
## 开发指南
### 开发环境设置
```bash
# 1. 克隆项目
git clone https://github.com/mcp-team/mcp-recommender.git
cd mcp-recommender
# 2. 安装开发依赖
uv sync --dev
# 3. 运行测试
uv run pytest
# 4. 构建包
uv build
```
### 项目结构
```
mcp-recommender/
├── mcp_recommender/ # 主包
│ ├── __init__.py
│ ├── __main__.py # CLI 入口点
│ ├── server.py # MCP 服务器实现
│ └── data/ # MCP 数据库和关键词
│ ├── mcp_database.json
│ └── functional_keywords.json
├── scripts/ # 构建和发布脚本
│ ├── build.py
│ └── prepare_release.py
├── tests/ # 测试套件
├── LICENSE # MIT 许可证
├── README.md # 英文文档
├── README-zh.md # 中文文档(本文件)
└── pyproject.toml # 包配置
```
### 构建和发布
```bash
# 构建包
python scripts/build.py
# 检查发布准备
python scripts/prepare_release.py
# 发布到 PyPI
uv publish
```
## 故障排除
### 常见问题
#### 1. BufferedWriter 属性错误
**错误**: `'_io.BufferedWriter' object has no attribute 'buffer'`
**解决方案**: 这个问题已经在最新版本中修复。确保使用最新的代码。
#### 2. AsyncIO 冲突
**错误**: `Already running asyncio in this thread`
**解决方案**: 已修复。服务器会自动检测现有事件循环并适配。
#### 3. 编码问题
**错误**: 字符编码相关错误
**解决方案**:
```bash
# Windows 环境
set PYTHONIOENCODING=utf-8
# PowerShell
$env:PYTHONIOENCODING="utf-8"
```
#### 4. 导入错误
**错误**: 模块导入失败
**解决方案**:
```bash
# 重新安装依赖
uv sync
# 或手动安装
pip install mcp fastmcp
```
### 获取帮助
- 📖 [项目文档](https://github.com/mcp-team/mcp-recommender#readme)
- 🐛 [问题反馈](https://github.com/mcp-team/mcp-recommender/issues)
- 💬 [讨论区](https://github.com/mcp-team/mcp-recommender/discussions)
## 贡献指南
我们欢迎社区贡献!请遵循以下步骤:
1. Fork 项目仓库
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 开启 Pull Request
## 许可证
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
## 致谢
- 基于 [FastMCP](https://github.com/jlowin/fastmcp) 框架构建
- MCP 数据库来源于优秀的 MCP 社区
- 由 [模型上下文协议](https://modelcontextprotocol.io/) 驱动
---
由 MCP 社区用 ❤️ 制作