Code Research Mcp Server

Code Research Mcp Server

🚀 代码研究 MCP 服务器

这是一个基于 Model Context Protocol(模型上下文协议)的服务器,它提供了搜索和访问多种编程资源的功能。该服务器集成了多个流行的开发者平台,能够帮助大型语言模型(LLMs)查找相关的代码示例、文档和包,极大地提升了编程资源的获取效率。

smithery badge

✨ 主要特性

集成平台

  • Stack Overflow:知名的编程问答社区,在这里可以找到各种编程问题的解决方案。
  • MDN Web Docs:权威的网页开发文档库,为网页开发者提供了丰富的参考资料。
  • GitHub:全球最大的代码和仓库搜索平台,汇聚了众多优秀的开源项目。
  • npm:JavaScript 包注册表,方便开发者查找和使用各种 JavaScript 包。
  • PyPI:Python 包索引,是 Python 开发者获取各类 Python 包的重要来源。

工具

search_stackoverflow

此工具可在 Stack Overflow 上搜索编程问题和答案。

  • 参数
    • query(必需):用于输入搜索的查询字符串。
    • limit(可选):设置最大结果数,范围为 1 - 10,默认值为 5。
  • 返回值:返回一个格式化的问题列表,其中包含评分、回答数和摘录。
  • 缓存策略:结果缓存时间为 1 小时。

search_mdn

该工具用于在 MDN Web Docs 上搜索网页开发文档。

  • 参数
    • query(必需):输入搜索的查询字符串。
  • 返回值:返回前 5 个 MDN 文档匹配项,包含摘要和链接。
  • 缓存策略:结果缓存时间为 1 小时。

search_github

此工具可在 GitHub 上搜索代码仓库或用户。

  • 参数
    • query(必需):输入搜索的查询字符串。
    • limit(可选):设置最大结果数,范围为 1 - 10,默认值为 5。
  • 返回值:返回一个列表,包含仓库名称、描述和星标数。
  • 缓存策略:结果缓存时间为 1 小时。

search_npm

该工具用于在 npm 上搜索 JavaScript 包。

  • 参数
    • query(必需):输入搜索的查询字符串。
    • limit(可选):设置最大结果数,范围为 1 - 10,默认值为 5。
  • 返回值:返回一个列表,包含包名称、版本和描述。
  • 缓存策略:结果缓存时间为 1 小时。

search_pypi

此工具可在 PyPI 上搜索 Python 包。

  • 参数
    • query(必需):输入搜索的查询字符串。
    • limit(可选):设置最大结果数,范围为 1 - 10,默认值为 5。
  • 返回值:返回一个列表,包含包名称、版本和描述。
  • 缓存策略:结果缓存时间为 1 小时。

📦 安装指南

使用 Smithery 安装

npx smithery install @nahmanmate/code-research-mcp-server

手动安装

  1. 克隆仓库:
    git clone https://github.com/yourusername/code-research-mcp-server.git
    cd code-research-mcp-server
    
  2. 安装依赖:
    npm install
    
  3. 启动服务器:
    node index.js
    

配置 MCP 设置

package.json 中添加以下配置:

{
"mcp": {
"servers": {
"code-research-mcp-server": {
"command": "node index.js",
"type": "stdio"
}
}
}
}

🔧 技术细节

以开发模式运行

带有自动重建功能,可使用以下命令:

npm run watch

错误处理

服务器实现了稳健的错误处理机制:

  • 针对每个平台的 API 提供特定的错误消息。
  • 对 GitHub API 的速率限制进行有效处理。
  • 在服务不可用时能够实现优雅降级。
  • 通过缓存响应来减少 API 负载。

调试

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

npm run inspector

检查器提供以下功能:

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

在浏览器中访问提供的 URL 即可获取调试界面。

缓存

使用 node-cache 进行缓存:

  • 默认 TTL 为 1 小时。
  • 每个查询/限制组合使用独立的缓存键。
  • 采用平台特定的缓存策略。
  • 实现内存高效存储。

🤝 贡献指南

  1. 叉仓库。
  2. 创建功能分支。
  3. 提交更改。
  4. 推送到分支。
  5. 创建拉取请求。

📄 许可证

本项目采用 AGPLv3 许可证。

  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-23 05:30

相似服务问题

相关AI产品