XRAY MCP 是一个为 AI 助手提供渐进式代码智能与导航能力的工具,通过 ast-grep 进行结构化代码分析。它旨在解决 AI 助手在理解代码库时面临的常见问题,如无法查看代码结构、不知道函数依赖关系、缺乏影响分析等。XRAY 为 AI 助手提供了代码导航能力,只需在提示中添加“use XRAY tools”即可使用。
主要能力
XRAY 提供三个核心工具:
- Map(explore_repo):查看项目结构,展示符号骨架,帮助从宏观到微观逐步了解代码库。
- Find(find_symbol):通过模糊搜索定位函数和类,支持查看函数签名和文档字符串。
- Impact(what_breaks):查找符号被引用的位置,评估变更影响。
此外,还提供 what_depends 工具,用于查找符号依赖的代码(调用和导入)。
使用方式
XRAY 采用无状态设计,无需数据库或持久索引,每次操作实时运行 ast-grep 查询,确保结果准确。安装方式多样:
- 使用 uv 自动化安装脚本快速设置。
- 使用 uvx 直接运行而无需安装。
- 作为工具持久安装。
- 开发模式安装。
安装后,需配置 AI 助手(如 Claude、Cursor、VS Code)使用 XRAY。可使用仓库中的 mcp-config-generator.py 脚本生成配置,或手动配置。配置完成后,在提示中添加“use XRAY tools”即可调用。
适用场景
XRAY 适用于需要 AI 助手深入理解代码库的场景,如代码重构、影响分析、符号查找等。它特别适合大型项目,通过 focus_dirs 参数可聚焦特定目录,避免信息过载。
限制
XRAY 基于 ast-grep 进行结构化分析,但结果可能包含注释或字符串中的匹配,AI 助手会根据上下文智能过滤。它不依赖语言服务器协议(LSP),因此无需安装和配置多个语言服务器,但功能上比 LSP 简单。支持的语言包括 Python、JavaScript、TypeScript 和 Go。性能方面,启动快速,符号搜索速度取决于代码库大小,内存占用极小。