code-to-tree 是一个 MCP(Model Context Protocol)服务器,其核心目标是为大语言模型提供将源代码准确转换为抽象语法树(AST)的能力,且不依赖于特定的编程语言。该工具的设计强调两个关键点:一是底层语法解析器需要足够通用,因此选择了 tree-sitter,目前支持的语言包括 C、C++、Rust、Ruby、Go、Java、Python;二是服务器应将所有能力封装在自身内部,尽量减少对终端用户机器的软件依赖,因此采用了 mcpc 来实现。最终产物是一个独立的二进制文件,MCP 客户端只需要这个文件即可运行。
使用方式:用户首先需要获取 code-to-tree 的可执行文件(Windows 下为 code-to-tree.exe,macOS 下为 code-to-tree),可以从 GitHub 发布页面下载或自行构建。下载后,在 MCP 客户端(例如 Claude)的配置文件中指定可执行文件的路径。对于 Windows,配置文件位于 C:\Users\YOUR_NAME\AppData\Roaming\Claude\claude_desktop_config.json;对于 macOS,配置文件位于 ~/Library/Application Support/Claude/claude_desktop_config.json。配置完成后,MCP 客户端即可调用该服务器将源代码转换为 AST。
构建方式:如果选择自行构建,在 Windows 上需要先准备环境,下载并安装 MSYS2,打开 "MSYS2 MINGW64" 应用并运行 pacman -S make gcc git。然后准备 tree-sitter 库,需要编译并安装 tree-sitter 及所有相关语法。最后编译 code-to-tree。在 macOS 上,需要安装 Xcode Command Line Tools,然后进行类似的编译步骤。具体构建命令可参考项目文档。
适用场景:该工具适用于需要将源代码解析为抽象语法树的场景,特别是当大语言模型需要理解代码结构时。它可以集成到支持 MCP 的客户端中,如 Claude Desktop,帮助模型更准确地分析代码。
限制:目前支持的语言有限,仅包括 C、C++、Rust、Ruby、Go、Java、Python。工具本身不提供运行时,所有依赖都打包在二进制文件中,但构建时需要相应的编译环境。关于收费、价格、平台兼容性等更多信息暂未提供。