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
评论区
登录后可评论。