代码库MCP服务器
一种模型上下文协议(MCP)服务器,为AI代理提供智能代码库理解能力。此服务器使LLM能够索引、搜索和分析Git存储库,类似于 希腊.
特性
- 存储库索引:从GitHub、GitLab或本地路径克隆和索引Git存储库
- 代码搜索:在索引代码库中搜索文本模式
- 自然语言查询:使用自然语言查询代码库
- 文件导航:浏览目录结构和文件内容
- 功能分析:分析具体功能及其关系
- Git历史记录:访问提交历史和差异
- PR审核支持:使用完整的代码库上下文查看差异
🚀 快速开始
这个项目的新手? 从这里开始:
- 快速启动.md -5分钟后起床跑步
- 用法\_ GIDE.md -全面的使用文档
- 实施\_ SUMMARY.md -完整的实施细节
- 示例/ -LLM集成示例(OpenAI,Claude)
安装
npm install
npm run build使用模式
1.CLI工具(建议用于入门)
直接从命令行分析任何GitHub存储库:
# General analysis
npm run analyze -- facebook/react main
# Ask specific questions
npm run analyze -- facebook/react main "How does reconciliation work?"看 快速启动.md 更多示例。
2.MCP服务器(用于克劳德桌面集成)
标准运输(当地)
npm startHTTP传输(远程/Web)
TRANSPORT=http PORT=3000 npm start3.与LLM集成(用于AI驱动的分析)
看 示例/ OpenAI和Anthropic-Claude集成示例。
可用工具
库管理
| 工具 | 说明 |
|---|---|
git_index_repository | 索引Git存储库以进行搜索和分析 |
git_get_repository_status | 检查存储库的索引状态 |
git_list_repositories | 列出所有索引存储库 |
代码搜索与查询
| 工具 | 说明 |
|---|---|
git_query_codebase | 用自然语言查询代码库 |
git_search_code | 在代码中搜索文本模式 |
git_get_file_content | 检索特定文件内容 |
git_get_file_tree | 获取目录结构 |
git_get_git_history | 获取提交历史记录 |
git_analyze_function | 分析特定功能 |
git_review_diff | 查看差异/提交 |
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
TRANSPORT | 运输类型(stdio 或 http) | stdio |
PORT | HTTP服务器端口 | 3000 |
Claude桌面配置
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"codebase": {
"command": "node",
"args": ["/path/to/codebase-mcp-server/dist/index.js"]
}
}
}HTTP客户端配置
对于远程访问,请将MCP客户端配置为连接到:
http://localhost:3000/mcp示例用法
为存储库建立索引
{
"tool": "git_index_repository",
"arguments": {
"remote": "github",
"owner": "facebook",
"repository": "react",
"branch": "main"
}
}搜索代码
{
"tool": "git_search_code",
"arguments": {
"query": "useState",
"repositories": [{
"remote": "github",
"owner": "facebook",
"repository": "react",
"branch": "main"
}],
"file_pattern": "\\.tsx?$"
}
}查询代码库
{
"tool": "git_query_codebase",
"arguments": {
"query": "How does the reconciliation algorithm work?",
"repositories": [{
"remote": "github",
"owner": "facebook",
"repository": "react",
"branch": "main"
}]
}
}代理提示
看 AGENT_PROMPT.md 以获得一个全面的系统提示,指导AI代理如何有效地将此MCP服务器用于代码库智能任务。
建筑
codebase-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── types.ts # TypeScript type definitions
│ ├── constants.ts # Configuration constants
│ ├── services/
│ │ └── git.service.ts # Git operations and indexing
│ ├── schemas/
│ │ └── index.ts # Zod validation schemas
│ └── tools/
│ ├── repository.tools.ts # Repository management tools
│ └── search.tools.ts # Search and query tools
└── dist/ # Built JavaScript files局限性
- 存储库存储在
/tmp/mcp-repos(重新启动时清除) - 无持久存储(存储库在重新启动后需要重新索引)
- 基本关键字搜索(无语义/人工智能搜索)
- 函数提取是基于启发式的
未来的增强功能
- 持久存储库存储
- 基于嵌入的语义代码搜索
- 更复杂的函数关系映射
- 支持更多版本控制系统
- 代码复杂性分析
- 安全漏洞检测
许可证
麻省理工学院
