{
  "markdown": "# Weavatrix Online\n\n**Take repository intelligence across a network without handing the network\nyour repository.**\n\n[![npm](https://img.shields.io/npm/v/weavatrix-online)](https://www.npmjs.com/package/weavatrix-online)\n[![CI](https://github.com/Weavatrix/weavatrix-online/actions/workflows/ci.yml/badge.svg)](https://github.com/Weavatrix/weavatrix-online/actions/workflows/ci.yml)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Weavatrix/weavatrix-online/blob/main/LICENSE.md)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-339933)](https://nodejs.org/)\n\nThe explicit network boundary of the [Weavatrix ecosystem](https://weavatrix.com/ecosystem). Core and Refactor remain separate installs.\n\nWeavatrix Online is the MIT-licensed MCP connector for Weavatrix Cloud and\ncompatible customer-controlled endpoints. It keeps analysis local, produces an\ninspectable source-free payload, and requires an exact short-lived confirmation\nbefore that payload can leave the machine.\n\nThe public Online profile exposes **7 MCP tools** for endpoint discovery,\nadvisories, malware review, architecture contracts, and controlled\nsynchronization. The local `weavatrix-js` graph engine is an implementation\ndetail: its tools are not re-exported, so installing Core, Refactor, and Online\ntogether does not duplicate their catalogs in an agent's context.\n\nInstalling or starting Online does not synchronize anything. `preview_sync`\nmakes no network request; `sync_graph` accepts only the still-valid preview for\nthe same repository, destination, payload, and graph.\n\n## Choose the right Weavatrix package\n\n| Product | Install | Boundary |\n| --- | --- | --- |\n| `weavatrix` | npm or Cargo | Native local-first MCP product. Both package managers distribute the same local Weavatrix server and engine. |\n| `weavatrix-rust` | Cargo | Protocol-independent Rust repository-intelligence engine for library and CLI use; it does not own MCP transport. |\n| `weavatrix-refactor` | npm or Cargo | Native extension-only transactional refactoring; it uses the Rust graph engine internally. |\n| `weavatrix-online` | npm | This optional network extension: source-free Cloud/self-hosted workflows over an internal local graph runtime. |\n\nOnline currently uses the JavaScript graph/runtime package internally:\n\n```text\nweavatrix-online 0.3.4\n  └─ weavatrix-js 0.3.x (internal; no Core tools re-exported)\n```\n\nIt does not proxy the native `weavatrix` executable, import\n`weavatrix-refactor`, or copy either engine. Use `weavatrix` when the graph must remain entirely local. Use\n`weavatrix-online` when endpoint status, remotely managed architecture\ncontracts, advisory refresh, or explicit source-free synchronization is part of\nthe workflow.\n\n## Install and run\n\n### Plugins for Cursor, Codex, Claude, and Grok\n\nThe repository now contains one portable plugin bundle at\n`plugins/weavatrix-online` plus native marketplace manifests for all four\nclients. The plugin starts the pinned npm release and includes an optional,\ncompact skill with one lazily loaded card per Online method.\n\n```text\ncodex plugin marketplace add Weavatrix/weavatrix-online --sparse .agents/plugins plugins/weavatrix-online\ncodex plugin add weavatrix-online@weavatrix-online\n\nclaude plugin marketplace add Weavatrix/weavatrix-online --sparse .claude-plugin plugins\nclaude plugin install weavatrix-online@weavatrix-online\n\ngrok plugin marketplace add Weavatrix/weavatrix-online\n```\n\nCursor can load the bundle locally from\n`~/.cursor/plugins/local/weavatrix-online`; public marketplace discovery starts\nafter the listing is reviewed and approved.\n\n### Direct MCP launch\n\nRun the pinned release without a global install:\n\n```powershell\nnpx -y weavatrix-online@0.3.4 C:\\path\\to\\repository\n```\n\nThe command starts a stdio MCP server. The first positional argument is the\nrepository to analyze. An existing graph can be supplied explicitly:\n\n```powershell\nnpx -y weavatrix-online@0.3.4 C:\\graphs\\repository\\graph.json C:\\path\\to\\repository\n```\n\nThe npm package is intentionally an executable MCP product; it does not\nadvertise a nonexistent JavaScript library entry point.\n\n### Codex\n\n```toml\n[mcp_servers.weavatrix_online]\ncommand = \"npx\"\nargs = [\"-y\", \"weavatrix-online@0.3.4\", \"C:\\\\path\\\\to\\\\repository\"]\n\n[mcp_servers.weavatrix_online.env]\nWEAVATRIX_SYNC_URL = \"https://app.weavatrix.com/api/v1/graphs/sync\"\nWEAVATRIX_SYNC_TOKEN = \"load-from-runtime-secret-storage\"\n```\n\n### Claude Desktop\n\n```json\n{\n  \"mcpServers\": {\n    \"weavatrix-online\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"weavatrix-online@0.3.4\",\n        \"C:\\\\path\\\\to\\\\repository\"\n      ],\n      \"env\": {\n        \"WEAVATRIX_SYNC_URL\": \"https://app.weavatrix.com/api/v1/graphs/sync\",\n        \"WEAVATRIX_SYNC_TOKEN\": \"load-from-runtime-secret-storage\"\n      }\n    }\n  }\n}\n```\n\nKeep bearer tokens in the MCP client's runtime secret storage. Do not put them\nin Git, a committed `.env`, release logs, or checked-in MCP configuration.\n\n## The seven Online tools\n\n| Tool | Network | Evidence and effect |\n| --- | --- | --- |\n| `online_status` | Yes | Discovers endpoint capabilities, payload versions, limits, and auth mode without repository evidence. |\n| `refresh_advisories` | Yes | Inventories exact dependency coordinates, queries OSV, validates returned records, and atomically refreshes the local cache. |\n| `scan_dependency_vulnerabilities` | No | Matches the current inventory against that cache. Missing, stale, partial, or mismatched coverage remains `NOT_CHECKED` or `PARTIAL`. |\n| `scan_dependency_malware` | No | Performs bounded static review of installed dependency files. Findings require review and are never a compromise verdict. |\n| `pull_architecture_contract` | Yes | Fetches the owner-approved target for the active opaque repository ID, validates it, and updates the local graph cache. |\n| `preview_sync` | No | Serializes the exact allowlisted payload, hashes it, and issues a five-minute confirmation token. |\n| `sync_graph` | Yes | Sends only the payload approved by `preview_sync`; `dry_run:false` and the matching token are mandatory. |\n\nInstall [Weavatrix Core](https://github.com/Weavatrix/weavatrix#readme)\nfor read-only repository intelligence and\n[Weavatrix Refactor](https://github.com/Weavatrix/weavatrix-refactor#readme)\nfor guarded source changes. Their methods remain in their owning products.\n\n## Typical workflows\n\nCheck endpoint compatibility before doing any repository work:\n\n```json\n{\"name\":\"online_status\",\"arguments\":{\"timeout_ms\":10000}}\n```\n\nRefresh advisory evidence, then evaluate it locally:\n\n```json\n{\"name\":\"refresh_advisories\",\"arguments\":{\"timeout_ms\":20000}}\n{\"name\":\"scan_dependency_vulnerabilities\",\"arguments\":{\"max_age_days\":30}}\n```\n\nReview the exact upload without sending it:\n\n```json\n{\"name\":\"preview_sync\",\"arguments\":{\"payload_version\":3}}\n```\n\nAfter a human or trusted controller approves the displayed destination, section\nsummary, counts, size, and body hash, use the returned token:\n\n```json\n{\n  \"name\": \"sync_graph\",\n  \"arguments\": {\n    \"payload_version\": 3,\n    \"dry_run\": false,\n    \"confirm_token\": \"token-returned-by-preview_sync\",\n    \"timeout_ms\": 30000\n  }\n}\n```\n\nChanging the graph, repository, destination, payload, or expiry state invalidates\nthat approval. A rejected or unavailable endpoint leaves the graph local.\n\n## Network and consent boundary\n\n```text\nlocal repository\n      │\n      ▼\nlocal graph + derived evidence\n      │\n      ▼\npreview_sync ── inspect destination, sections, counts, size, and SHA-256\n      │\n      ▼\nexplicit approval\n      │\n      ▼\nsync_graph ── capability negotiation ── approved endpoint\n```\n\nThe connector enforces:\n\n- HTTPS for every non-loopback destination;\n- loopback-only HTTP for local development;\n- no credentials embedded in URLs;\n- endpoint capability negotiation before upload;\n- a bounded versioned payload allowlist;\n- exact preview hashing and a short-lived confirmation token;\n- honest `NOT_CHECKED` and `PARTIAL` states when evidence is incomplete.\n\nThe sync payload contains bounded graph topology and selected derived evidence.\nIt excludes source bodies, snippets, absolute host paths, environment values,\ncredentials, Git remotes, and fields outside the wire allowlist. “Source-free”\ndoes not mean anonymous: review the displayed repository identity, destination,\ncounts, sections, and hash before approval.\n\n## Configuration\n\n| Variable | Required | Meaning |\n| --- | --- | --- |\n| `WEAVATRIX_SYNC_URL` | For Online network workflows | Cloud or compatible self-hosted sync endpoint. |\n| `WEAVATRIX_SYNC_TOKEN` | For Cloud/authenticated endpoints | Scoped bearer token sent only to the approved endpoint. |\n| `WEAVATRIX_CAPABILITIES_URL` | No | Explicit capability document; otherwise `/api/v1/capabilities` with legacy `/api/health` fallback. |\n| `WEAVATRIX_ARCHITECTURE_URL` | No | Explicit owner-approved architecture-contract endpoint. |\n| `WEAVATRIX_PRECISION` | No | Local semantic precision: `lsp` (default) or `off`. |\n| `WEAVATRIX_GRAPH_HOME` | No | Override local graph/cache storage. |\n| `WEAVATRIX_ADVISORY_STORE` | No | Override the local advisory-cache file. |\n\nCompatible endpoints must implement the versioned capability and sync\ncontracts. Capability discovery itself sends no repository evidence.\n\n## Security evidence without false certainty\n\nAdvisory refresh covers pinned npm, PyPI, Go, Maven/Gradle, and crates.io\ncoordinates found in bounded repository manifests. A clean zero is allowed only\nwhen the current inventory matches a complete, current Online cache.\n\nMalware review is static and bounded. It can identify evidence such as\ndownload-and-execute lifecycle scripts, reverse-shell patterns, decoded\nexecution, miner indicators, credential-file reads, or suspicious exfiltration\nendpoints. It cannot prove execution, provenance, credential exposure, safety,\nor compromise.\n\nArchitecture contracts are validated locally before becoming active.\n\nReport vulnerabilities privately through\n[GitHub Security Advisories](https://github.com/Weavatrix/weavatrix-online/security/advisories/new).\n\n## Architecture\n\nThe connector is a strict modular ports-and-adapters system:\n\n```text\npolicy\n  └─ discovery adapters\n       └─ security cache and evidence services\n            └─ Online actions\n                 └─ MCP composition and executable\n```\n\n- `policy`: destination validation, version matching, inventory identities, and\n  malware evidence rules;\n- `discovery`: bounded manifest and installed-package adapters;\n- `security`: atomic advisory state, cached matching, scanning, and reporting;\n- `online-actions`: capability, contract, advisory, preview, and sync use cases;\n- `composition`: extension registration, launcher, and stdio executable.\n\nThe checked-in\n[architecture contract](.weavatrix/architecture.json) enforces zero runtime\ncycles, production files at or below 300 physical lines, and functions at or\nbelow 100 physical lines, with no exceptions and no violation baseline.\n\n## Development and release proof\n\n```powershell\nnpm ci --ignore-scripts\nnpm test\nnpm run verify:release\nnpm audit\nnpm pack --dry-run --json\n```\n\nThe release gate verifies package identity, dependency ranges, exact installed\nversions, MCP Registry metadata, checked-in release notes, MIT licensing, the\npublished file allowlist, and tag/version agreement. CI repeats the tests,\nsecurity audit, and package dry-run on Node.js 24.\n\n## License\n\n[MIT](LICENSE.md). Weavatrix Online and its internal `weavatrix-js` runtime are\nindependently versioned MIT-licensed packages.\n",
  "bytes": 11572,
  "sha": "bd259a8d6cf3210a790a9adc4a83a263d3ab2805bdc25226b082c01de466c2df",
  "repo_slug": "sergii-ziborov/weavatrix-online",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sergii_ziborov_weavatrix_onlin_264db5e3/readme"
}