项目简介
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助手读取。
安装步骤
- 克隆仓库:
git clone https://github.com/AizenvoltPrime/claude-compass cd claude-compass - 安装依赖:
npm install - 设置数据库: Claude Compass 使用 PostgreSQL。建议使用 Docker 启动数据库。
npm run docker:up # 启动 PostgreSQL 数据库 npm run migrate:latest # 运行数据库迁移,创建所需的表结构 - 分析你的代码库:
你可以添加 '--no-test-files' (排除测试文件) 或 '--max-files <count>' (限制分析文件数量) 等选项。npm run analyze /path/to/your/project # 将 /path/to/your/project 替换为你的项目路径
服务器配置 (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' 资源来获取已分析的仓库列表。
信息
分类
开发者工具