AI代码咨询代理服务器

一个多模型AI代码咨询代理服务器,通过MCP协议为Claude Code提供OpenAI、Anthropic、Google Gemini等专家的代码分析和问题解决服务。

  • by MatthewPDingle
  • Python
  • 本地部署
  • 17 星标
  • 更新于
在 GitHub 查看 MatthewPDingle/consulting-agents-mcp

使用说明

咨询代理MCP服务器

一个模型上下文协议(MCP)服务器,允许Claude Code咨询其他AI代理进行代码和问题分析。该服务器允许Darren(OpenAI)、Sonny(Anthropic)、Sergey(具有网络搜索功能的OpenAI)和Gemma(具有存储库分析功能的Google Gemini)作为专家顾问访问,从而实现了对编码问题的多模型视角。

特性

  • 达伦:OpenAI专家编码顾问,由具有高推理能力的o3 mini模型提供支持
  • 桑尼:由Claude 3.7 Sonnet提供支持的人类专家编码顾问,具有增强的思维能力(注:由于Claude Code具有原生扩展思维模式,因此有点多余)
  • 谢尔盖:OpenAI网络搜索专家,由GPT-4o提供支持,用于查找相关文档和示例(注意:由于Claude Code具有本机网络搜索功能,因此有点多余)
  • 杰玛:谷歌双子座专家,由Gemini-2.5-pro-exp-03-25提供支持,具有1M令牌上下文,用于全面的存储库分析
  • MCP集成:通过MCP协议与Claude Code无缝集成
  • 多种运输方式:支持stdio(用于直接集成Claude Code)和HTTP/SSE传输

先决条件

  • Python 3.8+
  • OpenAI API密钥
  • 无烟煤API键
  • Google API密钥
  • Claude Code CLI(用于集成)

快速开始

  1. 克隆存储库:

    git clone https://github.com/yourusername/consulting-agents-mcp.git
    cd consulting-agents-mcp
    
  2. 创建并激活虚拟环境:

    python -m venv mcp_venv
    source mcp_venv/bin/activate  # On Windows: mcp_venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 设置API密钥: 创建一个 .env 项目根目录中的文件:

    OPENAI_API_KEY=your_openai_api_key_here
    ANTHROPIC_API_KEY=your_anthropic_api_key_here
    GOOGLE_API_KEY=your_google_api_key_here
    
  5. 启动服务器:

    chmod +x start_mcp_server.sh
    ./start_mcp_server.sh
    

与Claude Code集成

  1. 注册MCP服务器 克劳德代码:

    claude mcp add ConsultingAgents /absolute/path/to/consulting-agents-mcp/start_mcp_server.sh
    
  2. 启动克劳德代码 通过MCP集成:

    claude --mcp-debug
    
  3. 使用工具 克劳德代码:

    Now you can use consult_with_darren, consult_with_sonny, consult_with_sergey, and consult_with_gemma functions in Claude Code.
    

可用工具

MCP服务器提供四种咨询工具:

consult_with_darren

使用OpenAI的o3-mini模型进行高推理,分析代码并提供建议。

参数:

  • consultation_context:问题描述(必填)
  • source_code:要分析的可选代码

consult_with_sonny

使用具有增强思维的Claude 3.7 Sonnet提供深入的代码分析。

参数:

  • consultation_context:问题描述(必填)
  • source_code:要分析的可选代码

注: 由于Claude Code具有本机扩展思维模式,这个代理有点多余,但对于从另一个Claude模型中获得第二种意见或不同的方法仍然有用。

consult_with_sergey

使用GPT-4o和网络搜索功能查找相关文档和示例。

参数:

  • consultation_context:描述您需要什么信息或文件(必填)
  • search_query:要使用的可选特定搜索查询
  • source_code:上下文的可选代码

注: 由于Claude Code具有本机网络搜索功能,此代理有点多余,但对于比较GPT-4o和Claude之间的搜索结果或获得不同的视角仍然有用。

consult_with_gemma

使用谷歌的Gemini 2.5 Pro模型和1M令牌上下文窗口来分析整个存储库并提供全面的开发计划。

参数:

  • consultation_context:要实现的任务或功能的描述(必填)
  • repo_url:要分析的GitHub存储库URL(必需)- 重要提示:始终指定完整且正确的GitHub URL(例如,“https://github.com/username/repo")
  • feature_description:要实现的功能的详细说明(必填)

注: 此代理特别有用,因为Claude Code本身不具备在单个上下文中分析整个存储库的能力。

重要URL规范: 使用Gemma时,请始终提供确切的GitHub存储库URL。Claude Code可能会从您的本地目录路径中错误地推断出存储库URL,从而导致存储库访问错误。URL的格式应为 https://github.com/username/repository 具有正确的区分大小写能力。

高级配置

环境变量

  • MCP_TRANSPORT:传输协议(默认:“stdio”,可选:“http”、“sse”)
  • HOST:使用HTTP/SSE传输时的服务器主机(默认值:“127.0.0.1”)
  • PORT:使用HTTP/SSE传输时的服务器端口(默认值:5000)

HTTP API(使用HTTP传输时)

当使用HTTP传输运行时,服务器提供以下端点:

健康检查

GET /health

返回服务器状态和可用代理。

模特咨询

POST /consult

请求Darren或Sonny的尸体:

{
  "agent": "Darren",
  "consultation_context": "I have a bug in my code where...",
  "source_code": "def example():\n    return 'hello'"
}

Sergey的请求正文:

{
  "agent": "Sergey",
  "consultation_context": "How do I implement JWT authentication in Express?",
  "search_query": "express.js JWT auth implementation"
}

Gemma的申请正文:

{
  "agent": "Gemma",
  "consultation_context": "Adding user authentication to the API",
  "repo_url": "https://github.com/username/repo",
  "feature_description": "Implement basic username/password authentication for API access"
}

重要提示: 始终在中提供准确完整的GitHub存储库URL repo_url 现场。不要依赖Claude Code从本地目录路径推断出这一点。

故障排除

  • 未找到MCP服务器:验证claude mcp add命令中的绝对路径
  • API身份验证错误:检查在.env文件中是否正确设置了API密钥
  • 连接问题:在启动Claude Code之前,确保MCP服务器正在运行
  • 除错记录:检查正在运行MCP服务器的终端以获取详细日志

更新到新版本

更新到新版本的咨询代理mcp时,请执行以下步骤:

  1. 更新存储库代码 (提取最新更改)
  2. 重新启动MCP服务器:
    ./start_mcp_server.sh
    
  3. 从Claude Code中删除现有的MCP服务器:
    claude mcp remove ConsultingAgents
    
  4. 使用绝对路径将MCP服务器重新添加到Claude Code中:
    claude mcp add ConsultingAgents /absolute/path/to/consulting-agents-mcp/start_mcp_server.sh
    

此过程可确保Claude Code使用具有任何新型号或功能的MCP服务器的更新版本。

发展

以开发模式运行

  1. 使用调试输出启动服务器:

    DEBUG=true ./start_mcp_server.sh
    
  2. 测试HTTP端点(使用HTTP传输时):

    # Test Darren
    curl -X POST http://localhost:5000/consult \
      -H "Content-Type: application/json" \
      -d '{"agent":"Darren","consultation_context":"Test message"}'
    
    # Test Sonny
    curl -X POST http://localhost:5000/consult \
      -H "Content-Type: application/json" \
      -d '{"agent":"Sonny","consultation_context":"Test message"}'
    
    # Test Sergey
    curl -X POST http://localhost:5000/consult \
      -H "Content-Type: application/json" \
      -d '{"agent":"Sergey","consultation_context":"Test message","search_query":"example"}'
    
    # Test Gemma
    curl -X POST http://localhost:5000/consult \
      -H "Content-Type: application/json" \
      -d '{"agent":"Gemma","consultation_context":"Add user authentication","repo_url":"https://github.com/username/repo","feature_description":"Implement basic username/password authentication for API access"}'
    

项目结构

  • mcp_consul_server.py:主MCP服务器实现
  • start_mcp_server.sh:使用适当的环境启动服务器的脚本
  • requirements.txt:Python依赖关系

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。