← Back to list

New MCP Connects Your AI Agents With Verus PBaaS

verusidx-mcp gives AI agents 49 MCP tools across 7 servers for interacting with Verus. All communication is local: stdio from client to MCP…

vdappdev2 · 2026-03-30 15:24 · 7 claps · 7.5 min read
#ai-agent #blockchain #verus #coding #cryptocurrency
Open on Medium ↗
Wiki topics: AGT · AI Agents CRY · Crypto & Web3 💻 · Programming

New MCP Connects Your AI Agents With Verus PBaaS

verusidx-mcp gives AI agents 49 MCP tools across 7 servers for interacting with Verus. All communication is local: stdio from client to MCP server, JSON-RPC from MCP server to your verusd daemon.

MCP (Model Context Protocol) is an open standard that lets AI agents call external tools. An MCP server exposes tools — an MCP client (Claude Code, Cursor, or any compatible agent) discovers and calls them.

Architecture

The foundation server (chain-mcp) discovers running daemons and writes a local registry. All other servers read it — no shared memory, no IPC. Every tool takes a chain parameter so the agent always specifies which chain to operate on. Write tools can be disabled per-server with VERUSIDX_READ_ONLY=true — in which case the tools aren’t just blocked, they're not even registered. Spending limits cap per-transaction amounts before the RPC reaches the daemon. Every write operation is logged to append-only audit files.

At a Glance

  • @verusidx/chain-mcp (11 tools) — Foundation: chain discovery, daemon lifecycle, currency lookup
  • @verusidx/identity-mcp (11 tools) — VerusID lifecycle: register, update, revoke, recover
  • @verusidx/send-mcp (8 tools) — Send, convert, and transfer currency
  • @verusidx/data-mcp (7 tools) — On-chain data, encryption, signing, verification
  • @verusidx/address-mcp (6 tools) — Address generation, validation, listing
  • @verusidx/marketplace-mcp (5 tools) — Atomic swap offers and trades
  • @verusidx/definecurrency-mcp (1 tool) — Currency creation

@verusidx/chain-mcp — Foundation

The required server. Discovers running daemons, manages the chain registry, and provides chain-level queries that all other servers depend on.

Read-only tools:

  • getinfo — Returns blockchain and node info: version, block height, connections, sync status. Use it to check if a daemon is running and synced before other operations.
  • getwalletinfo — Returns wallet state: confirmed and unconfirmed balances (native + reserve currencies), transaction count, key pool status.
  • help — Returns daemon documentation for any RPC command. With no argument, lists all available RPCs by category. With a command name, returns detailed usage, parameters, and examples.
  • getblockcount — Returns the current block height. The most lightweight way to poll chain progress.
  • getcurrency — Returns the full definition and current state of a currency: reserves, weights, fees, supply, and conversion prices. Use this before performing conversions or registering identities to check fees.
  • status — Checks registry freshness and daemon reachability. Without a chain parameter, returns an overview of all registered chains. With one, returns detailed health for that specific chain.
  • refresh_chains — Re-scans for running daemons and rewrites the chain registry. Call this after starting or stopping a daemon so other servers see the updated state.

PBaaS: Verus PBaaS (Public Blockchains as a Service) lets anyone launch independent blockchains that interoperate through protocol-level bridges. refresh_chains discovers PBaaS chains automatically by resolving hex-encoded folder names to friendly names via the root chain.

Write tools:

  • verusd — Starts a Verus daemon instance as a detached process. Verifies launch via getinfo and reports the PID.
  • stop — Shuts down a running daemon. This terminates the process entirely — all connected clients lose connectivity.
  • sendrawtransaction — Broadcasts a signed raw transaction to the network. The companion to definecurrency, which returns hex that must be broadcast here.
  • signrawtransaction — Signs inputs of a raw transaction with wallet keys or explicitly provided private keys. Used for multisig workflows where multiple parties sign sequentially.

@verusidx/identity-mcp — VerusID Lifecycle

Creates, queries, and manages VerusIDs — the full lifecycle from registration through revocation and recovery.

VerusID is a protocol-level self-sovereign identity on Verus. Unlike token-based or smart-contract-based identities, VerusIDs are consensus primitives with on-chain key management, revocation, recovery, and structured data storage built into the protocol.

Read-only tools:

  • getidentity — Looks up a VerusID by name or i-address. Returns current state: primary addresses, signing authorities, content data, revocation/recovery authorities, and whether this wallet can spend or sign for it.
  • getidentitycontent — Returns cumulative identity content filtered by VDXF key and/or block height range. Use this to read structured data stored on an identity without processing the full revision history.
  • getidentityhistory — Returns per-revision snapshots of a VerusID — one entry per update transaction. Use this to audit changes over time: address transfers, authority changes, content updates.
  • getvdxfid — Converts a human-readable VDXF URI (e.g., vrsc::system.currency.export) into its on-chain i-address. Supports binding with additional data for derived keys.
  • listidentities — Lists VerusIDs in the local wallet: identities this wallet can spend for, sign for, or watch.

VDXF (Verus Data Exchange Format) is a namespaced URI system for structured on-chain data. Think of it as DNS for data keys — vrsc::identity.profile.name resolves to a deterministic i-address used as a key in the identity's contentmultimap, a structured key-value store on every VerusID.

Write tools:

  • registernamecommitment — Step 1 of identity registration. Creates a name commitment that reserves the name without revealing it, preventing front-running. Commitment data is saved to disk and persists across sessions until registered.
  • registeridentity — Step 2 of identity registration. Uses the confirmed commitment to register the identity on-chain. Reads the commitment from disk automatically.
  • updateidentity — Updates any mutable field on an identity: primary addresses, content, authorities, private address. Pass the full identity definition with changes — omitted fields revert to defaults.
  • revokeidentity — Revokes an identity, disabling spending and signing. Only the revocation authority or the ID’s control token can perform this. A safety mechanism for key compromise.
  • recoveridentity — Recovers a revoked or compromised identity. Only the recovery authority or the ID’s control token can perform this. Typically used to set new primary addresses after a compromise.
  • setidentitytimelock — Sets or modifies a timelock on a VerusID. Two modes: setunlockdelay for a block-count delay, or unlockatblock for an absolute height. Restricts spending until the condition is met.

@verusidx/send-mcp — Currency Operations

All value movement: sending, converting, cross-chain transfers, and balance queries.

Read-only tools:

  • getcurrencybalance — Returns multi-currency balances for any address, identity, or wildcard. Shows all currency holdings including native and reserve/token currencies.
  • getcurrencyconverters — Finds fractional baskets that can convert between specified currencies. Reserves must contain 1000 VRSC to be returned with this RPC (see listcurrencies). Returns matching baskets with their current reserve state and conversion prices.
  • estimateconversion — Previews conversion output before committing, accounting for pending conversions, fees, and slippage. Read-only — does not broadcast.
  • listcurrencies — Lists and searches registered currencies. Supports filtering by launch state, system type, source system, and converter reserves. Use converter param to find all baskets regardless of reserve size.
  • z_getoperationstatus — Checks the status of async operations. A companion to sendcurrency — poll with the operation ID to get the resulting transaction ID.
  • gettransaction — Returns detailed information about a wallet transaction: amounts, confirmations, block info, and reserve transfer details for conversions.
  • listtransactions — Lists recent wallet transactions with pagination. Includes multi-currency details, conversion data, and cross-chain import info.

Fractional baskets are protocol-level multi-reserve currencies. Think of them as on-chain AMMs without smart contracts — conversion prices are set by reserve ratios, and conversions happen at the consensus layer. getcurrencyconverters or listcurrencies finds baskets, estimateconversion previews the output, and sendcurrency executes it.

Write tools:

  • sendcurrency — The primary tool for moving value. Supports simple transparent or private sends, currency conversions through fractional baskets, cross-chain transfers, identity/currency exports, minting, burning, and on-chain data storage. Returns an async operation ID — poll z_getoperationstatus for the result.

@verusidx/data-mcp — On-Chain Data

Retrieval, decryption, signing, and verification. Completes the data pipeline that starts with sendcurrency:data in send-mcp.

Sapling z-addresses (prefixed zs1...) use zero-knowledge proofs for private transactions. Amount, sender, and recipient are all shielded on-chain. Data encrypted to a z-address is decryptable only by the holder of its viewing key.

Read-only tools:

  • z_listreceivedbyaddress — Lists transactions and data received at a shielded address. Data transactions appear with amount: 0 and a structured memo containing the data descriptor. The first step of the data retrieval pipeline.
  • decryptdata — Decrypts data stored on-chain. Takes a data descriptor (from z_listreceivedbyaddress), a viewing key, and optionally a transaction ID. Can also query and decrypt identity content directly via the iddata parameter.
  • z_exportviewingkey — Exports the extended viewing key for a shielded address. Grants read-only decryption access without spending authority. Share it to let others decrypt data at that address.
  • z_viewtransaction — Returns detailed shielded transaction info: spends, outputs, addresses, amounts, memos, and indices. Useful for inspecting data-carrying transactions.
  • signdata — Signs data with a VerusID or transparent address. Supports messages, files, hex, base64, pre-computed hashes, and VDXF-structured objects. Can build Merkle Mountain Range (MMR) proofs over multiple items and encrypt to z-addresses for selective disclosure.
  • verifysignature — Verifies a signature from signdata. Checks against the identity's keys at the signing height or current keys. Returns verified or invalid.

Write tools:

  • z_importviewingkey — Imports a viewing key to enable decryption of data encrypted to another z-address. Grants read-only access without spending authority.

@verusidx/address-mcp — Address Management

Generates, validates, and lists both transparent and shielded addresses.

Read-only tools:

  • validateaddress — Validates a transparent address (R-address or i-address). Returns validity, wallet ownership, and metadata. Use this to verify addresses before sending funds or registering IDs.
  • z_validateaddress — Validates a shielded Sapling z-address. Returns validity, wallet ownership, address type, and key components.
  • getaddressesbyaccount — Lists all transparent addresses in the wallet.
  • z_listaddresses — Lists all shielded Sapling addresses in the wallet.

Write tools:

  • getnewaddress — Generates a new transparent R-address from the wallet’s keypool. Use for identity primary addresses, change addresses, or destination addresses.
  • z_getnewaddress — Generates a new shielded Sapling address. Use for identity private address, private transactions, and data operations.

@verusidx/marketplace-mcp — Atomic Swaps

Fully decentralized on-chain trading. No intermediary, no escrow — both sides swap atomically or neither does.

Read-only tools:

  • getoffers — Returns all open offers for a specific currency or identity. Shows both buy and sell sides. Use this to discover what’s available on the market, and get the txid used in takeoffer.
  • listopenoffers — Lists open offers from the current wallet. Filters by expired/unexpired status.

Write tools:

  • makeoffer — Creates an on-chain atomic swap offer. Locks the offered asset until taken, expired, or closed. Supports all four combinations: currency-for-currency, currency-for-identity, identity-for-currency, and identity-for-identity.
  • takeoffer — Accepts an existing offer. Both sides exchange in a single transaction, or neither does.
  • closeoffers — Closes/cancels open offers and reclaims locked funds. Automatically closes expired offers when called without parameters.

@verusidx/definecurrency-mcp — Currency Creation

One tool, many currency types.

Write tools:

  • definecurrency — Defines a new currency on the blockchain. Supports simple tokens, fractional basket currencies, decentralized or centralized, ID control tokens, and Ethereum ERC-20 mapped tokens. Returns a signed transaction hex — broadcast via sendrawtransaction in chain-mcp.

Get Started

49 tools across 7 servers — from chain health checks to currency creation, identity management and defi without malicious MEV.

Try it: Add chain-mcp to your MCP client config and tell your agent to call refresh_chains:

{
  "mcpServers": {
    "verusidx-chain": {
      "command": "npx",
      "args": ["-y", "@verusidx/chain-mcp"]
    }
  }
}

Join Verus Discord and request testnet coins (in “pbaas-development” channel)

Source: github.com/vdappdev2/verusidx-mcp

Packages: All 7 servers on npm under @verusidx

verusidx-mcp v0.1.5–7 servers, 49 tools, zero cloud dependencies. Works with Claude Code, Cursor, and any MCP-compatible client.


메타데이터
post_id
5afcc9d37bc5
slug
new-mcp-connects-your-ai-agents-with-verus-pbaas-5afcc9d37bc5
url
https://medium.com/@vdappdev/new-mcp-connects-your-ai-agents-with-verus-pbaas-5afcc9d37bc5
canonical_url
https://medium.com/@vdappdev/new-mcp-connects-your-ai-agents-with-verus-pbaas-5afcc9d37bc5
author_url
https://medium.com/@vdappdev
status
ok
fetched_at
2026-07-11 15:05:29