VaultMesh Architect MCP Server
Enables governance and orchestration of VaultMesh deployments through subsystem spawning, multi-chain anchoring, threat mitigation, constitutional amendments, and LAWCHAIN governance tracking. Provides auditable tools for managing decentralized infrastructure with cryptographic proofs and alchemical phase orchestration.
README
VaultMesh Architect MCP Server
Constitution CLI Dry-Run: verifies that the terminal amendment workflow remains operable and JSON-RPC output parses correctly on every push.
Governance Checks
| Check | Purpose | Badge |
|---|---|---|
| CI Tests | Unit + E2E validation | |
| CLI Dry-Run | Amendment ritual canary | |
| Release Proof | Anchors artifact hashes | |
| Phoenix Verification | Cross-runtime parity + LAWCHAIN proof health |
An MCP server that exposes the VaultMesh-Architect skill as explicit, auditable tools. It supports subsystem spawning, multi-chain anchoring (dry-run), Tem invocation, LAWCHAIN governance entries, capability issuance, CRDT realm helpers, and alchemical phase orchestration.
Status: initial scaffold with safe defaults and dry-run behavior.
Quick Start
-
Install dependencies
- Requires Node.js 18+
- From
vaultmesh-architect-mcp/:
npm install -
Run as MCP server (stdio)
npm start -- --stdio -
Configure your MCP client
Example (Claude Desktop JSON config snippet):
{ "mcpServers": { "vaultmesh-architect": { "command": "node", "args": ["server.js", "--stdio"], "cwd": "${HOME}/vaultmesh-architect-mcp" } } }
Heartbeat Logging (Optional)
-
To get a visible signal in your terminal without breaking stdio, enable a stderr heartbeat:
# flag-based node server.js --stdio --heartbeat # or via env MCP_HEARTBEAT=1 MCP_HEARTBEAT_MS=15000 node server.js --stdio -
Output appears on stderr as:
vaultmesh-architect: listening on stdio (dry_run=...)vaultmesh-architect: heartbeateveryMCP_HEARTBEAT_MSms (default 30000)
Tests
-
Install dev deps and run tests:
npm test -
The test harness runs the server as a black box over stdio (JSON-RPC) and writes artifacts under a temp dir via
VM_WORKDIR.
Coverage
-
Generate coverage (c8, includes subprocesses) and open report:
npm run coverage npm run coverage:open -
Branch/line thresholds are enforced (lines 85, funcs 85, branches 80, statements 85). CI uploads
coverage/as an artifact.
Golden Manifest Snapshot
tests/hash-manifest.spec.mjssnapshots the file ordering and Merkle root fromcompute_merkle_rootusing a deterministic fixture.- Snapshot lives at
tests/__snapshots__/hash-manifest.spec.mjs.snapand will fail on ordering regressions.
Constitution Resources
Every VaultMesh deployment carries its own auditable constitution, available as a first-class MCP resource. Any amendment is ratified through a signed LAWCHAIN “charter” entry and can be anchored across chains.
Examples (JSON-RPC over stdio):
# list available resources
printf '{"jsonrpc":"2.0","method":"resources/list","id":1}\n' | node server.js --stdio
# read the constitution
printf '{"jsonrpc":"2.0","method":"resources/read","params":{"uri":"spec://digital-twin/constitution"},"id":2}\n' | node server.js --stdio
# sign and anchor it (sign only; anchor via tools/multi_anchor)
printf '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"sign_constitution","arguments":{"note":"v1.0.0 ratified"}},"id":3}\n' | node server.js --stdio
Amendment Flow (Optional Governance)
-
Propose an amendment with a full replacement YAML (staged, requires approval):
printf '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"propose_charter","arguments":{"replacement_yaml":"...new YAML...","note":"amendment 1"}},"id":4}\n' | node server.js --stdio -
Approve a proposal and finalize the charter (with or without applying the YAML change):
printf '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"approve_charter","arguments":{"proposal_id":"<id>","approver":"dao:alice","apply_update":true}},"id":5}\n' | node server.js --stdio -
Anchor receipts as usual via
tools/compute_merkle_rootandtools/multi_anchor.
Terminal Workflow
Amend the constitution from a terminal (mirrors the MCP prompt flow):
bash scripts/amend_constitution.sh --reason "update K8s orchestration policy" --apply
The script fetches -> opens your editor -> diffs -> proposes -> optionally approves, and records LAWCHAIN entries along the way.
Verification
Verify a tagged release by confirming tarball checksum and matching LAWCHAIN/receipt proofs:
bash scripts/verify_release.sh v1.0.0
This downloads the tarball + checksums, recomputes SHA-256, and ensures the hash appears in LAWCHAIN entries or anchor receipts.
Verify a Release + Receipts
bash scripts/verify_release.sh v1.0.0 --lawchain governance/lawchain --receipts governance/anchor-receipts
This verifies checksum, confirms LAWCHAIN proof, and prints RFC-3161 / ETH / BTC receipt statuses for the artifact (works in both dry-run and live modes).
Phoenix Capability Integration
-
Manifest:
governance/capabilities/phoenix_resilience_protocol.md -
Seal + token + anchor:
npm run capability:seal -
Tem plugin stubs (for integration into your Tem engine):
- Python:
tem/python/plugins/phoenix_resilience.py - Rust:
tem/rust/phoenix_resilience/(crate withTemPlugintrait andPhoenixResilience)
- Python:
-
Config + schema:
- YAML:
config/phoenix_resilience.yaml - JSON Schema:
config/schema/phoenix_resilience.schema.yaml
- YAML:
A typical Tem loop calls next_phase(current_phase, ψ, PE) and applies mitigations from on_incident() when canary events are simulated.
Live Coherence State
The badge JSON is committed to .badges/phoenix_coherence.json by the Phoenix verification workflow and updates after each successful run.
Each badge update is cryptographically anchored via LAWCHAIN (receipts under governance/anchor-receipts/).
Working Directory Override
-
To direct outputs to a specific path without changing the process CWD, set
VM_WORKDIR:VM_WORKDIR=/path/to/repo node server.js --stdio
Environment Variables
DRY_RUN(default:true) — iftrue, anchoring returns simulated receipts, no chain calls.RFC3161_URL— TSA endpoint (only used ifDRY_RUN=false).ETH_RPC_URL— Ethereum RPC URL (only used ifDRY_RUN=false).BTC_RPC_URL— Bitcoin RPC URL (only used ifDRY_RUN=false).LAWCHAIN_PRIVATE_KEY_PEM— Ed25519 PEM for signing LAWCHAIN entries and capabilities. If absent, an ephemeral key is generated per process.
Tooling Overview
-
spawn_subsystem(name, organType, rust=true)
- Generates minimal k8s manifest and Rust crate skeleton under
manifests/andcrates/. - Emits a LAWCHAIN
subsystem_spawndraft.
- Generates minimal k8s manifest and Rust crate skeleton under
-
compute_merkle_root(root=".", out="manifests/hash-manifest.json")
- Computes a repository hash manifest and Merkle-like root (SHA-256 based placeholder).
-
multi_anchor(manifestPath)
- Orchestrates RFC3161/ETH/BTC anchoring. Honors
DRY_RUN. - Writes receipts in
governance/anchor-receipts/and returns a consolidated proof object.
- Orchestrates RFC3161/ETH/BTC anchoring. Honors
-
invoke_tem(threatType, realm, autoRemediate=false, lastGoodRoot?)
- Transmutes threats into defensive capabilities. Writes an incident log and returns a suggested defense.
-
generate_lawchain_entry(type, payload)
- Creates a signed LAWCHAIN entry in
governance/lawchain/.
- Creates a signed LAWCHAIN entry in
-
issue_capability(subject, scopes, ttlSeconds)
- Issues a signed, revocable capability (Ed25519). Returns a token-like object.
-
get_phase(realm) / evolve_phase(realm, action)
- Reads or advances the alchemical cycle, enforcing Nigredo→Albedo→Citrinitas→Rubedo order.
Security Defaults
- Redacts secret-like values in tool outputs (unless explicitly requested).
- Short-lived in-memory keys if
LAWCHAIN_PRIVATE_KEY_PEMis not provided. - Writes artifacts to local dirs under the server CWD; no network calls when
DRY_RUN=true.
Notes
- Hash/Merkle calculations use SHA-256 placeholder. Swap in BLAKE3 as desired.
- Anchoring implementations are stubbed unless
DRY_RUN=falseand endpoints are set. - This server is intentionally conservative and auditable.
Sanity Check (JSON-RPC init)
You can simulate a minimal MCP handshake from the shell:
printf '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}\n' | node server.js --stdio
You should see a JSON response on stdout confirming initialization.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.