weavatrix 1.9.2 → 1.11.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 +105 -15
- package/bin/native/darwin-arm64/weavatrix +0 -0
- package/bin/native/darwin-x64/weavatrix +0 -0
- package/bin/native/linux-arm64/weavatrix +0 -0
- package/bin/native/linux-x64/weavatrix +0 -0
- package/bin/native/win32-arm64/weavatrix.exe +0 -0
- package/bin/native/win32-x64/weavatrix.exe +0 -0
- package/package.json +3 -3
- package/server.json +3 -3
- package/skill/SKILL.md +2 -2
- package/skill/references/tool-routing.md +16 -10
- package/skill/references/tools/find_references.md +36 -0
- package/skill/references/tools/git_read_blob.md +33 -0
- package/skill/references/tools/go_to_definition.md +34 -0
- package/skill/references/tools/list_known_repos.md +2 -2
- package/skill/references/tools/perf_attribution.md +39 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Weavatrix — native MCP repository intelligence
|
|
2
2
|
|
|
3
|
+
<img src="https://raw.githubusercontent.com/Weavatrix/weavatrix/main/plugins/weavatrix/assets/logo.svg" alt="Weavatrix logo" width="88" align="right">
|
|
4
|
+
|
|
3
5
|
[](https://github.com/Weavatrix/weavatrix/actions/workflows/ci.yml)
|
|
4
6
|
[](https://www.npmjs.com/package/weavatrix)
|
|
5
7
|
[](https://crates.io/crates/weavatrix-rust)
|
|
@@ -8,7 +10,7 @@
|
|
|
8
10
|
**Give your coding agent repository evidence before it starts guessing.**
|
|
9
11
|
|
|
10
12
|
Weavatrix is the native MCP product for repository intelligence. It gives
|
|
11
|
-
Codex, Claude Code, and other coding agents
|
|
13
|
+
Codex, Claude Code, and other coding agents 47 read-only operations over one
|
|
12
14
|
revision-bound evidence graph: impact, architecture, APIs, Git history,
|
|
13
15
|
duplicates, dead code, search, semantic links, and temporal memory.
|
|
14
16
|
|
|
@@ -91,19 +93,93 @@ Which dependency violates .weavatrix/architecture.json?
|
|
|
91
93
|
Find every GraphQL, gRPC, Kafka, RabbitMQ, NATS, JMS, SQS, or SNS
|
|
92
94
|
contract affected by this branch.
|
|
93
95
|
Build the smallest source bundle needed to edit this symbol safely.
|
|
96
|
+
Show me this file as it was two commits ago, without a checkout.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## See it answer
|
|
100
|
+
|
|
101
|
+
Real answers from Weavatrix analyzing its own repository at commit
|
|
102
|
+
`ec8bf30`, abridged (`…`) and with the local root shortened. Reproduce any of
|
|
103
|
+
them with `weavatrix tool <name> . '<arguments>'`.
|
|
104
|
+
|
|
105
|
+
**Orient in one call** — and know exactly which repository and revision
|
|
106
|
+
answered:
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{"name": "graph_stats", "arguments": {}}
|
|
94
110
|
```
|
|
95
111
|
|
|
96
|
-
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"nodes": 1294,
|
|
115
|
+
"edges": 2771,
|
|
116
|
+
"freshness": {"state": "CURRENT", "source_revision": "sha256:dd3d96d3…"},
|
|
117
|
+
"relations": {"calls": 651, "contains": 1271, "imports": 419, "references": 314, "…": "…"},
|
|
118
|
+
"repository_context": {
|
|
119
|
+
"root": "…/weavatrix",
|
|
120
|
+
"git_head": "ec8bf3041588623f23ec5e7ebbaff3a333da9ca7",
|
|
121
|
+
"scan_revision": "sha256:dd3d96d3…",
|
|
122
|
+
"graph_age_seconds": 0
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Every answer carries that `repository_context` block. Add
|
|
128
|
+
`"expected_repository": "weavatrix"` to any call and a server that was
|
|
129
|
+
retargeted elsewhere fails loudly instead of answering about the wrong
|
|
130
|
+
repository.
|
|
131
|
+
|
|
132
|
+
**Blast radius before you edit:**
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
{"name": "get_dependents", "arguments": {"label": "file:src/mcp/server/mod.rs", "max_nodes": 6}}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"dependents": [
|
|
141
|
+
{"distance": 1, "node": {"id": "file:src/main.rs", "language": "rust"}},
|
|
142
|
+
{"distance": 1, "node": {"id": "file:src/mcp/mod.rs"}},
|
|
143
|
+
{"distance": 1, "node": {"id": "file:src/mcp/server/tests/catalog.rs"}},
|
|
144
|
+
{"…": "…"}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**The file as it was — no checkout** (`git_read_blob`):
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{"name": "git_read_blob", "arguments": {"path": "Cargo.toml", "revision": "HEAD~3", "max_bytes": 400}}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"path": "Cargo.toml",
|
|
158
|
+
"revision": "70b5bc788a10ec89ab28b9ecbc005e3b9c7f9829",
|
|
159
|
+
"oid": "f5f54bac00a4feb6e965c0d87c5c6d4d25782e91",
|
|
160
|
+
"kind": "utf8-text",
|
|
161
|
+
"lines": ["[package]", "name = \"weavatrix\"", "version = \"1.9.2\"", "…"],
|
|
162
|
+
"size_bytes": 1224,
|
|
163
|
+
"returned_bytes": 400,
|
|
164
|
+
"truncated": true
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Three commits before `ec8bf30` this package was 1.9.2; the agent reads that
|
|
169
|
+
follow-up to a diff without touching the worktree. Binary blobs fail closed
|
|
170
|
+
instead of being decoded into garbage.
|
|
171
|
+
|
|
172
|
+
## The 47 read-only operations
|
|
97
173
|
|
|
98
174
|
| Workflow | Operations |
|
|
99
175
|
| --- | --- |
|
|
100
176
|
| Graph orientation | `graph_stats`, `get_node`, `get_neighbors`, `query_graph`, `god_nodes`, `shortest_path`, `get_community`, `list_communities`, `module_map`, `build_graph` |
|
|
101
177
|
| Change impact | `get_dependents`, `change_impact`, `select_tests`, `verified_change`, `prepare_change`, `graph_diff` |
|
|
102
|
-
| Exact source context | `search_code`, `read_source`, `inspect_symbol`, `context_bundle`, `map_stacktrace` |
|
|
103
|
-
| Health and quality | `find_duplicates`, `find_dead_code`, `run_audit`, `coverage_map`, `hot_path_review` |
|
|
178
|
+
| Exact source context | `search_code`, `read_source`, `inspect_symbol`, `go_to_definition`, `find_references`, `context_bundle`, `map_stacktrace` |
|
|
179
|
+
| Health and quality | `find_duplicates`, `find_dead_code`, `run_audit`, `coverage_map`, `hot_path_review`, `perf_attribution` |
|
|
104
180
|
| APIs and transports | `list_endpoints`, `trace_endpoint`, `trace_api_contract` |
|
|
105
181
|
| Architecture | `get_architecture_contract`, `verify_architecture`, `verify_capabilities`, `explain_architecture_violation`, `propose_architecture_exception` |
|
|
106
|
-
| Git and repositories | `git_history`, `cross_repo_git`, `open_repo`, `list_known_repos`, `rebuild_graph` |
|
|
182
|
+
| Git and repositories | `git_history`, `git_read_blob`, `cross_repo_git`, `open_repo`, `list_known_repos`, `rebuild_graph` |
|
|
107
183
|
| Native extensions | `vector_search`, `semantic_link`, `seo_link_suggestions`, `memory_context` |
|
|
108
184
|
|
|
109
185
|
Every operation is read-only with respect to the analyzed repository.
|
|
@@ -129,12 +205,12 @@ coding agent
|
|
|
129
205
|
|
|
|
130
206
|
| MCP over stdio
|
|
131
207
|
v
|
|
132
|
-
weavatrix 1.
|
|
208
|
+
weavatrix 1.11.0
|
|
133
209
|
profile catalog · refresh · watcher · MCP framing
|
|
134
210
|
|
|
|
135
211
|
v
|
|
136
|
-
weavatrix-rust 2.
|
|
137
|
-
typed graph · analysis ·
|
|
212
|
+
weavatrix-rust 2.10.0
|
|
213
|
+
typed graph · analysis · 47 read-only operations
|
|
138
214
|
```
|
|
139
215
|
|
|
140
216
|
This npm product owns MCP transport and native distribution. The
|
|
@@ -143,13 +219,27 @@ the reusable protocol-independent engine; it is not an MCP server.
|
|
|
143
219
|
Its standalone diagnostic therefore reports `weavatrix-rust <engine-version>`,
|
|
144
220
|
while this MCP product reports both its product and embedded-engine identities.
|
|
145
221
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
222
|
+
### You do not need the server to use the engines
|
|
223
|
+
|
|
224
|
+
The layers underneath are separately released npm packages with their own
|
|
225
|
+
repositories, licenses, and TypeScript types. Each one is a native library you
|
|
226
|
+
can `require` directly, with no MCP server, no agent, and no dependency on any
|
|
227
|
+
other Weavatrix package:
|
|
228
|
+
|
|
229
|
+
| Package | What it does on its own |
|
|
230
|
+
| --- | --- |
|
|
231
|
+
| [`weavatrix-scan`](https://www.npmjs.com/package/weavatrix-scan) | Deterministic repository manifests: normalized paths, sizes, hashes, one revision, typed skip evidence. |
|
|
232
|
+
| [`weavatrix-parse`](https://www.npmjs.com/package/weavatrix-parse) | Lossless tokenization and structural facts for 25 languages, with exact spans. |
|
|
233
|
+
| [`weavatrix-graph`](https://www.npmjs.com/package/weavatrix-graph) | A directed graph with provenance on every edge, plus BFS, SCC, topological sort, and PageRank. |
|
|
234
|
+
| [`weavatrix-memory`](https://www.npmjs.com/package/weavatrix-memory) | Bitemporal, evidence-carrying agent memory with a hard token budget and an audit receipt. |
|
|
235
|
+
| [`weavatrix-search`](https://www.npmjs.com/package/weavatrix-search) | Bounded ignore-aware content search, plus a persistent index updated from watcher events. |
|
|
236
|
+
| [`weavatrix-search-vector`](https://www.npmjs.com/package/weavatrix-search-vector) | Persistent, mutable vector search with metadata filters and an exact oracle. |
|
|
237
|
+
| [`weavatrix-clone`](https://www.npmjs.com/package/weavatrix-clone) | Type-1/2/3 clone detection with per-pair evidence and JSON, SARIF, and BigCloneEval output. |
|
|
238
|
+
|
|
239
|
+
Their Node and Bun benchmarks against the JavaScript library each would
|
|
240
|
+
otherwise replace live in one place, with the rules written down and the
|
|
241
|
+
losing rows kept:
|
|
242
|
+
[weavatrix-benchmarks](https://github.com/Weavatrix/weavatrix-benchmarks).
|
|
153
243
|
|
|
154
244
|
## Release evidence
|
|
155
245
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "weavatrix",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"weavatrixEngineVersion": "2.
|
|
5
|
-
"description": "Native repository intelligence for coding agents:
|
|
3
|
+
"version": "1.11.0",
|
|
4
|
+
"weavatrixEngineVersion": "2.10.0",
|
|
5
|
+
"description": "Native repository intelligence for coding agents: 47 read-only MCP operations backed by typed evidence graphs, impact, architecture, APIs, Git, search, semantics, and memory.",
|
|
6
6
|
"author": "Sergii Ziborov <sergii.ziborov@gmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"homepage": "https://weavatrix.com",
|
package/server.json
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.Weavatrix/weavatrix",
|
|
4
4
|
"title": "Weavatrix",
|
|
5
|
-
"description": "Native Weavatrix MCP:
|
|
5
|
+
"description": "Native Weavatrix MCP: 47 read-only repository tools across 24 code and configuration surfaces.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/Weavatrix/weavatrix",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.11.0",
|
|
11
11
|
"websiteUrl": "https://weavatrix.com",
|
|
12
12
|
"packages": [
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
16
16
|
"identifier": "weavatrix",
|
|
17
|
-
"version": "1.
|
|
17
|
+
"version": "1.11.0",
|
|
18
18
|
"runtimeHint": "npx",
|
|
19
19
|
"transport": {
|
|
20
20
|
"type": "stdio"
|
package/skill/SKILL.md
CHANGED
|
@@ -19,8 +19,8 @@ contracts. Do not call it merely because the server is available.
|
|
|
19
19
|
|
|
20
20
|
1. Call `graph_stats` to confirm the active repository and graph revision.
|
|
21
21
|
2. Use `module_map` for orientation or `search_code` for a known literal.
|
|
22
|
-
3. Pin decisive evidence with `inspect_symbol`, `
|
|
23
|
-
`read_source`.
|
|
22
|
+
3. Pin decisive evidence with `inspect_symbol`, `go_to_definition`,
|
|
23
|
+
`find_references`, `context_bundle`, or `read_source`.
|
|
24
24
|
4. Expand only when needed: `get_dependents` or `change_impact` for risk,
|
|
25
25
|
`trace_endpoint` or `trace_api_contract` for runtime contracts,
|
|
26
26
|
`verify_architecture` for policy, and `run_audit` for a broad health pass.
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Open only the card for the method you are about to call. Each card explains
|
|
4
4
|
when to use the method, its exact published inputs, and a minimal compact call.
|
|
5
|
-
The live MCP `tools/list` schema is authoritative.
|
|
5
|
+
The live MCP `tools/list` schema is authoritative. Every answer carries
|
|
6
|
+
`repository_context` (root, scan revision, Git HEAD, graph age); pass
|
|
7
|
+
`expected_repository` to fail fast when the active repository differs.
|
|
6
8
|
|
|
7
9
|
## Graph, source, and orientation
|
|
8
10
|
|
|
@@ -12,13 +14,15 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
12
14
|
- [`query_graph`](tools/query_graph.md) — Bounded BFS or DFS around exact or textual seeds.
|
|
13
15
|
- [`god_nodes`](tools/god_nodes.md) — Rank high-connectivity production nodes.
|
|
14
16
|
- [`shortest_path`](tools/shortest_path.md) — Shortest typed dependency path between two nodes.
|
|
15
|
-
- [`get_community`](tools/get_community.md) — Return one
|
|
16
|
-
- [`list_communities`](tools/list_communities.md) — List deterministic
|
|
17
|
-
- [`module_map`](tools/module_map.md) — Production folder
|
|
17
|
+
- [`get_community`](tools/get_community.md) — Return one coupling community (containment and package edges excluded).
|
|
18
|
+
- [`list_communities`](tools/list_communities.md) — List deterministic coupling communities (containment and package edges excluded).
|
|
19
|
+
- [`module_map`](tools/module_map.md) — Production folder map at a requested directory depth.
|
|
18
20
|
- [`build_graph`](tools/build_graph.md) — Workspace, target and runner topology from manifest evidence.
|
|
19
21
|
- [`search_code`](tools/search_code.md) — Literal or Rust-regex repository search without ripgrep.
|
|
20
22
|
- [`read_source`](tools/read_source.md) — Bounded source context by node or repository path.
|
|
21
23
|
- [`inspect_symbol`](tools/inspect_symbol.md) — Definition, direct relationships and source evidence.
|
|
24
|
+
- [`go_to_definition`](tools/go_to_definition.md) — Resolve the symbol at a source position to its definition without guessing by name.
|
|
25
|
+
- [`find_references`](tools/find_references.md) — Occurrences of the symbol at a position or label, from the graph and an on-disk SCIP index if present.
|
|
22
26
|
- [`context_bundle`](tools/context_bundle.md) — Compact graph and source bundle for one symbol.
|
|
23
27
|
- [`map_stacktrace`](tools/map_stacktrace.md) — Map stack-trace text onto repository files and symbols.
|
|
24
28
|
|
|
@@ -28,7 +32,8 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
28
32
|
- [`change_impact`](tools/change_impact.md) — Read-only Git change impact with graph evidence.
|
|
29
33
|
- [`select_tests`](tools/select_tests.md) — Select the test suites a change most plausibly needs to run.
|
|
30
34
|
- [`git_history`](tools/git_history.md) — Bounded direct Git history without launching git.
|
|
31
|
-
- [`
|
|
35
|
+
- [`git_read_blob`](tools/git_read_blob.md) — Bounded UTF-8 file content at an immutable Git revision or blob OID; binary blobs are refused.
|
|
36
|
+
- [`cross_repo_git`](tools/cross_repo_git.md) — Parallel histories, shared commits, or diffs across named local repositories.
|
|
32
37
|
- [`verified_change`](tools/verified_change.md) — Composite pre-commit evidence and conservative verdict.
|
|
33
38
|
- [`graph_diff`](tools/graph_diff.md) — Compare the current snapshot with an immutable Git revision.
|
|
34
39
|
|
|
@@ -38,7 +43,8 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
38
43
|
- [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
|
|
39
44
|
- [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
|
|
40
45
|
- [`coverage_map`](tools/coverage_map.md) — Measured coverage discovery or explicit static reachability.
|
|
41
|
-
- [`hot_path_review`](tools/hot_path_review.md) — Rank
|
|
46
|
+
- [`hot_path_review`](tools/hot_path_review.md) — Rank functions by static complexity times resolved call fan-in.
|
|
47
|
+
- [`perf_attribution`](tools/perf_attribution.md) — Correlate a measurement series with the declarations that changed between the revisions that produced it.
|
|
42
48
|
- [`get_architecture_contract`](tools/get_architecture_contract.md) — Read or preview the local target-architecture contract.
|
|
43
49
|
- [`prepare_change`](tools/prepare_change.md) — Select architecture rules for intended changed files.
|
|
44
50
|
- [`verify_architecture`](tools/verify_architecture.md) — Verify graph dependencies against the active contract.
|
|
@@ -48,14 +54,14 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
48
54
|
|
|
49
55
|
## APIs and transports
|
|
50
56
|
|
|
51
|
-
- [`list_endpoints`](tools/list_endpoints.md) — Inventory statically extracted HTTP endpoints.
|
|
57
|
+
- [`list_endpoints`](tools/list_endpoints.md) — Inventory statically extracted HTTP endpoints, including hand-rolled req.method/pathname conditions.
|
|
52
58
|
- [`trace_endpoint`](tools/trace_endpoint.md) — Resolve an endpoint and its bounded call neighborhood.
|
|
53
|
-
- [`trace_api_contract`](tools/trace_api_contract.md) — Cross-repository HTTP, GraphQL, gRPC and event-transport contract evidence.
|
|
59
|
+
- [`trace_api_contract`](tools/trace_api_contract.md) — Cross-repository HTTP, GraphQL, gRPC and event-transport contract evidence for named backend and client roots.
|
|
54
60
|
|
|
55
61
|
## Repositories and refresh
|
|
56
62
|
|
|
57
|
-
- [`open_repo`](tools/open_repo.md) — Retarget to another local repository.
|
|
58
|
-
- [`list_known_repos`](tools/list_known_repos.md) — List repositories
|
|
63
|
+
- [`open_repo`](tools/open_repo.md) — Retarget to another local repository. Graphs unused for 20 minutes unload; asking for one again rescans that folder.
|
|
64
|
+
- [`list_known_repos`](tools/list_known_repos.md) — List repositories with an in-process graph.
|
|
59
65
|
- [`rebuild_graph`](tools/rebuild_graph.md) — Rebuild the derived in-memory graph without source writes.
|
|
60
66
|
|
|
61
67
|
## Optional supplied-data analysis
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# `find_references`
|
|
2
|
+
|
|
3
|
+
Occurrences of the symbol at a position or label, from the graph and an on-disk SCIP index if present.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
List every recorded occurrence of one symbol after you have a label or a pinned
|
|
8
|
+
`(path, line, column)` usage.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
- `label` (string) — exact node label; mutually exclusive with a full position.
|
|
13
|
+
- `path` (string) — repository-relative file when resolving by position.
|
|
14
|
+
- `line` (integer, min 1) — 1-based line when resolving by position.
|
|
15
|
+
- `column` (integer, min 1) — 1-based column when resolving by position.
|
|
16
|
+
- `scip_path` (string) — optional on-disk SCIP index; never spawned.
|
|
17
|
+
- `max_results` (integer, min 1).
|
|
18
|
+
- `cursor` (string).
|
|
19
|
+
- `output_format` ("text" | "json" | "structured", default "json") — text returns the concise text block only; json returns structured output and mirrors it into text for clients that read only content; structured drops that mirror, which is the larger copy, and is safe only where the client reads structuredContent.
|
|
20
|
+
|
|
21
|
+
## Minimal call
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"name": "find_references",
|
|
26
|
+
"arguments": {
|
|
27
|
+
"path": "src/main.rs",
|
|
28
|
+
"line": 42,
|
|
29
|
+
"column": 12,
|
|
30
|
+
"output_format": "text"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Requires `label` or a complete position. The live MCP `tools/list` schema
|
|
36
|
+
remains authoritative for this installed version.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `git_read_blob`
|
|
2
|
+
|
|
3
|
+
Bounded UTF-8 file content at an immutable Git revision or blob OID; binary blobs are refused.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
After `graph_diff` or `git_history`, read a file "as it was" at a revision - or the exact blob an OID names - without checking anything out.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- `max_bytes` (integer, min 1) — cap on returned content bytes (default 262144); the true size and a truncation flag are always reported.
|
|
12
|
+
- `oid` (string) — blob object id; mutually exclusive with `path`.
|
|
13
|
+
- `output_format` ("text" | "json" | "structured", default "json") — text returns the concise text block only; json returns structured output and mirrors it into text for clients that read only content; structured drops that mirror, which is the larger copy, and is safe only where the client reads structuredContent.
|
|
14
|
+
- `path` (string) — repository-relative file path looked up in the revision's tree.
|
|
15
|
+
- `revision` (string) — any resolvable revision, `~N` first-parent steps supported; default `HEAD`.
|
|
16
|
+
- `token_budget` (integer, min 1) — Approximate output ceiling in tokens (serialized bytes / 4); result arrays are trimmed from the tail to fit and the report states what was dropped.
|
|
17
|
+
|
|
18
|
+
## Minimal call
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"name": "git_read_blob",
|
|
23
|
+
"arguments": {
|
|
24
|
+
"path": "src/app.js",
|
|
25
|
+
"revision": "HEAD~1",
|
|
26
|
+
"output_format": "text"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Binary content fails closed with the blob's true size; the answer never
|
|
32
|
+
fabricates text from bytes. The live MCP `tools/list` schema remains
|
|
33
|
+
authoritative for this installed version.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `go_to_definition`
|
|
2
|
+
|
|
3
|
+
Resolve the symbol at a source position to its definition without guessing by name.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
You already have `(path, line, column)` for a usage and need the definition the
|
|
8
|
+
graph recorded for that occurrence - not a same-named overload elsewhere.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
- `path` (string, required) — repository-relative file.
|
|
13
|
+
- `line` (integer, required, min 1) — 1-based line of the usage.
|
|
14
|
+
- `column` (integer, required, min 1) — 1-based column of the usage.
|
|
15
|
+
- `scip_path` (string) — optional on-disk SCIP index; never spawned.
|
|
16
|
+
- `output_format` ("text" | "json" | "structured", default "json") — text returns the concise text block only; json returns structured output and mirrors it into text for clients that read only content; structured drops that mirror, which is the larger copy, and is safe only where the client reads structuredContent.
|
|
17
|
+
|
|
18
|
+
## Minimal call
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"name": "go_to_definition",
|
|
23
|
+
"arguments": {
|
|
24
|
+
"path": "src/main.rs",
|
|
25
|
+
"line": 42,
|
|
26
|
+
"column": 12,
|
|
27
|
+
"output_format": "text"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Unresolved positions stay `UNRESOLVED`; a unique repository name is not a
|
|
33
|
+
definition. The live MCP `tools/list` schema remains authoritative for this
|
|
34
|
+
installed version.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# `list_known_repos`
|
|
2
2
|
|
|
3
|
-
List repositories
|
|
3
|
+
List repositories with an in-process graph.
|
|
4
4
|
|
|
5
5
|
## When to use
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
See which roots this process has already opened.
|
|
8
8
|
|
|
9
9
|
## Inputs
|
|
10
10
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `perf_attribution`
|
|
2
|
+
|
|
3
|
+
Correlate a measurement series with the declarations that changed between the revisions that produced it.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
You already have a harness table of measurements per Git revision and want
|
|
8
|
+
co-occurrence with structural change - not a profiler sample.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
- `measurements_file` (string, required) — repository-relative TSV/CSV the harness wrote; `#` comment rows are ignored.
|
|
13
|
+
- `metric` (string, required) — column with the measured number.
|
|
14
|
+
- `revision_column` (string, default `"commit"`) — column with the Git revision.
|
|
15
|
+
- `direction` ("lower_is_better" | "higher_is_better", default `"lower_is_better"`).
|
|
16
|
+
- `max_revisions` (integer, min 2).
|
|
17
|
+
- `min_delta_percent` (integer, min 0).
|
|
18
|
+
- `top_n` (integer, min 0).
|
|
19
|
+
- `path` (string).
|
|
20
|
+
- `include_tests` (boolean).
|
|
21
|
+
- `include_classified` (boolean).
|
|
22
|
+
- `output_format` ("text" | "json" | "structured", default "json") — text returns the concise text block only; json returns structured output and mirrors it into text for clients that read only content; structured drops that mirror, which is the larger copy, and is safe only where the client reads structuredContent.
|
|
23
|
+
|
|
24
|
+
## Minimal call
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"name": "perf_attribution",
|
|
29
|
+
"arguments": {
|
|
30
|
+
"measurements_file": "bench/results.tsv",
|
|
31
|
+
"metric": "ns_per_op",
|
|
32
|
+
"output_format": "text"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This is co-occurrence between caller measurements and static change, not CPU
|
|
38
|
+
profiler attribution. The live MCP `tools/list` schema remains authoritative
|
|
39
|
+
for this installed version.
|