7 MCP servers giving AI agents direct, local access to the Verus blockchain — 49 tools, zero cloud dependencies. No API keys. No accounts. No intermediary between the agent and the chain.
Works with Claude Code, Cursor, and any MCP-compatible client.
- Identity — create, update, revoke, and recover VerusIDs (protocol-level blockchain identities with on-chain data storage)
- Data — store, retrieve, and decrypt on-chain data; sign and verify with SHA-256, Blake2b, Keccak-256, or Merkle Mountain Range proofs; share decryption access via viewing keys
- Send & convert — move currency, convert through fractional baskets, cross-chain transfers via PBaaS bridges
- Create currencies — define tokens, fractional reserve baskets, centralized currencies, ERC-20 mapped tokens
- Trade — on-chain atomic swaps for currency-for-currency, currency-for-ID, or ID-for-ID
- Privacy — shielded transactions via Sapling zero-knowledge proofs
Prerequisites: a running Verus daemon and Node.js 18+.
Add the foundation server to your MCP client config:
{
"mcpServers": {
"verusidx-chain": {
"command": "npx",
"args": ["-y", "@verusidx/chain-mcp"]
}
}
}Then tell your AI to call refresh_chains — it discovers your local daemons automatically. That's it.
No separate install step — npx fetches and runs the package on demand. Add more servers as you need them (see below).
| Package | Tools | Purpose |
|---|---|---|
@verusidx/chain-mcp |
11 | Foundation — chain discovery, daemon management, health checks, currency lookup, raw transactions, RPC help |
@verusidx/identity-mcp |
11 | Create, manage, and query VerusIDs |
@verusidx/send-mcp |
8 | Send, convert, and transfer currency; check balances and conversions |
@verusidx/data-mcp |
7 | Retrieve, decrypt, sign, and verify on-chain data; manage viewing keys |
@verusidx/address-mcp |
6 | Generate, validate, and list transparent and shielded addresses |
@verusidx/marketplace-mcp |
5 | On-chain offers and trades |
@verusidx/definecurrency-mcp |
1 | Define and launch new currencies |
chain-mcp is the foundation. It discovers running daemons and writes a registry file that all other servers read. Install it first. Every tool requires a chain parameter (e.g., "VRSC", "vrsctest") — there is no default chain.
Each server is independent — add or remove without affecting the others:
{
"mcpServers": {
"verusidx-chain": {
"command": "npx",
"args": ["-y", "@verusidx/chain-mcp"]
},
"verusidx-identity": {
"command": "npx",
"args": ["-y", "@verusidx/identity-mcp"]
},
"verusidx-send": {
"command": "npx",
"args": ["-y", "@verusidx/send-mcp"]
},
"verusidx-data": {
"command": "npx",
"args": ["-y", "@verusidx/data-mcp"]
}
}
}Same pattern for @verusidx/address-mcp, @verusidx/marketplace-mcp, and @verusidx/definecurrency-mcp. See each package's README for details.
Giving an AI agent access to a wallet has real consequences. These servers are designed with that in mind.
| Feature | How it works |
|---|---|
| Read-only mode | Set VERUSIDX_READ_ONLY=true per-server — write tools aren't just disabled, they're not registered. The AI can't see or attempt them. |
| Spending limits | Per-currency caps in spending-limits.json, enforced before the RPC call reaches the daemon. Default: 10 VRSC per transaction. |
| Audit logging | Every write operation logged to date-stamped, append-only JSONL files with 0600 permissions. |
| No new attack surface | Credentials read from the daemon's own .conf file. No cloud storage. No env vars with passwords. |
| Minimal dependencies | Shared library has zero runtime deps. MCP servers depend on exactly 2 packages: @modelcontextprotocol/sdk and zod. |
AI Client (Claude Code, Cursor, etc.)
|
| stdio (local process, no network)
v
verusidx MCP servers (7 servers, 49 tools)
|
| JSON-RPC over localhost
v
verusd (your local Verus daemon)
- Shared library (
@verusidx/shared) — registry reader, RPC client with credential caching, error normalization, audit logging, spending limits, read-only guard. Zero runtime dependencies. - Chain registry —
chains.jsonwritten atomically by chain-mcp, read by all other servers viastat()-based cache invalidation. - Each server runs as a separate process via stdio transport. No shared memory between servers.
Environment variables you can set (optional):
| Variable | Applies to | Description |
|---|---|---|
VERUSIDX_READ_ONLY |
All servers | true to disable write tools. Set per-server for fine-grained control. |
VERUSIDX_AUDIT_LOG |
All servers | false to disable audit logging (default: enabled) |
VERUSIDX_AUDIT_DIR |
All servers | Custom audit log directory |
VERUSIDX_SPENDING_LIMITS_PATH |
All servers | Custom path to spending-limits.json |
VERUSIDX_DATA_DIR |
chain-mcp | Override the chain data directory for discovery |
VERUSIDX_EXTRA_CHAINS |
chain-mcp | Add remote daemons. Format: name:host:port:user:pass, comma-separated |
VERUSIDX_BIN_PATH |
chain-mcp | Directory containing the verusd binary (if not on PATH) |
Servers that send funds (send-mcp, marketplace-mcp) enforce per-currency spending limits. A default spending-limits.json is created automatically on first run:
{
"VRSC": 10
}This caps any single sendcurrency call at 10 VRSC. To adjust limits, edit the file at:
- macOS:
~/Library/Application Support/verusidx-mcp/spending-limits.json - Linux:
~/.config/verusidx-mcp/spending-limits.json - Windows:
%APPDATA%\verusidx-mcp\spending-limits.json
Add entries for any currency: { "VRSC": 100, "Bridge.vETH": 0.5 }. Currency names are case-insensitive.
# Prerequisites: Node.js >= 18, pnpm
pnpm install
pnpm -r build # build all packages
pnpm -r test # test all packages
# Build a specific server and its dependencies
pnpm --filter @verusidx/chain-mcp... buildverusidx-mcp/
├── packages/
│ ├── shared/ # @verusidx/shared — internal library
│ ├── chain/ # @verusidx/chain-mcp — foundation server
│ ├── identity/ # @verusidx/identity-mcp
│ ├── send/ # @verusidx/send-mcp
│ ├── data/ # @verusidx/data-mcp
│ ├── definecurrency/ # @verusidx/definecurrency-mcp
│ ├── marketplace/ # @verusidx/marketplace-mcp
│ └── address/ # @verusidx/address-mcp
└── tool-specs/ # Agent-facing tool description specs
- Zero runtime dependencies in the shared library (Node built-ins + built-in
fetch) - MCP servers depend only on
@modelcontextprotocol/sdkandzod onlyBuiltDependencies: []blocks dependency install scripts- All credentials read from daemon
.conffiles — never stored by the MCP servers
Verus is an open-source, fair-launch blockchain — no ICO, no premine, no VC funding. Running since 2018 with hybrid PoW/PoS consensus and a CPU-mineable hash algorithm (VerusHash 2.2).
There are no smart contracts. Identity, data storage, DeFi conversions, atomic swaps, privacy (Sapling zk-proofs), and cross-chain bridges (PBaaS) are all consensus-level protocol features. For AI agents that need to transact reliably, protocol-level guarantees beat contract-level ones.