MCP Advisor 是一个发现和推荐服务,帮助AI助手通过自然语言查询探索模型上下文协议(MCP)服务器。它使用户更容易找到并利用适合特定任务的MCP工具。
发现与推荐MCP服务器
"查找用于保险风险分析的MCP服务器"安装与配置MCP服务器
"安装这个MCP: https://github.com/Deepractice/PromptX"https://github.com/user-attachments/assets/7a536315-e316-4978-8e5a-e8f417169eb1
一旦配置完成,Nacos提供程序将在搜索MCP服务器时自动启用和使用。您可以使用自然语言进行查询,例如:
查找用于保险风险分析的MCP服务器
或者更具体地:
查找具有自然语言处理能力的MCP服务器
最快的方式是通过MCP配置集成MCP Advisor:
{
"mcpServers": {
"mcpadvisor": {
"command": "npx",
"args": ["-y", "@xiaohui-wang/mcpadvisor"]
}
}
}
将此配置添加到您的AI助手的MCP设置文件中:
~/Library/Application Support/Claude/claude_desktop_config.json%AppData%\Claude\claude_desktop_config.json要通过 Smithery 自动安装Advisor for Claude Desktop:
npx -y @smithery/cli install @istarwyh/mcpadvisor --client claude
有关更多安装方法和详细配置,请参阅 快速入门指南。
为了提升推荐质量,可以运行一个本地的 Meilisearch 实例:
pnpm meilisearch:start
这会在 http://localhost:7700 启动 Meilisearch,并从本地数据引导 mcp_servers 索引,同时将环境变量持久化到 ~/.meilisearch/env。在当前shell中加载它们:
source ~/.meilisearch/env
或者在启动 MCPAdvisor 时通过单个标志自动启用(无需手动设置环境变量):
{
"mcpServers": {
"mcpadvisor": {
"command": "npx",
"args": ["-y", "@xiaohui-wang/mcpadvisor", "--local-meilisearch"]
}
}
}
MCP Advisor 采用模块化架构,清晰地分离关注点并遵循函数式编程原则。代码库最近进行了重构(2025年),以提高可维护性和可扩展性:
graph TD
Client["客户端应用程序"] --> |"MCP 协议"| Transport["传输层"]
subgraph "MCP Advisor 服务器"
Transport --> |"请求"| SearchService["搜索服务"]
SearchService --> |"查询"| Providers["搜索提供程序"]
subgraph "搜索提供程序"
Providers --> MeilisearchProvider["Meilisearch 提供程序"]
Providers --> GetMcpProvider["GetMCP 提供程序"]
Providers --> CompassProvider["Compass 提供程序"]
Providers --> NacosProvider["Nacos 提供程序"]
Providers --> OfflineProvider["离线提供程序"]
end
OfflineProvider --> |"混合搜索"| HybridSearch["混合搜索引擎"]
HybridSearch --> TextMatching["文本匹配"]
HybridSearch --> VectorSearch["向量搜索"]
SearchService --> |"合并与过滤"| ResultProcessor["结果处理器"]
SearchService --> Logger["日志系统"]
end
代码库遵循干净架构原则,具有组织良好的目录结构:
src/
├── services/
│ ├── core/ # 核心业务逻辑
│ │ ├── installation/ # 安装指南服务
│ │ ├── search/ # 搜索提供程序
│ │ └── server/ # MCP 服务器实现
│ ├── providers/ # 外部服务提供程序
│ │ ├── meilisearch/ # Meilisearch 集成
│ │ ├── nacos/ # Nacos 服务发现
│ │ ├── oceanbase/ # OceanBase 向量数据库
│ │ └── offline/ # 离线搜索引擎
│ ├── common/ # 共享实用工具
│ │ ├── api/ # API 客户端
│ │ ├── cache/ # 缓存机制
│ │ └── vector/ # 向量操作
│ └── interfaces/ # 类型定义
├── types/ # TypeScript 类型定义
├── utils/ # 工具函数
└── tests/ # 测试套件
├── unit/ # 单元测试
├── integration/ # 集成测试
└── e2e/ # 端到端测试
搜索服务层
搜索提供程序
混合搜索策略
传输层
有关更详细的架构文档,请参阅 ARCHITECTURE.md。
pnpm install
pnpm run build
MCP Advisor 包含全面的测试套件,以确保代码质量和功能。有关单元测试、集成测试、端到端测试和手动测试过程的详细信息,请参阅 技术参考。
运行全面测试:
# 运行所有测试
pnpm run check && pnpm run test && pnpm run test:e2e
# 自动化E2E测试脚本
./scripts/run-e2e-test.sh
有关详细测试信息,请参阅 技术参考。
import { SearchService } from '@xiaohui-wang/mcpadvisor';
// 初始化搜索服务
const searchService = new SearchService();
// 搜索MCP服务器
const results = await searchService.search('向量数据库集成');
console.log(results);
MCP Advisor 支持多种传输方式:
有关更多开发详情,请参阅 贡献指南。
我们欢迎对 MCP Advisor 的贡献!
这里有一些可以与 MCP Advisor 一起使用的示例查询:
"查找用于自然语言处理的MCP服务器"
"文档总结MCP服务器"
[
{
"标题": "NLP 工具包",
"描述": "综合性的自然语言处理工具包,具备情感分析、实体识别和文本总结功能。",
"github_url": "https://github.com/example/nlp-toolkit",
"相似度": 0.92
},
{
"标题": "文本处理器",
"描述": "高效的文本处理MCP服务器,支持多语言。",
"github_url": "https://github.com/example/text-processor",
"相似度": .85
}
]
有关更多示例和高级用法,请参阅 技术参考。
连接被拒绝
没有返回结果
性能问题
有关更多故障排除信息,请参阅 TROUBLESHOOTING.md。
MCP Advisor 支持多个搜索提供程序,可以同时使用:
有关搜索提供程序的详细信息,请参阅 技术参考。
MCP Advisor 正从一个简单的推荐系统演变为一个智能代理编排平台。我们的愿景是创建一个不仅推荐正确的MCP服务器,而且还能从交互中学习并帮助代理动态规划和执行复杂任务的系统。