关于 Code Research MCP Server
Code Research MCP Server 为 LLM 提供跨平台编程资源搜索,适合查找代码示例、文档和软件包信息。它汇集 Stack Overflow、MDN、GitHub、npm 和 PyPI 的搜索结果,并缓存结果以减少重复请求。
主要功能
- 01搜索 Stack Overflow 问答
- 02搜索 MDN 文档
- 03搜索 GitHub 仓库与代码
- 04查询 npm 和 PyPI 软件包
- 05并行搜索多个平台并缓存结果
适用场景
- 01查找编程问题的解答
- 02检索 Web 开发文档
- 03比较代码仓库、示例或软件包
MCP 相关
它通过 MCP 向客户端提供跨平台编程资源搜索工具,包括分别搜索各来源及同时搜索所有平台。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Code Research MCP Server
一个 Model Context Protocol 服务,提供用于搜索和访问多个平台上的编程资源的工具。此服务集成了热门开发者平台,帮助大模型查找相关代码示例、文档和软件包。
功能
集成平台
- Stack Overflow - 编程问答
- MDN Web Docs - Web 开发文档
- GitHub - 代码和仓库搜索
- npm - JavaScript 软件包注册表
- PyPI - Python 软件包索引
工具
search_stackoverflow
在 Stack Overflow 上搜索编程问题和答案。
- 参数:
query(必需):搜索查询字符串limit(可选):结果数量上限(1-10,默认值:5)
- 返回:格式化的问题列表,包含评分、答案数量和摘要
- 结果会缓存 1 小时
search_mdn
在 MDN Web Docs 中搜索 Web 开发文档。
- 参数:
query(必需):搜索查询字符串
- 返回:排名前 5 的 MDN 文档匹配结果,包含摘要和链接
- 结果会缓存 1 小时
search_github
在 GitHub 上搜索仓库和代码示例。
- 参数:
query(必需):搜索查询字符串language(可选):按编程语言筛选limit(可选):每类结果数量上限(1-10,默认值:5)
- 返回:两个部分:
- 按星标数排序的热门仓库
- 带有仓库上下文的相关代码文件
- 结果会缓存 1 小时
search_npm
在 npm 注册表中搜索 JavaScript 软件包。
- 参数:
query(必需):搜索查询字符串limit(可选):结果数量上限(1-10,默认值:5)
- 返回:软件包信息,包括版本、描述和下载统计数据
- 结果会缓存 1 小时
search_pypi
在 PyPI 中搜索 Python 软件包。
- 参数:
query(必需):搜索查询字符串
- 返回:详细的软件包信息,包括版本、作者和链接
- 结果会缓存 1 小时
search_all
同时搜索所有平台,获取全面的结果。
- 参数:
query(必需):搜索查询字符串limit(可选):每个平台的结果数量上限(1-5,默认值:3)
- 返回:所有平台的综合结果:
- Stack Overflow 问题和答案
- MDN 文档
- GitHub 仓库和代码
- npm 软件包
- PyPI 软件包
- 结果会缓存 1 小时
- 注意:所有搜索并行执行,以加快响应速度
要求
- Node.js >= 20.11.0
- npm >= 10.0.0
- 可选:GitHub 个人访问令牌,用于提高 API 速率限制
安装
通过 Smithery 安装
如需通过 Smithery 自动为 Claude Desktop 安装 Code Research Server:
npx -y @smithery/cli install @nahmanmate/code-research-mcp-server --client claude
手动安装
- 克隆仓库并安装依赖项:
git clone https://github.com/nahmanmate/code-research-mcp-server.git
cd code-research-server
npm install
- 构建服务:
npm run build
- 配置 MCP 设置:
将服务配置添加到 MCP 设置文件中:
- VSCode:
~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json - Claude Desktop:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- MacOS:
{
"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 服务通过标准输入输出进行通信,调试可能颇具挑战。使用 MCP Inspector 详细监控请求和响应:
npm run inspector
Inspector 提供:
- 实时请求和响应监控
- 工具执行跟踪
- 错误堆栈跟踪
- 性能指标
在浏览器中访问提供的 URL,即可使用调试界面。
缓存
结果使用 node-cache 进行缓存:
- 默认 TTL:1 小时
- 根据查询和限制组合使用独立的缓存键
- 针对平台的缓存策略
- 高效利用内存的存储
贡献
- Fork 此仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
许可证
AGPLv3
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。