trace-mcp 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -39,20 +39,20 @@ _Last updated: April 2026. Based on public documentation and GitHub repos. If yo
39
39
 
40
40
  Tools that help AI agents read code with fewer tokens — AST parsing, outlines, context packing.
41
41
 
42
- | Capability | trace-mcp | Repomix | Context Mode | code-review-graph | jCodeMunch | codebase-memory-mcp |
43
- |---|:---:|:---:|:---:|:---:|:---:|:---:|
44
- | **GitHub stars** | — | 23K | 6.6K | 5.1K | 1.5K | 1.3K |
45
- | Tree-sitter AST parsing | ✅ 68 languages | ✅ compress only (~20) | ❌ no code parsing | ✅ | ✅ ~40 languages | ✅ 66 languages |
46
- | Token-efficient symbol lookup | ✅ outlines, symbols, bundles | ❌ packs entire files | ✅ sandboxed output | ✅ | ✅ core focus | ✅ |
47
- | Cross-file dependency graph | ✅ directed edge graph | ❌ | ❌ | ✅ knowledge graph | ✅ import graph | ✅ knowledge graph |
48
- | Framework-aware edges | ✅ 53 integrations (14 frameworks, 7 ORMs, 12 UI libs) | ❌ | ❌ | ❌ | partial (4 frameworks) | partial (REST routes) |
49
- | Impact analysis | ✅ reverse dep traversal | ❌ | ❌ | ❌ | ✅ blast radius | ✅ detect_changes |
50
- | Call graph | ✅ bidirectional | ❌ | ❌ | ❌ | ✅ class hierarchy | ✅ trace_call_path |
51
- | Refactoring tools | ✅ rename, extract, dead code, codemod | ❌ | ❌ | ❌ | ❌ (dead code detect only) | ❌ |
52
- | Security scanning | ✅ OWASP Top-10, taint | ✅ Secretlint | ❌ | ❌ | ❌ | ❌ |
53
- | Multi-repo federation | ✅ cross-repo API linking | ✅ remote repos | ❌ | ❌ | ✅ GitHub repos | ❌ |
54
- | Session memory | ✅ built-in | ❌ | ✅ SQLite journal | ❌ | ✅ index persistence | ✅ persistent graph |
55
- | Written in | TypeScript | TypeScript | TypeScript | Python | Python | C |
42
+ | Capability | trace-mcp | Repomix | Context Mode | code-review-graph | jCodeMunch | codebase-memory-mcp | cymbal |
43
+ |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
44
+ | **GitHub stars** | — | 23K | 6.6K | 5.1K | 1.5K | 1.3K | 137 |
45
+ | Tree-sitter AST parsing | ✅ 68 languages | ✅ compress only (~20) | ❌ no code parsing | ✅ | ✅ ~40 languages | ✅ 66 languages | ✅ 22 languages |
46
+ | Token-efficient symbol lookup | ✅ outlines, symbols, bundles | ❌ packs entire files | ✅ sandboxed output | ✅ | ✅ core focus | ✅ | ✅ outline/show/context |
47
+ | Cross-file dependency graph | ✅ directed edge graph | ❌ | ❌ | ✅ knowledge graph | ✅ import graph | ✅ knowledge graph | ✅ refs/importers |
48
+ | Framework-aware edges | ✅ 53 integrations (14 frameworks, 7 ORMs, 12 UI libs) | ❌ | ❌ | ❌ | 21 frameworks (route/middleware) | partial (REST routes) | ❌ |
49
+ | Impact analysis | ✅ reverse dep traversal + decorator filter | ❌ | ❌ | ❌ | ✅ blast radius + decorator filter | ✅ detect_changes | ✅ impact command |
50
+ | Call graph | ✅ bidirectional, graph-based | ❌ | ❌ | ❌ | ✅ AST-based, bidirectional | ✅ trace_call_path | ✅ refs/importers |
51
+ | Refactoring tools | ✅ rename, extract, dead code, codemod | ❌ | ❌ | ❌ | ❌ (dead code detect only) | ❌ | ❌ |
52
+ | Security scanning | ✅ OWASP Top-10, taint | ✅ Secretlint | ❌ | ❌ | ❌ | ❌ | ❌ |
53
+ | Multi-repo federation | ✅ cross-repo API linking | ✅ remote repos | ❌ | ❌ | ✅ GitHub repos | ❌ | ❌ |
54
+ | Session memory | ✅ built-in | ❌ | ✅ SQLite journal | ❌ | ✅ index persistence | ✅ persistent graph | ❌ |
55
+ | Written in | TypeScript | TypeScript | TypeScript | Python | Python | C | Go |
56
56
 
57
57
  ### vs. AI session memory
58
58
 
@@ -97,20 +97,21 @@ _¹ mcp-local-rag and knowledge-rag are document RAG tools (PDF, DOCX, Markdown)
97
97
 
98
98
  ### vs. code graph MCP servers
99
99
 
100
- | Capability | trace-mcp | code-review-graph | codebase-memory-mcp | SocratiCode | Narsil-MCP | Roam-Code |
101
- |---|:---:|:---:|:---:|:---:|:---:|:---:|
102
- | Languages | 68 | ~10 | 66 | ~15 | 32 | ~10 |
103
- | Framework integrations | 53 (14 fw + 7 ORM + 12 UI + 20 other) | | | | | |
104
- | Cross-language edges | | ❌ | ❌ | ❌ | ❌ | ❌ |
105
- | MCP tools | 120+ | ~15 | ~20 | ~25 | 90 | 139 |
106
- | Session memory | | | | | | |
107
- | CI/PR reports | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
108
- | Multi-repo federation | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
109
- | Security scanning | ✅ | ❌ | ❌ | ❌ | | ❌ |
110
- | Refactoring tools | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
111
- | Architecture governance | ✅ | ❌ | ❌ | ❌ | ❌ | |
112
- | Token savings tracking | ✅ | | ❌ | ❌ | ❌ | ❌ |
113
- | Written in | TypeScript | Python | C | TypeScript | Rust | Python |
100
+ | Capability | trace-mcp | Serena | code-review-graph | codebase-memory-mcp | SocratiCode | Narsil-MCP | Roam-Code |
101
+ |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
102
+ | **GitHub stars** | | 22.6K | 5.1K | 1.3K | | | — |
103
+ | Languages | 68 | ~20 (via LSP) | ~10 | 66 | ~15 | 32 | ~10 |
104
+ | Framework integrations | 53 (14 fw + 7 ORM + 12 UI + 20 other) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
105
+ | Cross-language edges | | | | | | | ❌ |
106
+ | MCP tools | 120+ | ~35 | ~15 | ~20 | ~25 | 90 | 139 |
107
+ | Session memory | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
108
+ | CI/PR reports | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
109
+ | Multi-repo federation | ✅ | ❌ | ❌ | ❌ | | ❌ | ❌ |
110
+ | Security scanning | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
111
+ | Refactoring tools | ✅ | ✅ rename, symbol editing | ❌ | ❌ | ❌ | ❌ | |
112
+ | Architecture governance | ✅ | | ❌ | ❌ | ❌ | ❌ | ✅ |
113
+ | Token savings tracking | | | | | | | ❌ |
114
+ | Written in | TypeScript | Python | Python | C | TypeScript | Rust | Python |
114
115
 
115
116
  > **Why framework awareness matters:** A graph that knows `UserController` exists but doesn't know it renders `Users/Show.vue` via Inertia is missing the edges that matter most. Framework integrations turn a syntax graph into a **semantic** graph — the agent sees the same connections a developer sees.
116
117
 
@@ -120,7 +121,7 @@ _¹ mcp-local-rag and knowledge-rag are document RAG tools (PDF, DOCX, Markdown)
120
121
 
121
122
  AI agents burn tokens reading files they don't need. trace-mcp returns **precision context** — only the symbols, edges, and signatures relevant to the query.
122
123
 
123
- **Benchmark: trace-mcp's own codebase** (653 files, 3,493 symbols):
124
+ **Benchmark: trace-mcp's own codebase** (694 files, 3,831 symbols):
124
125
 
125
126
  ```
126
127
  Task Without trace-mcp With trace-mcp Reduction
@@ -146,6 +147,18 @@ Total 572,444 tokens 49,997 tokens 91.3%
146
147
 
147
148
  **Composite tasks deliver the biggest wins.** A single `get_task_context` call replaces a chain of ~10 sequential operations (search → get_symbol × 5 → Read × 3 → Grep × 2). That's **one round-trip instead of ten**, with 90%+ token reduction.
148
149
 
150
+ **Per-task breakdown** — what it actually costs to answer common questions:
151
+
152
+ | Question | Naive approach | trace-mcp tool | Tokens (naive) | Tokens (trace-mcp) | Reduction |
153
+ |---|---|---|---|---|---|
154
+ | "Where is `registerTool` defined?" | Grep all .ts files | `search` | ~12,400 | ~800 | **93%** |
155
+ | "What calls `getDeadCodeV2`?" | Grep + Read 8 files | `get_call_graph` | ~18,200 | ~1,100 | **94%** |
156
+ | "What breaks if I rename `Store`?" | Manual trace across 40+ files | `get_change_impact` | ~62,000 | ~2,400 | **96%** |
157
+ | "Find all tests for `extractOpenAPI`" | Glob + Read 12 test files | `get_tests_for` | ~14,800 | ~650 | **96%** |
158
+ | "Understand the indexing pipeline" | Read 15 source files | `get_task_context` | ~89,000 | ~7,200 | **92%** |
159
+ | "Unused exports in src/tools/" | Read + Grep all files | `get_dead_code` | ~38,000 | ~1,800 | **95%** |
160
+ | "All OpenAPI endpoints in the project" | Find + Read all .yaml/.json | `search` (kind=function, yamlKind=endpoint) | ~22,000 | ~900 | **96%** |
161
+
149
162
  <details>
150
163
  <summary>Methodology</summary>
151
164