← 返回目录
J

jcodemunch-mcp

社区
基于 AST 的高效代码检索,减少 95% 以上代码探索 Token。
GitHub 源仓库 ↗
★ 2.1k Stars 分类 · 开发工具 非常热门
54FMRS · D
可靠性
8/20
安全与权限
12/20
维护活跃度
9/20
文档质量
13/20
安装易用性
12/20

一个面向 AI 辅助开发的本地优先代码检索服务器,核心价值是 tree-sitter 符号级检索、结构分析和 Token 控制。它适合代码探索密集型工作流,但用户应评估本地索引、可选遥测、网络扩展和商业许可条件。

查看 FMRS 评分方法 →

jcodemunch-mcp 是一个通过 tree-sitter AST 解析代码库、提供符号级 GitHub 和本地代码检索的 MCP 服务器。它可索引 70 多种语言,按函数、类、方法、常量、调用关系和代码结构返回精确上下文,减少读取完整文件带来的 Token 消耗。索引默认保存在本地。

工具能力

search_symbols
按名称、类型或语言搜索代码符号。
get_symbol_source
获取指定符号的精确源代码实现。
get_context_bundle
在 Token 预算内获取多个相关符号及其上下文。
assemble_task_context
根据自然语言任务自动分类意图、提取符号并组装带来源的上下文。
plan_turn
在读取代码前规划工具调用、目标符号和 Token 预算。
get_ranked_context
按查询相关性和 PageRank 返回预算内的符号上下文。
find_importers
查找导入指定文件或模块的代码。
get_blast_radius
分析修改符号可能影响的调用者和依赖项。
get_call_hierarchy
遍历符号的调用者和被调用者。
find_dead_code
查找不可达的符号和文件。
get_changed_symbols
将 Git 差异映射到新增、修改或删除的符号。
search_ast
跨语言搜索结构化 AST 模式和预设反模式。
winnow_symbols
按类型、复杂度、调用、文件、Git 变更和重要性等条件组合筛选符号。

安装接入

安装 Python 包:pip install jcodemunch-mcp,或直接使用 uvx jcodemunch-mcp。然后将提供的 stdio 配置添加到 MCP 客户端,并重启客户端。也可以运行 jcodemunch-mcp init 自动检测并配置部分客户端。首次使用时索引本地目录或 GitHub 仓库。

claude_desktop_config.json
{"mcpServers":{"jcodemunch":{"command":"uvx","args":["jcodemunch-mcp"]}}}

选型与风险

适合谁

  • 需要分析大型或陌生代码库的开发者
  • 使用 Claude Code、Cursor 或其他 MCP 客户端的工程团队
  • 重视本地索引、精确检索和 Token 成本控制的用户

不适合谁

  • 只需要通用聊天或网页浏览的用户
  • 不希望在本地建立代码索引的环境
  • 需要官方产品维护者支持或明确开源许可证的企业采购场景

所需权限

  • 需要读取待索引的本地代码目录或 GitHub 仓库内容。
  • 需要在本地写入索引和会话数据,默认位置为 ~/.code-index/,可通过 CODE_INDEX_PATH 覆盖。
  • 若启用文件监视、Agent hooks 或登录服务,需要相应的本地文件和服务配置权限。
  • 匿名 Token 节省统计默认可能发送到项目公共计量服务;可通过 share_savings 或 JCODEMUNCH_SHARE_SAVINGS=0 关闭。

风险与副作用

  • 源代码索引和会话日志会在本地保存;会话日志包含访问过的路径和查询字符串。
  • 启用分享统计会产生出站网络请求;AI 摘要、嵌入模型、许可证验证和 Starter Pack 也可能产生用户发起的网络请求。
  • 部分可选扩展可能访问麦克风或处理图像;这些功能不属于核心 MCP 服务器。
  • README 声明个人非商业用途免费,商业用途需要付费许可证;仓库元数据中的许可证为 NOASSERTION。
  • Token 节省和检索准确率取决于索引完整性、语言支持和查询方式,不应视为无条件保证。

常见排障

  1. 确认 jcodemunch-mcp 或 uvx 已安装并位于 MCP 客户端可访问的 PATH 中。
  2. 运行 jcodemunch-mcp --version 和 jcodemunch-mcp config --check 检查安装、配置和前置条件。
  3. 检查 MCP 客户端的服务器日志;Claude Code 可使用 claude --mcp-debug。
  4. 确认目标目录已建立索引,并在文件变更后重新索引或启用 watch。
  5. 若客户端只显示少量工具,检查 tool_profile、tool_surface 和 disabled_tools 配置;counter 模式下可使用 menu() 浏览工具目录。

使用场景

按符号精确检索大型代码库
代码库入门、调试和重构
变更影响、调用层级和死代码分析
减少 AI 代码探索的上下文和 Token 消耗
跨 70 多种语言执行 AST 结构查询

支持客户端

Claude Code完整支持
Cursor完整支持
VS Code完整支持
Codex CLI部分支持
Continue部分支持
Windsurf部分支持
Autohand Code部分支持
Claude Desktop部分支持