🔍 GPT研究者MCP服务器
  
为何选择GPT研究员MCP?
虽然大型语言模型(LLM)应用可以通过MCP访问网络搜索工具, GPT研究员MCP提供深入的研究成果。 标准的搜索工具返回的是原始结果,需要手动筛选,这些结果中常常包含不相关的来源,并且浪费了上下文窗口的空间。
GPT研究者自主探索并验证众多信息源,仅关注相关、可靠且最新的信息。虽然比标准搜索稍慢(等待约30秒),但它能提供:
- ✨ 更高质量的信息
- 📊 优化上下文使用
- 🔎 全面结果
- 🧠 提升大型语言模型(LLMs)的推理能力
💻 Claude 桌面版演示
https://github.com/用户附件/资产/ef97eea5-a409-42b9-8f6d-b82ab16c52a8(注:这里的“用户附件”是根据“user-attachments”直译的,实际使用时可能需要根据上下文调整为更合适的表述,如“用户上传的附件”或“用户附加资源”等)
🚀 快速上手Claude桌面版
想立即在Claude Desktop上使用这个吗? 这是最快的路线:
- 安装依赖项:
git clone https://github.com/assafelovic/gptr-mcp.git
pip install -r requirements.txt- 设置您的Claude桌面配置 在
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gptr-mcp": {
"command": "python",
"args": ["/absolute/path/to/gpt-researcher/gptr-mcp/server.py"],
"env": {
"OPENAI_API_KEY": "your-openai-key-here",
"TAVILY_API_KEY": "your-tavily-key-here"
}
}
}
}- 重启Claude桌面版 并开始研究! 🎉(庆祝、欢呼的符号,可翻译为“庆祝”或根据上下文具体含义进行翻译,此处保留原样以表达其作为符号的通用性)
如需详细的设置说明,请参阅 完整的Claude桌面集成部分 在......下面
资源
research_resource通过研究获取与给定任务相关的网络资源。
主要工具
deep_research对某个主题进行深度暗网研究,寻找最可靠且相关的信息quick_search执行快速网页搜索,以速度优先于质量进行优化,返回包含摘要片段的搜索结果。支持任何GPTR(通用网页检索工具)支持的网页检索器,如Tavily、Bing、Google等……了解更多 在这里write_report根据研究结果生成一份报告get_research_sources获取研究中使用的资料来源get_research_context获取研究的完整背景信息
提示
research_query创建一个研究查询提示
先决条件
在运行MCP服务器之前,请确保您已具备:
- 已安装 Python 3.11 或更高版本
- 重要的GPT 研究员版本 >=0.12.16 需要 Python 3.11 或更高版本
- 您计划使用的服务的API密钥:
您也可以使用GPTR支持的检索器连接任何其他网络搜索引擎或MCP。快来看看吧 这里的文档
⚙️ 安装
- 克隆GPT Researcher仓库:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher- 安装gptr-mcp的依赖项:
cd gptr-mcp
pip install -r requirements.txt- 设置你的环境变量:
- 复制 .env.example 文件以创建一个名为 .env:
cp .env.example .env- 编辑 .env 文件并添加您的API密钥,然后配置其他设置:
OPENAI_API_KEY=your_openai_api_key
TAVILY_API_KEY=your_tavily_api_key你也可以为你的GPT研究者配置添加任何其他环境变量。
🚀 运行MCP服务器
你可以通过多种方式运行MCP服务器:
方法1:直接使用Python
python server.py方法2:使用MCP CLI(如果已安装)
mcp run server.py方法3:使用Docker(推荐用于生产环境)
快速入门
使用 Docker 运行的最简单方法:
# Build and run with docker-compose
docker-compose up -d
# Or manually:
docker build -t gptr-mcp .
docker run -d \
--name gptr-mcp \
-p 8000:8000 \
--env-file .env \
gptr-mcp用于n8n集成
如果您需要连接到现有的n8n网络:
# First, start the container
docker-compose up -d
# Then connect to your n8n network
docker network connect n8n-mcp-net gptr-mcp
# Or create a shared network first
docker network create n8n-mcp-net
docker network connect n8n-mcp-net gptr-mcp注该Docker镜像使用Python 3.11以满足gpt-researcher >=0.12.16的要求。如果在构建过程中遇到错误,请确保您使用的是此仓库中的最新Dockerfile。
一旦服务器启动,您将看到输出信息表明服务器已准备好接受连接。您可以通过以下方式验证其是否正常工作:
- SSE 端点访问位于 http://localhost:8000/sse 的服务器发送事件(Server-Sent Events)端点以获取会话ID
- MCP Communication(可译为“MCP传媒/传播公司”,具体根据上下文确定更准确的译名)使用会话ID向 http://localhost:8000/messages/?session_id=YOUR_SESSION_ID 发送MCP消息
- 测试运行测试脚本,使用
python test_mcp_server.py
对于Docker/n8n集成至关重要:
- 服务器绑定到
0.0.0.0:8000与Docker容器一起工作 - 使用SSE传输进行基于Web的MCP通信
- 会话管理需要从(某个地方)获取会话ID
/sse端点优先 - 每个客户端连接都需要一个唯一的会话ID以确保正常通信
🚦 交通方式与最佳实践
GPT研究者MCP服务器支持多种传输协议,并会自动为您的环境选择最佳协议:
运输类型
| 传输 | 使用场景 | 使用时机 |
|---|---|---|
| STDIO 翻译为中文是“标准输入输出(Standard Input and Output)”。 | Claude Desktop,本地MCP客户端 | 本地开发的默认选项 |
| 上海证券交易所 | Docker、Web 客户端、n8n 集成 | 在 Docker 中自动启用 |
| 可流式传输的HTTP | 现代网页部署 | 高级网页部署 |
自动检测
服务器会自动检测您的环境:
# Local development (default)
python server.py
# ➜ Uses STDIO transport (Claude Desktop compatible)
# Docker environment
docker run gptr-mcp
# ➜ Auto-detects Docker, uses SSE transport
# Manual override
export MCP_TRANSPORT=sse
python server.py
# ➜ Forces SSE transport环境变量
| 变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
MCP_TRANSPORT | 强制使用特定传输方式 | stdio | sse, streamable-http |
DOCKER_CONTAINER | 强制Docker模式 | 自动检测 | true |
配置示例
对于Claude Desktop(本地版)
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"gpt-researcher": {
"command": "python",
"args": ["/absolute/path/to/server.py"],
"env": {
"..."
}
}
}
}对于Docker/Web部署
# Set transport explicitly for web deployment
export MCP_TRANSPORT=sse
python server.py
# Or use Docker (auto-detects)
docker-compose up -d用于n8n MCP集成
# Use the container name as hostname
docker run --name gptr-mcp -p 8000:8000 gptr-mcp
# In n8n, connect to: http://gptr-mcp:8000/sse传输端点
当使用SSE或HTTP传输时:
- 健康检查:
GET /health - SSE 端点:
GET /sse(获取会话ID) - MCP消息:
POST /messages/?session_id=YOUR_SESSION_ID
最佳实践
- 本地开发为Claude Desktop使用默认STDIO
- 生产使用Docker并启用自动SSE检测
- 测试使用健康检查端点来验证连接性
- n8n 集成使用 Docker 时,始终采用容器网络
- 网络部署考虑为现代客户端使用Streamable HTTP
与Claude集成
您可以通过以下方式将您的MCP服务器与Claude集成:
Claude桌面集成 - 用于在Mac上使用Claude桌面应用程序
如需详细说明,请点击上方链接。
💻 Claude 桌面集成
要将您本地运行的MCP服务器与Mac版Claude集成,您需要:
- 确保MCP服务器已安装并正在运行
- 配置Claude桌面版:
- 定位或创建配置文件于 ~/Library/Application Support/Claude/claude_desktop_config.json - 将您本地的GPT研究者MCP服务器添加到配置中 使用环境变量 - 重启Claude以应用配置
⚠️ 重要:需要环境变量
Claude Desktop 将您的 MCP 服务器作为独立的子进程启动,因此您 必须 在配置中明确传递您的API密钥。服务器无法访问您的shell环境变量或 .env 自动保存文件。
配置示例
{
"mcpServers": {
"gptr-mcp": {
"command": "python",
"args": ["/absolute/path/to/your/server.py"],
"env": {
"OPENAI_API_KEY": "your-actual-openai-key-here",
"TAVILY_API_KEY": "your-actual-tavily-key-here"
}
}
}
}安全注意事项
🔒 您的Claude桌面配置包含敏感的API密钥。 保护它:
chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json永远不要将这个文件提交到版本控制系统中。
备选方案:环境变量脚本
为了提高安全性,请创建一个包装脚本:
运行_gptr_mcp.sh(脚本文件名,根据上下文可具体解释为“运行GPT-R MCP脚本”或保持原样作为文件名):
#!/bin/bash
source /path/to/your/.env
python /absolute/path/to/server.py然后在Claude桌面版中使用它:
{
"mcpServers": {
"gptr-mcp": {
"command": "/absolute/path/to/run_gptr_mcp.sh"
}
}
}如需完整的分步指南,请参阅 Claude桌面集成指南.
📝 与Claude一起使用的示例
User: I'm considering investing in NVIDIA. Can you research the current state of the company, recent stock performance, latest product announcements, and analyst opinions?
Claude: I'll help you research NVIDIA for investment purposes. This will take a moment as I conduct deep research to find the most up-to-date information about their stock performance, recent developments, and expert analysis.
[Claude uses deep_research tool - this takes 30-40 seconds]
Claude: Based on my research, here's a comprehensive analysis of NVIDIA's current state:
## NVIDIA (NVDA) Current Status
### Recent Stock Performance
- Current price: $942.89 (as of my research)
- YTD performance: +90.4%
- 52-week range: $460.30 - $974.00
- Market cap: ~$2.32 trillion
### Recent Key Developments
1. **Blackwell AI Platform**: At GTC 2024, NVIDIA unveiled the Blackwell architecture, their next-generation AI chip platform promising 4x performance improvement over Hopper. Major cloud providers (AWS, Google, Microsoft) have already committed to integrating Blackwell.
2. **Q1 FY2025 Earnings (May 2024)**:
- Revenue: $26.0 billion (+262% YoY)
- Data Center revenue: $22.6 billion (+427% YoY)
- Gross margin: 78.4%
- Announced 10-for-1 stock split effective June 7, 2024
3. **Supply Chain Expansion**: Increased investments in manufacturing capacity with TSMC to address ongoing chip shortages for their high-demand AI GPUs.
### Analyst Consensus
- Strong Buy consensus with 37 analysts rating it "Buy," 5 "Hold," and 0 "Sell"
- Average price target: $1,042 (post-split adjusted: $104.20)
- Key bull thesis: Continued AI infrastructure spending and NVIDIA's dominant position in AI chips
- Key bear concerns: Valuation, potential competition from AMD, Intel, and custom silicon from tech giants
### Industry Position
- Dominant in AI GPU market with estimated 80-90% market share
- Expanding ecosystem through CUDA software platform and industry partnerships
- Diversifying beyond chips with DGX Cloud, AI software platforms, and automotive solutions🔧 故障排除
如果您在运行MCP服务器时遇到问题:
一般问题
- API密钥确保您的API密钥在(某处)已正确设置
.env文件 - Python 版本请确认您正在使用 Python 3.11 或更高版本(gpt-researcher >=0.14.0 版本要求)
- 依赖项确保所有依赖项都已正确安装:
pip install -r requirements.txt - 服务器日志检查服务器日志中的错误信息
Docker 问题
- 容器无法访问:
- 验证容器是否正在运行: docker ps | grep gptr-mcp - 检查容器日志: docker logs gptr-mcp - 确认服务器正在绑定到0.0.0.0:8000(日志中应显示此信息)
- n8n 集成问题:
- 确保两个容器位于同一个Docker网络中 - 使用容器名称 gptr-mcp 在n8n中作为主机名 - 将MCP服务器URL设置为: http://gptr-mcp:8000/sse
- 会话ID问题:
- 服务器使用SSE传输,这需要会话管理 - 首先,通过连接获取一个会话ID /sse 终端节点 - 在后续的MCP请求中使用会话ID: /messages/?session_id=YOUR_ID - 每个客户端都需要自己的会话ID
n8n与MCP集成步骤
- 获取会话ID:
curl http://gptr-mcp:8000/sse
# Look for: data: /messages/?session_id=XXXXX- 初始化MCP:
curl -X POST http://gptr-mcp:8000/messages/?session_id=YOUR_SESSION_ID \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "n8n-client", "version": "1.0.0"}}}'- 呼叫工具:
curl -X POST http://gptr-mcp:8000/messages/?session_id=YOUR_SESSION_ID \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "quick_search", "arguments": {"query": "test"}}}'测试服务器
运行随附的测试脚本来验证功能:
python test_mcp_server.py这将测试:
- SSE连接和会话ID获取
- MCP初始化
- 工具发现与执行
Claude 桌面版问题
如果您的MCP服务器无法与Claude Desktop配合工作:
- 服务器未在Claude中显示:
- 检查你的 claude_desktop_config.json 语法是有效的JSON - 确保你正在使用 绝对路径 (不相关) - 验证路径到 server.py 是正确的 - 完全重启Claude桌面版
- “OPENAI_API_KEY未找到”错误:
- 确保你已将API密钥添加到 env 在你的配置中的部分 - 别忘了 两者 OPENAI_API_KEY 并且 TAVILY_API_KEY - API密钥应为实际密钥,而非占位符
- 工具未显示:
- 在Claude桌面版中查找🔧工具图标 - 检查Claude Desktop配置文件是否位于正确的位置: - macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json - Windows: %APPDATA%\Claude\claude_desktop_config.json
- Python/权限问题:
- 确保可以从命令行访问Python: python --version - 尝试使用完整的Python路径: "command": "/usr/bin/python3" 或者 "command": "python3" - 检查你的 server.py 文件的文件权限
- 还是不行吗?
- 手动测试服务器: python server.py (应显示STDIO传输消息) - 检查Claude Desktop的日志(如果可用) - 尝试上述集成部分中的替代脚本方法
👣 下一步行动
- 探索 MCP协议文档 为了更好地理解如何与Claude进行集成
- 了解关于 GPT研究者的核心功能 提高你的研究能力
- 看看这个 高级用法 更多配置选项的指南
📄 许可证
此项目遵循MIT许可协议——详见LICENSE文件。
📞 支持/联系
- 社区Discord服务器
- 电子邮箱:assaf.elovic@gmail.com
⬆️ Back to Top
