trace-mcp Skill:一次 MCP 调用替掉 42 分钟 Agent 探索

trace-mcp 把「AI 编程 Agent 每回合都在重复读文件、重复遍历依赖」这件事直接做成了一层缓存索引,让 Claude Code / Codex 用一次 MCP 调用就能拿到原本要花 42 分钟手动探查才能拼出来的答案。最近一周它冲进了社区维护的 trending-claude-skills 自动榜单前列,是「让 Agent 不再把 context window 当数据库用」这条赛道里声量上升最快的工具

功能与原则

trace-mcp 的核心是一套 framework-aware 代码依赖图引擎:启动时扫描源码并构建一次跨语言调用图(87 个框架适配、81 种语言、169 个 MCP tool),然后通过 Model Context Protocol 把这个图持续暴露给 Agent。原则是「Recomputation → Reuse」——同样的结构探索只付一次账,后续每回合 Agent 不必再从文件树暴力 grep + read。同一引擎把 markdown vault(Obsidian / Logseq / 普通 MD)当成一等公民来索引,[[wikilinks]]#tags、frontmatter 都进图,因此代码与笔记共享同一张图。

认可度

  • GitHub: 95 stars(截至 2026-09-01),最近 07d trend 上升
  • npm 包 trace-mcp: 累计约 5,000 次下载(截至 2026-09-01,market.dev 数据)
  • Trending 经历: 入选社区维护的 trending-claude-skills 自动榜单(每 15 分钟刷新)第 4 位(2026-08-29 快照)
  • 第三方收录: Smithery、ClaudePluginHub、verified-skill(Tier 1 安全 PASS 91/100)、awesome-mcp-servers
  • 社媒讨论: 在 X/Twitter 与 HN 的 AI Agent 圈被作为「Claude Code token 优化」代表性项目提及

链接

  • GitHub: https://github.com/nikolai-vysotskyi/trace-mcp
  • npm: https://www.npmjs.com/package/trace-mcp
  • 官网: https://trace-mcp.com
  • 项目页: https://claudepluginhub.com/marketplaces/nikolai-vysotskyi-trace-mcp

原作者

Nikolai Vysotskyi(GitHub: @nikolai-vysotskyi)。独立开发者,长期耕耘在 AI Agent 工程化、代码图谱与 MCP 工具生态;trace-mcp 是他把「framework-aware dependency graph」从论文级想法落到生产可用 MCP server 的代表作。

介绍

trace-mcp 解决的是当下 AI 编程 Agent 最痛的「算力浪费型复读」问题:Agent 每多走一个回合,都要重新读同一批热文件、重新遍历同一段依赖、重新在 context window 里塞入它五分钟前已经消化过的结构。项目越大,单回合成本越高——token 单价、延迟、幻觉率都随仓库规模而不是任务复杂度增长。

它通过 MCP 提供一组语义化工具:get_change_impact(变更爆炸半径)、get_request_flow(URL→渲染像素的框架感知路径)、get_untested_symbols(未测试符号)、plan_turn(开局路由 + 历史决策注入)、get_wake_up(跨会话上下文继承,~300 tokens 给 Agent 一个 orientation),把 Agent 从「读文件做推断」转成「查图做决策」。同一引擎可以挂在 markdown vault 上做反向引用、改名重写、知识图谱搜索——所以一套 MCP 同时覆盖代码与笔记两个域。

特点

  • Framework-aware edges:理解 Inertia::render('Users/Show') 把 Laravel controller 接到 Vue 组件,理解 $user->posts() 跨三张 migration 关联表,87 个框架集成把”语义边”做实
  • 代码 + 知识双图:同一引擎索引代码与 Obsidian/Logseq vault,[[wikilinks]]#tags、frontmatter 都是一等图边
  • 跨会话决策记忆plan_turn + get_wake_up 把过去会话里的决策”绑回”具体符号,改动时连带浮现
  • 低成本高收益:作者早期 benchmark 显示平均 40-50% token 节省、最高 2x 有效容量、99% 冗余处理下降
  • 自带桌面端:随包附带 GPU 图浏览器,把同一份索引以交互图谱形式可视化

使用方法

安装(npx 一行):

npx claudepluginhub nikolai-vysotskyi/trace-mcp
# 或直接装到 Claude Code / Codex / Cursor / Cline / Roo Code 等 39 兼容 Agent

Claude Code 配置(~/.claude/mcp_servers.json):

{
  "mcpServers": {
    "trace-mcp": {
      "command": "npx",
      "args": ["-y", "trace-mcp"]
    }
  }
}

最小调用:

// 在 Claude Code 里直接问:
"如果我把 src/models/User.ts 改成 UserAccount,blast radius 是哪些文件?"
→ Agent 调用 get_change_impact,一次返回变更爆炸半径 + 关联架构决策

Obsidian 知识库接入:

trace-mcp index --vault ~/Documents/Notes
# 之后 find_usages note:LlM-Cost 也走同一张图

使用场景与人群

  • 大型代码库的 Claude Code / Codex 长任务:重构、跨模块 bug 定位、架构审计,原本要”80 次 grep + 190 次 read”的活压缩成一次 MCP 调用
  • Obsidian / Logseq 重度用户:希望 Agent 能直接读写 vault、做改名重写、做反向引用检索
  • Token 敏感团队:跑生产环境 Claude Code / OpenAI Codex 账单吃紧、希望把单任务成本压 40% 以上的
  • AI 工程师 / 平台团队:给团队的 Coding Agent 配置一套共享代码图,避免每次新会话都从零探索
  • 目标用户:能写 JSON 配置、能接受 npx 命令、已经用 Claude Code 或 Codex 做主力编程的人

输入与输出案例

案例 1:变更爆炸半径(get_change_impact)

输入:get_change_impact({ symbol: "src/db/connection.ts::Pool", depth: 3 })

输出:
json
{
"blast_radius": 17,
"languages": ["PHP", "TypeScript", "Vue"],
"frameworks": ["Laravel", "Inertia", "Vite"],
"linked_decisions": [
{ "id": "d_092", "summary": "选用 PostgreSQL 15 by JSONB 支持" }
],
"risk_score": 0.62
}

案例 2:未测试符号定位(get_untested_symbols)

输入:get_untested_symbols({ path: "src/services/billing", mode: "unreached" })

输出(节选):
- chargeSubscription() unreached · used in 3 prod routes, 0 test files
- applyDiscount() imported_only · imported in 2 files, never called in tests
- refundById(id) covered


GitHub: https://github.com/nikolai-vysotskyi/trace-mcp

评论区

0 条评论

登录后可评论。

Skill超级捕获手 16 阅读