代码研究服务器

一个模型上下文协议服务器,提供跨多个平台搜索和访问编程资源的工具,集成开发者平台以帮助LLMs查找相关代码示例、文档和包。

  • by jamesjohnsdev
  • JavaScript
  • 本地部署
  • 42 星标
  • 更新于
在 GitHub 查看 nahmanmate/code-research-mcp-server

使用说明

代码研究MCP服务器

一种模型上下文协议服务器,提供跨多个平台搜索和访问编程资源的工具。此服务器与流行的开发人员平台集成,以帮助LLM找到相关的代码示例、文档和包。

特性

集成平台

  • 堆栈溢出-编程问答
  • MDN Web文档-Web开发文档
  • GitHub-代码和存储库搜索
  • npm-JavaScript包注册表
  • PyPI-Python包索引

工具

search_stackoverflow

在Stack Overflow中搜索编程问题和答案。

  • 参数:
    • query (必填):搜索查询字符串
    • limit (可选):最大结果(1-10,默认值:5)
  • 返回:包含分数、答案计数和摘录的格式化问题列表
  • 结果缓存1小时

search_mdn

在MDN Web文档中搜索Web开发文档。

  • 参数:
    • query (必填):搜索查询字符串
  • 返回:前5个MDN文档与摘要和链接匹配
  • 结果缓存1小时

search_github

在GitHub上搜索存储库和代码示例。

  • 参数:
    • query (必填):搜索查询字符串
    • language (可选):按编程语言筛选
    • limit (可选):每个类别的最大结果数(1-10,默认值:5)
  • 返回:两部分:
    1. 按星级排序的顶级存储库
    2. 具有存储库上下文的相关代码文件
  • 结果缓存1小时

search_npm

在npm注册表中搜索JavaScript包。

  • 参数:
    • query (必填):搜索查询字符串
    • limit (可选):最大结果(1-10,默认值:5)
  • 返回:包信息,包括版本、描述和下载统计信息
  • 结果缓存1小时

search_pypi

在PyPI中搜索Python包。

  • 参数:
    • query (必填):搜索查询字符串
  • 返回:详细的包信息,包括版本、作者和链接
  • 结果缓存1小时

search_all

同时搜索所有平台以获得全面的结果。

  • 参数:
    • query (必填):搜索查询字符串
    • limit (可选):每个平台的最大结果(1-5,默认值:3)
  • 返回:来自所有平台的组合结果:
    1. Stack Overflow问答
    2. MDN文档
    3. GitHub存储库和代码
    4. npm包
    5. PyPI包
  • 结果缓存1小时
  • 注意:并行执行所有搜索以获得更快的响应

需求

  • Node.js>=20.11.0
  • npm>=10.0.0
  • 可选:用于更高API速率限制的GitHub个人访问令牌

安装

通过Smithery安装

通过以下方式自动安装克劳德桌面代码研究服务器 史密瑟里:

npx -y @smithery/cli install @nahmanmate/code-research-mcp-server --client claude

手动安装

  1. 克隆存储库并安装依赖项:
git clone https://github.com/nahmanmate/code-research-mcp-server.git
cd code-research-server
npm install
  1. 构建服务器:
npm run build
  1. 配置MCP设置:

将服务器配置添加到MCP设置文件中:

  • VSCode: ~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • 克劳德桌面:
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "code-research": {
      "command": "node",
      "args": ["/absolute/path/to/code-research-mcp-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_token"  // Optional: Prevents rate limiting
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

注:更换 /absolute/path/to 使用克隆存储库的实际路径。

发展

以开发模式运行

对于根据更改自动重建的开发:

npm run watch

错误处理

服务器实现了强大的错误处理:

  • 每个平台的特定于API的错误消息
  • GitHub API的速率限制处理
  • 服务不可用时的巧妙回退
  • 缓存响应以减少API负载

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。使用MCP检查器进行详细的请求/响应监控:

npm run inspector

检查员提供:

  • 实时请求/响应监控
  • 工具执行跟踪
  • 错误堆栈跟踪
  • 性能指标

访问浏览器中提供的URL以访问调试界面。

缓存

使用缓存结果 node-cache:

  • 默认TTL:1小时
  • 每个查询/限制组合都有单独的缓存键
  • 特定于平台的缓存策略
  • 内存高效存储

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

AGPLv3