使用说明
MCP服务器集成
这个存储库包含我尝试过的所有MCP(模型上下文协议)服务器的完整列表。每个服务器都被设计为执行特定的功能,并在MCP框架内进行兼容性测试。
索引
经过测试的MCP服务器
1.Brave Search MCP服务器
- 目的:使用Brave的搜索引擎执行实时搜索查询。
- 状态:工作
- 用例:通用网络搜索,特别是以隐私为重点的搜索结果。
- 备注:
- 快速响应。
- 有时会受到请求配额的限制。
- 您需要提供API密钥。
从以下位置获取勇敢搜索API密钥:
- 注册一个 https://brave.com/search/api/
- 选择一个计划(免费套餐每月可查询2000次)
- 从开发者面板生成API密钥
Brave搜索服务器配置
以下是Brave Search MCP服务器在 mcpServers JSON块:
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "API KEY"
}
}
}
2.Tavily搜索MCP服务器
- 目的:使用Tavilly API进行结构化和简洁的网络搜索。
- 状态:工作
- 用例:有助于检索增强生成(RAG)管道。
- 备注:
- 比Brave更有条理。
- 适合直接总结答案。
- 您需要提供API密钥。
从以下位置获取Tavilly Search API密钥:
- 注册一个 https://www.tavily.com/
- 您的API密钥将显示在API访问下的仪表板上
Tavily服务器配置
"mcpServers": {
"tavily-mcp": {
"command": "npx",
"args": ["-y", "tavily-mcp@0.1.2"],
"env": {
"TAVILY_API_KEY": "API KEY"
}
}
}
3.获取MCP服务器
- 目的:从外部URL或API获取基于HTTP GET/POST的通用数据。
- 状态:工作
- 用例:可用于抓取或调用任意REST API。
- 备注:
- 灵活,但需要请求配置。
- 需要验证速率限制和标头。
获取服务器配置
"mcpServers": {
"fetch": {
"command": "python",
"args": ["-m", "mcp_server_fetch"]
}
}
备注:必须先安装Fetch MCP服务器,然后才能运行它。
安装
使用pip安装服务器:
pip install mcp-server-fetch
4.谷歌地图MCP服务器
- 目的:从谷歌地图API获取地理位置、方向或位置数据。
- 状态:工作(需要API密钥)
- 用例:基于位置的查询、方向、附近地点。
- 备注:
- 需要Google Cloud帐单和API密钥。
- 配额可能适用。
- 您需要提供API密钥。
从以下位置获取您的Google Maps API密钥:
- 转到 https://console.cloud.google.com/,创建一个项目,并启用所需的Maps API(如Maps JavaScript API、Geocoding API等)。
- 转到API和服务→ 凭据,单击“创建凭据”→ “API密钥”,并复制生成的密钥。
- (可选)设置计费并限制密钥以确保安全(推荐)。
谷歌地图服务器配置
"mcpServers": {
"google-maps": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-google-maps"
],
"env": {
"GOOGLE_MAPS_API_KEY": "API KEY"
}
}
}
5.顺序思维MCP服务器
- 目的:通过子代理执行实现思维链或多步推理。
- 状态:工作
- 用例:需要中间推理或工具调用的任务。
- 备注:
- 与嵌套计划配合使用效果良好。
- 支持递归工具调用。
顺序思维服务器配置
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
}
}
6.天气MCP
这是一个简单的MCP服务器,它使用 weather.gov API获取美国各地的当前天气状况和预报。
- 目的:使用外部天气API获取当前天气和预报。
- 状态:工作
- 用例:每日天气更新、旅行计划等。
- 备注:
- 需要城市名称或纬度/经度。
- 扩展数据可能需要API密钥。
天气服务器配置
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"path/to/weather_server.py"
]
}
}
7.Slack MCP服务器
- 目的:使用Slack Web API向Slack频道或用户发送消息、警报或更新。
- 状态:工作
- 用例:非常适合通过RAG管道或外部触发器进行通知、基于机器人的响应和工作流自动化。.
- 备注:
- 可用于从其他MCP工具或代理发送状态更新。
- 支持将频道名称或用户ID作为消息目标。.
设置
-
创建Slack应用程序:
- 访问 Slack应用程序页面
- 点击“创建新应用”
- 选择“从头开始”
- 命名您的应用程序并选择您的工作区
-
配置Bot令牌范围: 导航到“OAuth和权限”并添加以下范围:
channels:history-查看公共频道中的消息和其他内容channels:read-查看基本频道信息chat:write-以应用程序的身份发送消息reactions:write-在消息中添加表情符号反应users:read-查看用户及其基本信息users.profile:read-查看用户的详细资料
-
将应用程序安装到工作区:
- 点击“安装到工作区”并授权应用程序
- 保存以开头的“Bot用户OAuth令牌”
xoxb-
-
获取您的团队ID(以
T)通过以下方式 本指南
Slack服务器配置
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567",
"SLACK_CHANNEL_IDS": "C01234567, C76543210"
}
}
}
MCP服务器设置和集成说明
- 我开发了一个 MCP工具 它充当客户端层来调用这些服务器并检索结构化响应。
- 所有服务器都已使用以下命令之一进行了测试:
uv,npx,或python,具体取决于服务器的实现。 - 根据预期的架构验证每个服务器的输出。
未来整合
我们计划集成额外的MCP服务器,如电子邮件、日历、PDF/文档解析MCP等。
测试策略
我创建了一个内部 MCP工具 它自动化了MCP服务器的测试和执行。它接受:
- A. 服务器配置JSON 文件
- A. 用户定义的任务 作为输入
此工具使用 mcp_use 自定义模块 MCPClient 和 MCPAgent 与MCP服务器通信。
示例用法
from mcp_use import MCPAgent, MCPClient
# Load MCP server configuration
client = MCPClient.from_config_file(config_file) # e.g., config_file = "brave_search_server.json"
# Initialize the MCP Agent with any supported LLM
agent = MCPAgent(
llm=llm, # e.g., llm = AzureChatOpenAI()
client=client,
max_steps=15,
memory_enabled=True # Enables built-in conversational memory
)
# Run the agent with a user input
response = await agent.run(user_input)
贡献
欢迎通过pull请求提供额外的MCP包装或建议!
许可证
MIT许可证