项目简介

Claude Compass 是一个旨在解决AI助手“上下文饥饿”问题的AI原生开发环境。它通过解析JavaScript/TypeScript代码库,构建文件和符号依赖图谱,并将这些信息通过 Model Context Protocol (MCP) 标准暴露给AI助手,让AI助手能够像资深工程师一样理解代码上下文,从而提供更准确的开发建议。

主要功能点

  • 代码逆向映射: 解析JavaScript/TypeScript代码库,支持Vue.js, Next.js, React, Node.js等主流框架,构建文件图谱和符号图谱,生成依赖感知的摘要。
  • MCP集成: 通过JSON-RPC协议的MCP标准暴露代码图谱和各种查询工具,允许AI助手查询代码的“事实真相”。
  • 数据库持久化: 使用PostgreSQL存储代码分析结果,支持增量分析,并能清理特定仓库数据。
  • 丰富的查询工具: 提供如 'get_file' (获取文件详情), 'get_symbol' (获取符号详情), 'search_code' (搜索代码), 'who_calls' (查找调用方), 'list_dependencies' (列出依赖) 等工具,供AI助手调用。
  • 代码资源访问: 提供 'repo://repositories' (仓库列表), 'graph://files' (文件图谱), 'graph://symbols' (符号图谱) 等数据资源,供AI助手读取。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/AizenvoltPrime/claude-compass
    cd claude-compass
  2. 安装依赖:
    npm install
  3. 设置数据库: Claude Compass 使用 PostgreSQL。建议使用 Docker 启动数据库。
    npm run docker:up # 启动 PostgreSQL 数据库
    npm run migrate:latest # 运行数据库迁移,创建所需的表结构
  4. 分析你的代码库:
    npm run analyze /path/to/your/project # 将 /path/to/your/project 替换为你的项目路径
    你可以添加 '--no-test-files' (排除测试文件) 或 '--max-files <count>' (限制分析文件数量) 等选项。

服务器配置 (MCP客户端使用)

MCP客户端需要配置服务器启动命令才能与Claude Compass MCP服务器建立连接。以下是推荐的JSON格式配置信息,包含必要的启动命令及参数。请注意,MCP客户端通常通过配置文件或命令行参数来接收这些信息,不需要直接操作代码。

{
  "server_name": "claude-compass",
  "command": "node",
  "args": [
    "./dist/src/cli/index.js",
    "mcp-server",
    "--port",
    "3000",
    "--host",
    "localhost"
  ],
  "comment": "Claude Compass MCP服务器的启动配置,通过Stdio传输协议与客户端通信。'command' 是执行文件的路径,'args' 是传递给执行文件的参数,包括监听的端口和主机。你可以根据实际部署调整端口和主机。"
}

基本使用方法

在完成代码库分析后,启动MCP服务器:

npm run mcp-server

服务器启动后,你的MCP客户端(如支持MCP协议的LLM客户端)即可通过配置的 'command' 和 'args' 连接到Claude Compass MCP服务器,开始查询代码上下文信息和调用工具。例如,AI助手可以调用 'search_code' 工具来查找特定符号,或读取 'repo://repositories' 资源来获取已分析的仓库列表。

信息

分类

开发者工具