weavatrix 1.9.1 → 1.10.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 +103 -13
- 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 +4 -4
- package/server.json +4 -4
- package/skill/references/tool-routing.md +13 -10
- package/skill/references/tools/git_read_blob.md +33 -0
- package/skill/references/tools/list_known_repos.md +2 -2
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 44 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,9 +93,83 @@ 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 44 read-only operations
|
|
97
173
|
|
|
98
174
|
| Workflow | Operations |
|
|
99
175
|
| --- | --- |
|
|
@@ -103,7 +179,7 @@ Build the smallest source bundle needed to edit this symbol safely.
|
|
|
103
179
|
| Health and quality | `find_duplicates`, `find_dead_code`, `run_audit`, `coverage_map`, `hot_path_review` |
|
|
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.10.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.9.0
|
|
213
|
+
typed graph · analysis · 44 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.10.0",
|
|
4
|
+
"weavatrixEngineVersion": "2.9.0",
|
|
5
|
+
"description": "Native repository intelligence for coding agents: 44 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",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/Weavatrix/weavatrix/issues"
|
|
15
15
|
},
|
|
16
|
-
"mcpName": "io.github.
|
|
16
|
+
"mcpName": "io.github.Weavatrix/weavatrix",
|
|
17
17
|
"type": "module",
|
|
18
18
|
"engines": {
|
|
19
19
|
"node": ">=18"
|
package/server.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
-
"name": "io.github.
|
|
3
|
+
"name": "io.github.Weavatrix/weavatrix",
|
|
4
4
|
"title": "Weavatrix",
|
|
5
|
-
"description": "Native Weavatrix MCP:
|
|
5
|
+
"description": "Native Weavatrix MCP: 44 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.10.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.10.0",
|
|
18
18
|
"runtimeHint": "npx",
|
|
19
19
|
"transport": {
|
|
20
20
|
"type": "stdio"
|
|
@@ -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,9 +14,9 @@ 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.
|
|
@@ -28,7 +30,8 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
28
30
|
- [`change_impact`](tools/change_impact.md) — Read-only Git change impact with graph evidence.
|
|
29
31
|
- [`select_tests`](tools/select_tests.md) — Select the test suites a change most plausibly needs to run.
|
|
30
32
|
- [`git_history`](tools/git_history.md) — Bounded direct Git history without launching git.
|
|
31
|
-
- [`
|
|
33
|
+
- [`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.
|
|
34
|
+
- [`cross_repo_git`](tools/cross_repo_git.md) — Parallel histories, shared commits, or diffs across named local repositories.
|
|
32
35
|
- [`verified_change`](tools/verified_change.md) — Composite pre-commit evidence and conservative verdict.
|
|
33
36
|
- [`graph_diff`](tools/graph_diff.md) — Compare the current snapshot with an immutable Git revision.
|
|
34
37
|
|
|
@@ -38,7 +41,7 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
38
41
|
- [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
|
|
39
42
|
- [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
|
|
40
43
|
- [`coverage_map`](tools/coverage_map.md) — Measured coverage discovery or explicit static reachability.
|
|
41
|
-
- [`hot_path_review`](tools/hot_path_review.md) — Rank
|
|
44
|
+
- [`hot_path_review`](tools/hot_path_review.md) — Rank functions by static complexity times resolved call fan-in.
|
|
42
45
|
- [`get_architecture_contract`](tools/get_architecture_contract.md) — Read or preview the local target-architecture contract.
|
|
43
46
|
- [`prepare_change`](tools/prepare_change.md) — Select architecture rules for intended changed files.
|
|
44
47
|
- [`verify_architecture`](tools/verify_architecture.md) — Verify graph dependencies against the active contract.
|
|
@@ -48,14 +51,14 @@ The live MCP `tools/list` schema is authoritative.
|
|
|
48
51
|
|
|
49
52
|
## APIs and transports
|
|
50
53
|
|
|
51
|
-
- [`list_endpoints`](tools/list_endpoints.md) — Inventory statically extracted HTTP endpoints.
|
|
54
|
+
- [`list_endpoints`](tools/list_endpoints.md) — Inventory statically extracted HTTP endpoints, including hand-rolled req.method/pathname conditions.
|
|
52
55
|
- [`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.
|
|
56
|
+
- [`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
57
|
|
|
55
58
|
## Repositories and refresh
|
|
56
59
|
|
|
57
|
-
- [`open_repo`](tools/open_repo.md) — Retarget to another local repository.
|
|
58
|
-
- [`list_known_repos`](tools/list_known_repos.md) — List repositories
|
|
60
|
+
- [`open_repo`](tools/open_repo.md) — Retarget to another local repository. Graphs unused for 20 minutes unload; asking for one again rescans that folder.
|
|
61
|
+
- [`list_known_repos`](tools/list_known_repos.md) — List repositories with an in-process graph.
|
|
59
62
|
- [`rebuild_graph`](tools/rebuild_graph.md) — Rebuild the derived in-memory graph without source writes.
|
|
60
63
|
|
|
61
64
|
## Optional supplied-data analysis
|
|
@@ -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.
|
|
@@ -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
|
|