代码库智能分析服务

一款为AI代理提供智能代码库理解能力的服务器,支持代码库索引、搜索和自然语言查询等功能。

  • by e11hzn
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 e11hzn/codebase-agent-mcp-server

使用说明

代码库MCP服务器

一种模型上下文协议(MCP)服务器,为AI代理提供智能代码库理解能力。此服务器使LLM能够索引、搜索和分析Git存储库,类似于 希腊.

特性

  • 存储库索引:从GitHub、GitLab或本地路径克隆和索引Git存储库
  • 代码搜索:在索引代码库中搜索文本模式
  • 自然语言查询:使用自然语言查询代码库
  • 文件导航:浏览目录结构和文件内容
  • 功能分析:分析具体功能及其关系
  • Git历史记录:访问提交历史和差异
  • PR审核支持:使用完整的代码库上下文查看差异

🚀 快速开始

这个项目的新手? 从这里开始:

  1. 快速启动.md -5分钟后起床跑步
  2. 用法_ GIDE.md -全面的使用文档
  3. 实施_ SUMMARY.md -完整的实施细节
  4. 示例/ -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 start

HTTP传输(远程/Web)

TRANSPORT=http PORT=3000 npm start

3.与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 (重新启动时清除)
  • 无持久存储(存储库在重新启动后需要重新索引)
  • 基本关键字搜索(无语义/人工智能搜索)
  • 函数提取是基于启发式的

未来的增强功能

  • 持久存储库存储
  • 基于嵌入的语义代码搜索
  • 更复杂的函数关系映射
  • 支持更多版本控制系统
  • 代码复杂性分析
  • 安全漏洞检测

许可证

麻省理工学院