# io.github.vdappdev2/chain (npm · @verusidx/chain-mcp)

Foundation MCP server — chain discovery, daemon management, health checks, raw transactions

- Trust score: 69/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@verusidx/chain-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp.md), [page](https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp)

## Channel facts

- Registry: `npm`
- Package: `@verusidx/chain-mcp`
- Version: `0.1.7`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 84 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1538 tokens (~139/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add vdappdev2-chain -- npx -y @verusidx/chain-mcp
```

### Codex

```bash
codex mcp add vdappdev2-chain -- npx -y @verusidx/chain-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vdappdev2-chain": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@verusidx/chain-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add vdappdev2-chain --command npx --arg -y --arg @verusidx/chain-mcp
```

### Hermes

```yaml
mcp_servers:
  vdappdev2-chain:
    command: "npx"
    args: ["-y", "@verusidx/chain-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 68, +43)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-08-01 (score 25, +11)

- [security improvement] Source repository: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] MCP protocol: unverified → pass

### 2026-07-31 (score 14, −10)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 24, −21)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 45)

First indexed and scored.

## MCP tools (11)

### `getinfo` (~76 tokens)

Get blockchain and node information for a running chain. Returns version, block height, connections, difficulty, sync status, and fee configuration. Use this to check whether a daemon is running and synced before performing operations on that chain.

Input parameters:

- `chain` (string, required): Chain to query (e.g., "VRSC", "vrsctest")

### `getwalletinfo` (~104 tokens)

Get wallet state for a running chain. Returns balances (confirmed, unconfirmed, immature, staking-eligible), reserve currency balances, transaction count, and key pool status. Use this for a quick overview of wallet health and native + reserve currency holdings. Note: reserve_balance is an object keyed by currency name, showing all non-native currencies held in the wallet.

Input parameters:

- `chain` (string, required): Chain to query (e.g., "VRSC", "vrsctest")

### `help` (~133 tokens)

Get daemon documentation for any RPC command. With no command argument, returns a list of all available RPCs grouped by category. With a command name, returns detailed usage including parameters, types, and examples. Use this when an agent needs to understand an RPC that isn't exposed as an MCP tool, or to check exact parameter formats before constructing a complex call.

Input parameters:

- `chain` (string, required): Chain to query (e.g., "VRSC", "vrsctest")
- `command` (string): RPC command name to get help for (e.g., "sendcurrency", "getidentity"). Omit to list all commands.

### `getblockcount` (~81 tokens)

Get the current block count (height of the longest chain). Returns a single number — the most lightweight way to check the current block height. Use this for polling block progress, such as waiting for a name commitment to confirm before calling registeridentity.

Input parameters:

- `chain` (string, required): Chain to query (e.g., "VRSC", "vrsctest")

### `getcurrency` (~261 tokens)

Get the full definition and current state of a currency. Returns the currency's configuration (reserves, weights, fees, preallocations, eras) and its latest on-chain state (supply, reserve balances, conversion prices). Use this to check if a currency exists, understand its structure (simple token vs. fractional basket), read current reserve ratios and conversion prices before performing conversions, or look up registration fees before registering identities or defining currencies on a specific chain. Fee interpretation: idregistrationfees is the fee amount. For basket currencies, if idimportfees is a satoshi-scale value it encodes which reserve currency the fee is denominated in: 0.00000000 = first reserve (index 0), 0.00000001 = second reserve (index 1), etc. Default idimportfees (e.g., 0.02) means the fee is in the basket currency itself, but defaults may differ per chain.

Input parameters:

- `chain` (string, required): Chain to query (e.g., "VRSC", "vrsctest")
- `currencyname` (string, required): Currency name (e.g., "bitcoins", "NATI🦉") or i-address. Also accepts "hex:<currencyidhex>" format.

### `status` (~85 tokens)

Check registry freshness and daemon reachability. Use this to verify chain health before starting a workflow, or to debug why calls to other MCPs are failing. Without a chain parameter, returns an overview of all registered chains. With a chain parameter, returns detailed status for that specific chain.

Input parameters:

- `chain` (string): Specific chain to check. Omit for an overview of all registered chains.

### `refresh_chains` (~102 tokens)

Re-run chain discovery and rewrite the chain registry file. Call this after starting a new daemon, stopping a daemon, or when the registry appears stale. Discovery scans OS-appropriate data directories for .conf files, parses them, and calls getinfo on each discovered chain to confirm it's running. PBaaS chains with hex-encoded folder names are resolved to friendly names via the VRSC daemon. The updated registry is written atomically. Available in read-only mode.

### `stop` (~136 tokens)

Stop a running daemon. This shuts down the daemon process for the specified chain entirely — ALL connected clients, MCP servers, CLI users, and applications connected to this daemon will lose connectivity. This is not a per-session disconnect; it terminates the daemon. After stopping, the chain will no longer be reachable. Consider calling refresh_chains after stopping so other MCPs see the updated state.

Input parameters:

- `chain` (string, required): Chain whose daemon to stop (e.g., "VRSC", "vrsctest")
- `reason` (string): Reason for stopping. Not sent to the daemon — recorded only in the local audit log for accountability.

### `verusd` (~187 tokens)

Start a Verus daemon instance. This is a system command that spawns a new process — it is NOT an RPC call to an existing daemon. The daemon runs independently of this MCP server (detached process). After starting, the tool waits briefly and verifies the daemon launched successfully via getinfo. Call refresh_chains after a successful start so other MCPs can discover the new daemon.

Input parameters:

- `bootstrap` (boolean): Start with -bootstrap flag for faster initial sync. Only useful on first start or after a long time offline. Default: false.
- `chain` (string): Chain to start. Omit for VRSC mainnet. For other chains, provide the chain name (e.g., "vrsctest"). Maps to the -chain= flag.
- `extra_args` (array): Additional command-line arguments passed to verusd (e.g., ["-reindex"]).

### `sendrawtransaction` (~140 tokens)

Broadcast a signed raw transaction to the network. Takes a hex-encoded signed transaction and submits it to the local node, which relays it to the network. Returns the transaction hash (txid) on success. This is the companion to definecurrency — definecurrency returns a signed hex that must be broadcast here. Also used for any pre-signed transaction hex.

Input parameters:

- `allowhighfees` (boolean): Allow transactions with unusually high fees. Default: false.
- `chain` (string, required): Chain to broadcast on (e.g., "VRSC", "vrsctest")
- `hexstring` (string, required): The hex-encoded signed raw transaction

### `signrawtransaction` (~233 tokens)

Sign inputs of a raw transaction. Takes a hex-encoded transaction and signs it with keys available in the wallet (or with explicitly provided private keys). Returns the signed hex and whether all inputs are fully signed. Use this for multisig workflows where multiple parties need to sign. For definecurrency in the normal single-signer case, the hex is returned already signed — signrawtransaction is not needed.

Input parameters:

- `chain` (string, required): Chain to sign for (e.g., "VRSC", "vrsctest")
- `hexstring` (string, required): The hex-encoded raw transaction to sign
- `prevtxs` (array): Array of previous dependent transaction outputs not yet in the blockchain.
- `privatekeys` (array): Array of base58-encoded private keys to use for signing. If provided, only these keys are used.
- `sighashtype` (string): Signature hash type. Default: "ALL". Options: "ALL", "NONE", "SINGLE", "ALL|ANYONECANPAY", "NONE|ANYONECANPAY", "SINGLE|ANYONECANPAY".

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp#diagnostics

## Score history

- 2026-08-03: 69
- 2026-08-02: 68
- 2026-08-01: 25
- 2026-07-31: 14
- 2026-07-30: 24
- 2026-07-28: 45
- 2026-07-27: 45

## Links

- npm package: https://www.npmjs.com/package/@verusidx/chain-mcp
- Socket report: https://socket.dev/npm/package/@verusidx/chain-mcp
- Repository: https://github.com/vdappdev2/verusidx-mcp
- Changelog RSS feed: https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/vdappdev2-chain/verusidx-chain-mcp
