jcodemunch-mcp: 一個透過 AST 解析實現精確 GitHub 源碼檢索的高效能 Token MCP server
它解決了什麼問題
AI 編碼代理通常透過開啟整個檔案並掃描數千行無關的程式碼來探索儲存庫,這會浪費 Token 並污染上下文視窗。jCodeMunch 提供了一個結構化的檢索系統,讓代理可以僅獲取它們需要的特定程式碼——例如函式、類別或方法——與傳統的 grep-and-read 方法相比,平均減少了 96% 的 Token 使用量。
運作原理
該專案實作了一個 Model Context Protocol (MCP) server,使用 tree-sitter AST 解析來建立程式碼庫的索引。它儲存結構化的符號(symbol)元數據和位元組偏移量,從而在檢索源碼時實現位元組級別的精確度。它還具有一種稱為 "MUNCH" 的精簡傳輸格式,透過對路徑前綴進行內化(interning)並將列表打包成標記過的 CSV 行,進一步減少了傳送給代理的位元組數量。
對象是誰
使用 MCP 相容的 AI 編碼助手(例如 Claude Code, Cursor, Windsurf, VS Code, 和 Continue)的開發者,他們希望降低 AI 支出、減少上下文視窗污染,並加快儲存庫探索的速度。
重點特性
- 極致的 Token 效率:基準測試顯示程式碼閱讀的 Token 使用量減少了 86–99%。
- 精確的符號檢索:能夠在不閱讀整個檔案的情況下,獲取函式、類別和常數的確切實作。
- 進階的結構化查詢:用於尋找死碼(dead code)、偵測未測試的符號、將 git-diffs 映射到符號,以及透過 PageRank 分析架構中心性(architectural centrality)的工具。
- 廣泛的語言支持:使用 tree-sitter 來支援超過 70 種語言。
- n精簡的輸出:一種專門的傳輸格式,可在工具回應中額外節省 45.5% 的位元組。
- 安全預檢:根據引用者、引用和執行時證據來檢查刪除或編輯符號是否安全的工具。