项目简介
BeyondSight 是一个高性能的代码分析服务器,专为 AI 助手设计。它通过解析 Java 项目并将其代码结构(类、方法、字段及其关系)存储在 Neo4j 图数据库中,为 AI 助手提供“代码智能层”。当您询问“如果我改变这个会发生什么?”时,AI 不会进行盲目搜索,而是通过 BeyondSight 立即获得精确且经过图验证的答案,从而实现快速、低成本、高精度的代码影响分析。
主要功能点
- AI 代码影响分析: 作为主要的 MCP 服务器,BeyondSight 提供核心能力,使 AI 助手能够执行深度代码影响分析。
- 预设 AI 工具: 提供了 'getClassImpact' (获取类影响)、'getMethodImpact' (获取方法影响) 和 'getFieldImpact' (获取字段影响) 等即用型 MCP 工具,方便 AI 直接调用。
- 深度图数据库分析: 自动解析 Java 源代码,将整个代码库结构及其依赖关系存储在 Neo4j 图数据库中,实现对所有受影响代码路径(包括多级隐藏依赖)的全面追踪。
- 精确的报告: 返回结构化的、层次化的影响报告,包含所有受影响的类、方法和精确的行号,格式易于 AI 解析和利用,确保零误报和完整的传递依赖。
- REST API 访问: 除了 MCP 接口外,还提供传统的 REST API,方便集成其他工具或进行手动检查。
安装步骤
- 克隆仓库: 'git clone https://github.com/felipestanzani/beyondsight.git' 'cd beyondsight'
- 启动 Neo4j 数据库: 确保您已安装 Docker 和 Docker Compose。在项目根目录运行以下命令: 'docker-compose up -d' 这将在后台启动 Neo4j 数据库。默认访问信息:Bolt 端口 '7687',HTTP 端口 '7474',用户名 'neo4j',密码 'notverysecret'。
- 构建并运行应用: 确保您已安装 Java 25 和 Gradle。在项目根目录运行以下命令: './gradlew bootRun' BeyondSight 应用将在 'http://localhost:8080' 启动。
服务器配置 (MCP 客户端使用)
MCP 客户端(例如 Cursor AI)需要配置 BeyondSight MCP 服务器的连接信息。以下是一个示例 JSON 配置的说明,您需要将其添加到您的 MCP 客户端配置文件中(例如 '~/.cursor/mcp.json'):
{ "mcpServers": { "beyondsight-mcp-server": { // 服务器的唯一标识名称,建议使用此名称 "transport": "sse", // 传输协议,这里使用 Server-Sent Events (SSE) "url": "http://localhost:8080/sse", // 用于建立 SSE 连接的 URL "capabilities": { "tool": true // 声明服务器支持工具调用功能 }, "name": "beyondsight-mcp-server", // 服务器的显示名称,会显示在客户端界面 "version": "1.0.0", // 服务器版本 "type": "SYNC", // 服务器类型,通常为 SYNC (同步) "instructions": "This server provides code impact change information", // 给 LLM 的服务器功能描述,帮助 LLM 理解服务器用途 "sse-message-endpoint": "http://localhost:8080/mcp/message", // 用于接收 MCP 消息的 SSE 端点 "heartbeatIntervalMs": 15000, // 心跳间隔(毫秒),用于保持连接活跃 "reconnectAttempts": 5 // 重新连接尝试次数 } } }
配置完成后,请重启您的 MCP 客户端以使更改生效。
基本使用方法
在配置好 MCP 客户端并重启后,您可以通过 AI 助手直接提问以利用 BeyondSight 的代码影响分析能力,例如:
- “如果我修改 'UserService' 类,会有什么影响?” (AI 将自动调用 BeyondSight 的 'getClassImpact' 工具进行分析)
- “请帮我分析 'calculateTotal()' 方法的变动影响。” (AI 将自动调用 BeyondSight 的 'getMethodImpact' 工具进行分析)
- “修改 'userName' 字段会影响到哪些方法?” (AI 将自动调用 BeyondSight 的 'getFieldImpact' 工具进行分析)
BeyondSight 将分析您的 Java 代码库并向 AI 助手提供详细的代码影响报告。
信息
分类
开发者工具