返回市场
gp特-mcp

gp特-mcp

作者:assafelovic284 星标更新:2025-11-07

项目介绍

<div align="center" id="top"> <img src="https://gips2.baidu.com/it/u=2867930980,2865950939&fm=3081&app=3081&f=PNG?w=466&h=499" alt="Logo" width="80">

🔍 GPT 研究员 MCP 服务器

官方网站 文档 Discord 关注

</div>

为什么选择 GPT 研究员 MCP?

虽然LLM应用程序可以通过MCP访问网络搜索工具,但**GPT研究员MCP提供深入的研究结果。**标准搜索工具返回原始结果,需要手动过滤,通常包含不相关的来源并浪费上下文窗口空间。

GPT研究员自主探索和验证多个来源,仅关注相关、可信且最新的信息。尽管比标准搜索稍慢(约等待30秒),但它提供了:

  • ✨ 更高质量的信息
  • 📊 优化的上下文使用
  • 🔎 全面的结果
  • 🧠 对LLM更好的推理能力

💻 Claude桌面演示

https://github.com/user-attachments/assets/ef97eea5-a409-42b9-8f6d-b82ab16c52a8

🚀 使用Claude桌面快速开始

**想立即在Claude桌面中使用这个功能吗?**这是最快捷的方式:

  1. 安装依赖项:

    git clone https://github.com/assafelovic/gptr-mcp.git
    pip install -r requirements.txt
    
  2. 设置你的Claude桌面配置~/Library/Application Support/Claude/claude_desktop_config.json

    {
      "mcpServers": {
        "gptr-mcp": {
          "command": "python",
          "args": ["/绝对路径到/gpt-researcher/gptr-mcp/server.py"],
          "env": {
            "OPENAI_API_KEY": "在这里填写你的openai密钥",
            "TAVILY_API_KEY": "在这里填写你的tavily密钥"
          }
        }
      }
    }
    
  3. 重启Claude桌面并开始研究!🎉

详细的设置说明,请参阅下面的完整的Claude桌面集成部分

资源

  • research_resource: 获取与给定任务相关的网络资源。

主要工具

  • deep_research: 在一个主题上进行深入的网络研究,找到最可靠和相关的信息。
  • quick_search: 执行快速网络搜索,优化速度而非质量,返回带有摘录的搜索结果。支持任何GPTR支持的网络检索器,如Tavily、Bing、Google等。了解更多这里
  • write_report: 根据研究结果生成报告。
  • get_research_sources: 获取研究中使用的来源。
  • get_research_context: 获取研究的完整上下文。

提示

  • research_query: 创建一个研究查询提示。

预备条件

在运行MCP服务器之前,请确保你已经:

  1. 安装了Python 3.11或更高版本
    • 重要:GPT研究员>=0.12.16要求Python 3.11+
  2. 拥有计划使用的服务的API密钥:

你也可以连接任何其他网络搜索引擎或使用GPTR支持的检索器的MCP。查看此处的文档

⚙️ 安装

  1. 克隆GPT研究员仓库:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
  1. 安装gptr-mcp依赖项:
cd gptr-mcp
pip install -r requirements.txt
  1. 设置环境变量:
    • 复制.env.example文件以创建名为.env的新文件:
    cp .env.example .env
    
    • 编辑.env文件并添加你的API密钥和其他设置:
    OPENAI_API_KEY=你的openai_api_key
    TAVILY_API_KEY=你的tavily_api_key
    

你可以添加任何其他环境变量用于GPT研究员配置。

🚀 运行MCP服务器

你可以通过几种方式运行MCP服务器:

方法1:直接使用Python

python server.py

方法2:使用MCP CLI(如果已安装)

mcp run server.py

方法3:使用Docker(推荐用于生产)

快速启动

使用Docker运行的最简单方法:

# 使用docker-compose构建并运行
docker-compose up -d

# 或者手动:
docker build -t gptr-mcp .
docker run -d \
  --name gptr-mcp \
  -p 8000:8000 \
  --env-file .env \
  gptr-mcp

用于n8n集成

如果你需要连接到现有的n8n网络:

# 首先,启动容器
docker-compose up -d

# 然后连接到你的n8n网络
docker network connect n8n-mcp-net gptr-mcp

# 或者首先创建共享网络
docker network create n8n-mcp-net
docker network connect n8n-mcp-net gptr-mcp

注意:Docker镜像使用Python 3.11以满足gpt-researcher >=0.12.16的要求。如果在构建过程中遇到错误,请确保使用此存储库中的最新Dockerfile。

一旦服务器运行起来,你会看到输出表明服务器准备好接受连接。你可以通过以下方式验证其是否正常工作:

  1. SSE端点:访问Server-Sent Events端点http://localhost:8000/sse以获取会话ID
  2. MCP通信:使用会话ID向http://localhost:8000/messages/?session_id=YOUR_SESSION_ID发送MCP消息
  3. 测试:运行测试脚本python test_mcp_server.py

对于Docker/n8n集成的重要事项:

  • 服务器绑定到0.0.0.0:8000以与Docker容器一起工作
  • 使用SSE传输进行基于web的MCP通信
  • 会话管理需要首先从/sse端点获取会话ID
  • 每个客户端连接都需要一个唯一的会话ID以实现正确的通信

🚦 传输模式及最佳实践

GPT研究员MCP服务器支持多种传输协议,并自动选择最适合您环境的一种:

传输类型

传输使用场景何时使用
STDIOClaude桌面,本地MCP客户端默认用于本地开发
SSEDocker,Web客户端,n8n集成Docker环境下自动启用
流式HTTP现代Web部署高级Web部署

自动检测

服务器会自动检测您的环境:

# 本地开发(默认)
python server.py
# ➜ 使用STDIO传输(兼容Claude桌面)

# Docker环境  
docker run gptr-mcp
# ➜ 自动检测Docker,使用SSE传输

# 手动覆盖
export MCP_TRANSPORT=sse
python server.py
# ➜ 强制使用SSE传输

环境变量

变量描述默认值示例
MCP_TRANSPORT强制特定传输stdiossestreamable-http
DOCKER_CONTAINER强制Docker模式自动检测true

配置示例

用于Claude桌面(本地)

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "gpt-researcher": {
      "command": "python",
      "args": ["/绝对路径到/server.py"],
      "env": {
         "..."
      }
    }
  }
}

用于Docker/Web部署

# 显式设置传输用于Web部署
export MCP_TRANSPORT=sse
python server.py

# 或使用Docker(自动检测)
docker-compose up -d

用于n8n MCP集成

# 使用容器名称作为主机名
docker run --name gptr-mcp -p 8000:8000 gptr-mcp

# 在n8n中连接到:http://gptr-mcp:8000/sse

传输端点

当使用SSE或HTTP传输时:

  • 健康检查GET /health
  • SSE端点GET /sse(获取会话ID)
  • MCP消息POST /messages/?session_id=YOUR_SESSION_ID

最佳实践

  1. 本地开发:使用默认STDIO与Claude桌面
  2. 生产:使用Docker并自动检测SSE
  3. 测试:使用健康检查端点验证连通性
  4. n8n集成:始终使用Docker容器网络
  5. Web部署:考虑现代客户端的流式HTTP

集成Claude

你可以使用以下方法将你的MCP服务器与Claude集成:

Claude桌面集成 - 适用于Mac上的Claude桌面应用

详细说明,请跟随上述链接。

💻 Claude桌面集成

要将你本地运行的MCP服务器与Claude for Mac集成,你需要:

  1. 确保MCP服务器已安装并正在运行
  2. 配置Claude桌面:
    • 查找或创建配置文件位于~/Library/Application Support/Claude/claude_desktop_config.json
    • 将你的本地GPT研究员MCP服务器添加到配置中并包含环境变量
    • 重启Claude以应用配置

⚠️ 重要:需要环境变量

Claude桌面作为独立子进程启动你的MCP服务器,因此你必须明确地在配置中传递你的API密钥。服务器不能自动访问你的shell环境变量或.env文件。

配置示例

{
  "mcpServers": {
    "gptr-mcp": {
      "command": "python",
      "args": ["/绝对路径到你的/server.py"],
      "env": {
        "OPENAI_API_KEY": "在这里填写实际的openai密钥",
        "TAVILY_API_KEY": "在这里填写实际的tavily密钥"
      }
    }
  }
}

安全注意事项

**🔒 你的Claude桌面配置包含敏感的API密钥。**保护它:

chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json

切勿将此文件提交到版本控制。

替代方案:环境变量脚本

为了更好的安全性,创建一个包装脚本:

run_gptr_mcp.sh

#!/bin/bash
source /路径到你的/.env
python /绝对路径到/server.py

然后在Claude桌面中使用它:

{
  "mcpServers": {
    "gptr-mcp": {
      "command": "/绝对路径到/run_gptr_mcp.sh"
    }
  }
}

完整的逐步说明,请参阅Claude桌面集成指南

📝 使用Claude的示例

用户:我正在考虑投资NVIDIA。你能研究一下该公司目前的状态、最近的股票表现、最新的产品公告以及分析师的意见吗?

Claude:我会帮你研究NVIDIA的投资情况。这将花费一些时间,因为我将进行深入研究以找到关于他们的股票表现、近期发展和专家分析的最新信息。

[Claude使用deep_research工具 - 这需要30-40秒]

Claude:根据我的研究,以下是NVIDIA当前状态的综合分析:

## NVIDIA (NVDA) 当前状态

### 最近的股票表现
- 当前价格:$942.89(截至我的研究)
- 年初至今的表现:+90.4%
- 52周范围:$460.30 - $974.00
- 市值:~$2.32万亿

### 最近的关键发展
1. **Blackwell AI平台**:在2024年的GTC大会上,NVIDIA推出了Blackwell架构,这是一个下一代AI芯片平台,承诺性能提升4倍于Hopper。主要云提供商(AWS、Google、Microsoft)已经承诺整合Blackwell。

2. **2025财年第一季度收益(2024年5月)**:
   - 收入:$260亿(同比增长262%)
   - 数据中心收入:$226亿(同比增长427%)
   - 毛利率:78.4%
   - 宣布10股拆分将于2024年6月7日生效

3. **供应链扩展**:增加对TSMC制造能力的投资,以解决其高需求AI GPU的持续芯片短缺问题。

### 分析师共识
- 强烈买入共识,37位分析师评级“买入”,5位“持有”,0位“卖出”
- 平均目标价:$1,042(拆分调整后:$104.20)
- 主要看涨论点:持续的AI基础设施支出和NVIDIA在AI芯片领域的主导地位
- 主要看跌担忧:估值,来自AMD、Intel和科技巨头自定义硅的竞争

### 行业地位
- 在AI GPU市场占据主导地位,估计市场份额为80-90%
- 通过CUDA软件平台和行业合作伙伴关系扩展生态系统
- 通过DGX Cloud、AI软件平台和汽车解决方案多元化业务

🔧 故障排除

如果您在运行MCP服务器时遇到问题:

一般问题

  1. API密钥:确保您的API密钥正确设置在.env文件中
  2. Python版本:检查您是否使用的是Python 3.11或更高版本(gpt-researcher >=0.14.0所需)
  3. 依赖项:确保所有依赖项都正确安装:pip install -r requirements.txt
  4. 服务器日志:检查服务器日志中的错误消息

Docker问题

  1. 容器不可访问

    • 验证容器是否正在运行:docker ps | grep gptr-mcp
    • 检查容器日志:docker logs gptr-mcp
    • 确认服务器绑定到0.0.0.0:8000(日志应显示这一点)
  2. n8n集成问题

    • 确保两个容器都在同一个Docker网络上
    • 在n8n中使用容器名称gptr-mcp作为主机名
    • 设置MCP服务器URL为:http://gptr-mcp:8000/sse
  3. 会话ID问题

    • 服务器使用SSE传输,需要会话管理
    • 首先,通过连接到/sse端点获取会话ID
    • 在后续的MCP请求中使用会话ID:/messages/?session_id=YOUR_ID
    • 每个客户端都需要自己的会话ID

n8n MCP集成步骤

  1. 获取会话ID

    curl http://gptr-mcp:8000/sse
    # 查找:data: /messages/?session_id=XXXXX
    
  2. 初始化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"}}}'
    
  3. 调用工具

    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桌面一起