weavatrix 1.16.3 → 1.17.1
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 +36 -22
- 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 +5 -2
- package/skill/references/tool-routing.md +8 -5
- package/skill/references/tools/agent_change_impact.md +5 -1
- package/skill/references/tools/architecture_inventory.md +22 -0
- package/skill/references/tools/ci_restrictions.md +28 -0
- package/skill/references/tools/explain_restriction.md +22 -0
- package/skill/references/tools/web3_impact.md +4 -1
- package/skill/references/tools/web3_trace.md +3 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
Weavatrix answers the questions agents otherwise invent: what breaks if this
|
|
13
13
|
file changes, who consumes this n8n field, whether an MCP schema still
|
|
14
14
|
accepts yesterday’s request, which viem call sites follow an ABI layout
|
|
15
|
-
change, and whether `.weavatrix/architecture.json` still holds. **
|
|
15
|
+
change, and whether `.weavatrix/architecture.json` still holds. **67
|
|
16
16
|
read-only operations**, one revision-bound graph, no LSP and no prompt pack.
|
|
17
17
|
|
|
18
18
|
Codex, Claude Code, Cursor, and Grok get impact, architecture, APIs, Git
|
|
@@ -58,7 +58,7 @@ weavatrix mcp .
|
|
|
58
58
|
```toml
|
|
59
59
|
[mcp_servers.weavatrix]
|
|
60
60
|
command = "npx"
|
|
61
|
-
args = ["-y", "weavatrix@1.
|
|
61
|
+
args = ["-y", "weavatrix@1.17.1", "mcp", "."]
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Pass an absolute repository path when the Codex process cwd is not the project
|
|
@@ -67,7 +67,7 @@ you intend to analyze.
|
|
|
67
67
|
### Claude Code
|
|
68
68
|
|
|
69
69
|
```sh
|
|
70
|
-
claude mcp add weavatrix -- npx -y weavatrix@1.
|
|
70
|
+
claude mcp add weavatrix -- npx -y weavatrix@1.17.1 mcp .
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
### Cursor
|
|
@@ -80,7 +80,7 @@ the plugin for the same server name:
|
|
|
80
80
|
"mcpServers": {
|
|
81
81
|
"weavatrix": {
|
|
82
82
|
"command": "npx",
|
|
83
|
-
"args": ["-y", "weavatrix@1.
|
|
83
|
+
"args": ["-y", "weavatrix@1.17.1", "mcp", "${workspaceFolder}"]
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -89,14 +89,14 @@ the plugin for the same server name:
|
|
|
89
89
|
Profiles expose bounded views of the same engine:
|
|
90
90
|
|
|
91
91
|
```sh
|
|
92
|
-
npx -y weavatrix@1.
|
|
93
|
-
npx -y weavatrix@1.
|
|
94
|
-
npx -y weavatrix@1.
|
|
95
|
-
npx -y weavatrix@1.
|
|
96
|
-
npx -y weavatrix@1.
|
|
97
|
-
npx -y weavatrix@1.
|
|
98
|
-
npx -y weavatrix@1.
|
|
99
|
-
npx -y weavatrix@1.
|
|
92
|
+
npx -y weavatrix@1.17.1 mcp . --profile=all
|
|
93
|
+
npx -y weavatrix@1.17.1 mcp . --profile=code
|
|
94
|
+
npx -y weavatrix@1.17.1 mcp . --profile=seo
|
|
95
|
+
npx -y weavatrix@1.17.1 mcp . --profile=n8n
|
|
96
|
+
npx -y weavatrix@1.17.1 mcp . --profile=dify
|
|
97
|
+
npx -y weavatrix@1.17.1 mcp . --profile=agent
|
|
98
|
+
npx -y weavatrix@1.17.1 mcp . --profile=diagram
|
|
99
|
+
npx -y weavatrix@1.17.1 mcp . --profile=web3
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
The package contains native binaries for Windows x64/arm64, macOS x64/arm64,
|
|
@@ -227,7 +227,7 @@ Three commits before `ec8bf30` this package was 1.9.2; the agent reads that
|
|
|
227
227
|
follow-up to a diff without touching the worktree. Binary blobs fail closed
|
|
228
228
|
instead of being decoded into garbage.
|
|
229
229
|
|
|
230
|
-
## The
|
|
230
|
+
## The 67 read-only operations
|
|
231
231
|
|
|
232
232
|
| Workflow | Operations |
|
|
233
233
|
| --- | --- |
|
|
@@ -235,12 +235,9 @@ instead of being decoded into garbage.
|
|
|
235
235
|
| Change impact | `get_dependents`, `change_impact`, `select_tests`, `verified_change`, `prepare_change`, `graph_diff` |
|
|
236
236
|
| Exact source context | `search_code`, `read_source`, `inspect_symbol`, `go_to_definition`, `find_references`, `context_bundle`, `map_stacktrace` |
|
|
237
237
|
| Health and quality | `find_duplicates`, `find_dead_code`, `run_audit`, `coverage_map`, `hot_path_review`, `perf_attribution` |
|
|
238
|
-
|
|
239
|
-
Need measured coverage from this MCP host? Run Weavatrix Quality first, then
|
|
240
|
-
`coverage_map`. The host will not invent percentages from an empty search
|
|
241
|
-
path. Quality publishes `.weavatrix/coverage/lcov.info`.
|
|
242
238
|
| APIs and transports | `list_endpoints`, `trace_endpoint`, `trace_api_contract` |
|
|
243
|
-
| Architecture | `get_architecture_contract`, `verify_architecture`, `verify_capabilities`, `explain_architecture_violation`, `propose_architecture_exception` |
|
|
239
|
+
| Architecture | `architecture_inventory`, `get_architecture_contract`, `verify_architecture`, `verify_capabilities`, `explain_architecture_violation`, `propose_architecture_exception` |
|
|
240
|
+
| Local CI | `ci_restrictions`, `explain_restriction` |
|
|
244
241
|
| Git and repositories | `git_history`, `git_read_blob`, `cross_repo_git`, `open_repo`, `list_known_repos`, `rebuild_graph` |
|
|
245
242
|
| Native extensions | `vector_search`, `semantic_link`, `seo_link_suggestions`, `memory_context` |
|
|
246
243
|
| n8n workflows | `n8n_inventory`, `n8n_trace`, `n8n_context` |
|
|
@@ -253,6 +250,20 @@ Every operation is read-only with respect to the analyzed repository.
|
|
|
253
250
|
Pagination and explicit limits bound large neighborhoods, histories, searches,
|
|
254
251
|
and contract inventories.
|
|
255
252
|
|
|
253
|
+
`architecture_inventory` describes observed components without assigning an
|
|
254
|
+
architecture style. `ci_restrictions` reads local GitHub Actions workflows and
|
|
255
|
+
recognizes literal checks, with optional event, base branch, and changed-path
|
|
256
|
+
scenario. `explain_restriction` retrieves one finding. Dynamic conditions,
|
|
257
|
+
actual runs, and remote required checks remain unknown until separate evidence
|
|
258
|
+
is supplied; a workflow file alone never establishes a passing gate.
|
|
259
|
+
|
|
260
|
+
Need measured coverage? Run Weavatrix Quality first, then `coverage_map`.
|
|
261
|
+
The host will not invent percentages from an empty search path. Quality
|
|
262
|
+
publishes `.weavatrix/coverage/lcov.info`. Agent schema verdicts are a
|
|
263
|
+
supported-subset proof: unsupported keywords stay `undetermined`, and
|
|
264
|
+
skill hits are declared `allowed-tools`. Web3 consumers stay on the
|
|
265
|
+
paired files; a missing candidate is `missing_input`.
|
|
266
|
+
|
|
256
267
|
## 24 repository surfaces
|
|
257
268
|
|
|
258
269
|
| Group | Surfaces |
|
|
@@ -279,7 +290,7 @@ export in git → existing JSON/YAML parse → typed domain → inventory / trac
|
|
|
279
290
|
| [Dify](https://weavatrix.com/dify) | `dify_inventory`, `dify_trace`, `dify_context` | Product 1.13.0 |
|
|
280
291
|
| Agent packages | `agent_inventory`, `agent_trace`, `agent_context`, `agent_change_impact` | Product 1.14.0 |
|
|
281
292
|
| Mermaid diagrams | `diagram_inventory`, `diagram_trace`, `diagram_context` | Product 1.14.0 |
|
|
282
|
-
| Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.
|
|
293
|
+
| Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.4 |
|
|
283
294
|
|
|
284
295
|
| Need | Use |
|
|
285
296
|
| --- | --- |
|
|
@@ -299,17 +310,20 @@ coding agent
|
|
|
299
310
|
|
|
|
300
311
|
| MCP over stdio
|
|
301
312
|
v
|
|
302
|
-
weavatrix 1.
|
|
313
|
+
weavatrix 1.17.1
|
|
303
314
|
profile catalog · refresh · watcher · MCP framing
|
|
304
315
|
|
|
|
305
316
|
v
|
|
306
|
-
weavatrix-rust 2.
|
|
307
|
-
typed graph · analysis ·
|
|
317
|
+
weavatrix-rust 2.17.0
|
|
318
|
+
typed graph · analysis · 67 product operations including local CI, n8n, Dify, agent packages, Mermaid, and Web3
|
|
308
319
|
```
|
|
309
320
|
|
|
310
321
|
This npm product owns MCP transport and native distribution. The
|
|
311
322
|
[`weavatrix-rust`](https://github.com/Weavatrix/weavatrix-rust) crate is
|
|
312
323
|
the reusable protocol-independent engine; it is not an MCP server.
|
|
324
|
+
[`weavatrix-stream`](https://github.com/Weavatrix/weavatrix-stream)
|
|
325
|
+
provides adapters for Weavatrix observations; this host does not take a
|
|
326
|
+
runtime dependency on it.
|
|
313
327
|
Its standalone diagnostic therefore reports `weavatrix-rust <engine-version>`,
|
|
314
328
|
while this MCP product reports both its product and embedded-engine identities.
|
|
315
329
|
|
|
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.17.1",
|
|
4
|
+
"weavatrixEngineVersion": "2.17.0",
|
|
5
|
+
"description": "Native repository intelligence for coding agents: 67 read-only MCP operations backed by typed evidence graphs, impact, architecture, local CI restrictions, APIs, Git, search, semantics, memory, n8n workflows, Dify apps, agent packages, Mermaid diagrams, and Web3 ABIs.",
|
|
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: 67 read-only tools for code, local CI, n8n, Dify, agents, Mermaid, Web3.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/Weavatrix/weavatrix",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.17.1",
|
|
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.17.1",
|
|
18
18
|
"runtimeHint": "npx",
|
|
19
19
|
"transport": {
|
|
20
20
|
"type": "stdio"
|
package/skill/SKILL.md
CHANGED
|
@@ -23,12 +23,15 @@ contracts. Do not call it merely because the server is available.
|
|
|
23
23
|
1. Call `graph_stats` and confirm `repository_context.root` matches the workspace
|
|
24
24
|
you intend. The MCP process is pinned to its launch root; it will not silently
|
|
25
25
|
answer for another repository.
|
|
26
|
-
2. Use `module_map`
|
|
26
|
+
2. Use `module_map` or `architecture_inventory` for orientation, or
|
|
27
|
+
`search_code` for a known literal.
|
|
27
28
|
3. Pin decisive evidence with `inspect_symbol`, `go_to_definition`,
|
|
28
29
|
`find_references`, `context_bundle`, or `read_source`.
|
|
29
30
|
4. Expand only when needed: `get_dependents` or `change_impact` for risk,
|
|
30
31
|
`trace_endpoint` or `trace_api_contract` for runtime contracts,
|
|
31
|
-
`verify_architecture` for policy, `
|
|
32
|
+
`verify_architecture` for policy, `ci_restrictions` for local GitHub Actions
|
|
33
|
+
checks and `explain_restriction` for one finding, `run_audit` for a broad
|
|
34
|
+
health pass,
|
|
32
35
|
`n8n_inventory` / `n8n_trace` / `n8n_context` for exported n8n
|
|
33
36
|
workflows, and `dify_inventory` / `dify_trace` / `dify_context` for
|
|
34
37
|
exported Dify YAML, and `agent_inventory` / `agent_trace` /
|
|
@@ -41,6 +41,9 @@ cannot silently switch to another repository. Pass an explicit
|
|
|
41
41
|
|
|
42
42
|
## Quality and architecture
|
|
43
43
|
|
|
44
|
+
- [`architecture_inventory`](tools/architecture_inventory.md) — Observed components and typed edges without a style label.
|
|
45
|
+
- [`ci_restrictions`](tools/ci_restrictions.md) — Local GitHub Actions checks and conditional applicability.
|
|
46
|
+
- [`explain_restriction`](tools/explain_restriction.md) — One restriction and its evidence limits.
|
|
44
47
|
- [`find_duplicates`](tools/find_duplicates.md) — Deterministic Type-1/2/3 clone families.
|
|
45
48
|
- [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
|
|
46
49
|
- [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
|
|
@@ -97,7 +100,7 @@ runtime, gateway, or policy authority. Requires engine `weavatrix-rust`
|
|
|
97
100
|
- [`agent_inventory`](tools/agent_inventory.md) — List plugins, skills, MCP bindings, catalog tools, and supplied observations.
|
|
98
101
|
- [`agent_trace`](tools/agent_trace.md) — Declared origin, profile, transport, and package bindings for one identity.
|
|
99
102
|
- [`agent_context`](tools/agent_context.md) — Bounded context; `allowed-tools` is not a grant.
|
|
100
|
-
- [`agent_change_impact`](tools/agent_change_impact.md) — Compare two catalog snapshots
|
|
103
|
+
- [`agent_change_impact`](tools/agent_change_impact.md) — Compare two catalog snapshots on a supported schema subset. Unsupported keywords stay undetermined. Duplicate labels are `ambiguous-identity`. Skill hits are declared `allowed-tools`.
|
|
101
104
|
|
|
102
105
|
## Mermaid diagrams
|
|
103
106
|
|
|
@@ -112,9 +115,9 @@ engine `weavatrix-rust` 2.14.3.
|
|
|
112
115
|
|
|
113
116
|
Local ABI JSON, supplied solc/Foundry artifacts, and static viem/wagmi
|
|
114
117
|
sources only. Not a compiler, RPC client, or wallet. Requires engine
|
|
115
|
-
`weavatrix-rust` 2.16.
|
|
118
|
+
`weavatrix-rust` 2.16.4.
|
|
116
119
|
|
|
117
|
-
- [`web3_inventory`](tools/web3_inventory.md) — List ABIs, artifacts, and static consumers.
|
|
118
|
-
- [`web3_trace`](tools/web3_trace.md) — Walk
|
|
119
|
-
- [`web3_impact`](tools/web3_impact.md) — Interface deltas
|
|
120
|
+
- [`web3_inventory`](tools/web3_inventory.md) — List ABIs, artifacts, and static consumers. Truncation is reported.
|
|
121
|
+
- [`web3_trace`](tools/web3_trace.md) — Walk the requested depth from the seed. A cut reports truncation.
|
|
122
|
+
- [`web3_impact`](tools/web3_impact.md) — Interface deltas on the paired files. A missing candidate is `missing_input`. Comment properties are not the callee.
|
|
120
123
|
- [`web3_context`](tools/web3_context.md) — Bounded fragments plus explicit deployment gaps.
|
|
@@ -7,7 +7,11 @@ adapter compensation, and declared consumers.
|
|
|
7
7
|
|
|
8
8
|
After adding `before` and `after` catalog JSON files to the repository. A
|
|
9
9
|
known inject transform can keep one exposure compatible while the upstream
|
|
10
|
-
required list grew. Incomplete pagination is not a deletion.
|
|
10
|
+
required list grew. Incomplete pagination is not a deletion. Verdicts are
|
|
11
|
+
a supported-subset proof: unsupported keywords stay `undetermined`. A
|
|
12
|
+
boolean `enum: [true, false]` is not a restriction. `integer` to
|
|
13
|
+
`number` is a widening. Duplicate tool labels are `ambiguous-identity`.
|
|
14
|
+
Skill hits are declared `allowed-tools`, not proven calls.
|
|
11
15
|
|
|
12
16
|
## Inputs
|
|
13
17
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# `architecture_inventory`
|
|
2
|
+
|
|
3
|
+
Observed package, component, and typed edge evidence. No style label or
|
|
4
|
+
target architecture is inferred.
|
|
5
|
+
|
|
6
|
+
## When to use
|
|
7
|
+
|
|
8
|
+
Orient in an unfamiliar repository or compare observed structure with a
|
|
9
|
+
separately declared architecture contract.
|
|
10
|
+
|
|
11
|
+
## Inputs
|
|
12
|
+
|
|
13
|
+
- `output_format` (`text`, `json`, or `structured`).
|
|
14
|
+
- `expected_repository` (optional active-root guard).
|
|
15
|
+
|
|
16
|
+
## Minimal call
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{"name":"architecture_inventory","arguments":{"output_format":"text"}}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The live MCP `tools/list` schema is authoritative.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# `ci_restrictions`
|
|
2
|
+
|
|
3
|
+
Local GitHub Actions jobs, steps, literal checks, and their evidence limits.
|
|
4
|
+
It never runs a workflow or reads remote merge protection.
|
|
5
|
+
|
|
6
|
+
## When to use
|
|
7
|
+
|
|
8
|
+
Identify configured CI checks and ask whether a known event, base branch, and
|
|
9
|
+
changed path would enter a workflow. `UNDETERMINED` is returned for dynamic
|
|
10
|
+
conditions, scripts, or unavailable action bodies.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- `scope`: optional workflow-path substring.
|
|
15
|
+
- `scenario`: optional object with `event`, `branch` (PR base branch), and
|
|
16
|
+
`changed_files` (array of repository paths). Do not pass secrets.
|
|
17
|
+
- `max_results` and `token_budget`: response bounds.
|
|
18
|
+
- `output_format` and `expected_repository`: common MCP arguments.
|
|
19
|
+
|
|
20
|
+
## Minimal call
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{"name":"ci_restrictions","arguments":{"scenario":{"event":"pull_request","branch":"main","changed_files":["src/lib.rs"]},"output_format":"text"}}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The response separates declaration, applicability, observed execution,
|
|
27
|
+
failure effect, and remote enforcement. A configured coverage threshold is
|
|
28
|
+
not measured coverage. The live MCP `tools/list` schema is authoritative.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# `explain_restriction`
|
|
2
|
+
|
|
3
|
+
Retrieve one local restriction by the ID returned from `ci_restrictions`.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
Inspect its source digest and byte span, invocation, applicability, failure
|
|
8
|
+
effect, and unknowns before making a change.
|
|
9
|
+
|
|
10
|
+
## Inputs
|
|
11
|
+
|
|
12
|
+
- `id` (required): exact restriction ID.
|
|
13
|
+
- `scenario`: optional `event`, `branch`, and `changed_files` object.
|
|
14
|
+
- `output_format` and `expected_repository`: presentation and active-root guard.
|
|
15
|
+
|
|
16
|
+
## Minimal call
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{"name":"explain_restriction","arguments":{"id":".github/workflows/ci.yml/quality/3/rustfmt_check/1","output_format":"text"}}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The live MCP `tools/list` schema is authoritative.
|
|
@@ -7,7 +7,10 @@ deltas, including silent event misdecode risk.
|
|
|
7
7
|
|
|
8
8
|
A contract ABI changed and a client still binds an older copy. An indexed
|
|
9
9
|
mask change can decode without throwing. Deployment state stays
|
|
10
|
-
`not_provided` unless a runtime observation was supplied.
|
|
10
|
+
`not_provided` unless a runtime observation was supplied. Consumers stay
|
|
11
|
+
on the paired baseline/candidate files. A missing candidate is
|
|
12
|
+
`missing_input`, not `MEMBER_REMOVED`. Comment properties inside a call
|
|
13
|
+
object are not the callee.
|
|
11
14
|
|
|
12
15
|
## Inputs
|
|
13
16
|
|
|
@@ -6,7 +6,9 @@ call site.
|
|
|
6
6
|
## When to use
|
|
7
7
|
|
|
8
8
|
After `web3_inventory`, when a function or event name is not enough: follow
|
|
9
|
-
the exact occurrence to its ABI member and static client binding.
|
|
9
|
+
the exact occurrence to its ABI member and static client binding. `depth`
|
|
10
|
+
is walked from the seed; a cut reports truncation instead of pretending
|
|
11
|
+
the walk finished.
|
|
10
12
|
|
|
11
13
|
## Inputs
|
|
12
14
|
|