jcodemunch-mcp: 一个通过 AST 解析实现精确 GitHub 源代码检索的高效 Token MCP 服务器

它解决了什么问题

AI 编程助手通常通过打开整个文件并扫描数千行无关代码来探索仓库,这会浪费 Token 并污染上下文窗口。jCodeMunch 提供了一个结构化检索系统,允许助手仅获取它们需要的特定代码——例如函数、类或方法——与传统的 grep-and-read 方法相比,平均减少了 96% 的 Token 使用量。

工作原理

该项目实现了一个 Model Context Protocol (MCP) 服务器,它使用 tree-sitter AST 解析来对代码库进行索引。它存储结构化的符号元数据和字节偏移量,从而在检索源代码时实现字节级精度。它还具有一种名为 "MUNCH" 的紧凑型传输格式,通过对路径前缀进行驻留(interning)并将列表打包进带标签的 CSV 行,进一步减少了发送给助手的字节数。

适合谁使用

使用 MCP 兼容的 AI 编程助手(如 Claude Code, Cursor, Windsurf, VS Code, 和 Continue)的开发者,希望降低 AI 开销、减少上下文窗口污染并加快仓库探索速度。

亮点

  • 极高的 Token 效率: 基准测试显示代码阅读的 Token 使用量减少了 86–99%。
  • 精确的符号检索: 能够获取函数、类和常量的精确实现,而无需阅读整个文件。
  • 高级结构化查询: 用于查找死代码、检测未测试的符号、将 git-diffs 映射到符号以及通过 PageRank 分析架构中心性的工具。
  • 广泛的语言支持: 使用 tree-sitter 支持超过 70 种语言。
  • 紧凑的输出: 一种专门的传输格式,可在工具响应中额外节省 45.5% 的字节。
  • 安全预检: 根据导入者、引用和运行时证据来检查删除或编辑符号是否安全的工具。

Sources