Skip to main content
Glama
kaleidoswap

wdk-wallet-liquid-mcp

Official
by kaleidoswap
README.md
# wdk-wallet-liquid-mcp

MCP server exposing a **Liquid network** wallet to AI agents, backed by
[`@kaleidorg/wdk-wallet-liquid`](../wdk-wallet-liquid) (an in-process LWK
wallet). No external daemon is required.

## Tools

| Tool | Description |
|------|-------------|
| `liquid_get_node_info` | Network, policy asset, receive address, chain tip. |
| `liquid_get_address` | A confidential (CT) receive address. |
| `liquid_get_balance` | Spendable L-BTC balance (satoshis). |
| `liquid_get_asset_balance` | Balance of a specific Liquid asset. |
| `liquid_list_assets` | All assets held with balances. |
| `liquid_list_transactions` | Transaction history. |
| `liquid_list_unspents` | Wallet UTXOs. |
| `liquid_send_btc` | Send L-BTC to a CT address. |
| `liquid_send_asset` | Send a Liquid asset (e.g. USDt-Liquid). |
| `liquid_get_fee_rates` | Suggested fee rates (sat/vB). |

## Configuration

| Env var | Default | Description |
|---------|---------|-------------|
| `LIQUID_MNEMONIC` | — (required) | BIP-39 mnemonic for the wallet. |
| `LIQUID_NETWORK` | `testnet` | `mainnet`, `testnet` or `regtest`. |
| `LIQUID_ESPLORA_URL` | network default | Esplora API base URL. |
| `PORT` | — | If set, serve over StreamableHTTP instead of stdio. |
| `MCP_AUTH_TOKEN` | — | Optional bearer token for HTTP mode. |

## Run

```sh
npm install
npm run build

# stdio (Claude Desktop, kaleidoagent, …)
LIQUID_MNEMONIC="word word ..." node dist/index.js

# HTTP
PORT=3013 LIQUID_MNEMONIC="word word ..." node dist/index.js
```

## License

Apache-2.0

TDQS

A4.3/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct resource and action: network info, address generation, L-BTC balance, asset-specific balance, asset list, transaction list, UTXO list, BTC send, asset send, and fee rates. No two tools overlap in purpose, and the descriptions make the boundaries clear.

Naming Consistency5/5

All tools share the 'liquid_' prefix and follow a consistent verb_noun pattern (get_address, get_balance, list_assets, send_btc, etc.). The verbs are limited to get, list, and send, which are unambiguous, and the naming convention is perfectly uniform.

Tool Count5/5

With 10 tools, the set is well-scoped for a Liquid wallet server, covering all essential wallet operations without unnecessary bloat. Each tool has a clear role and earns its place.

Completeness5/5

The tool set covers the full wallet lifecycle: address generation, balance queries for both L-BTC and assets, transaction history, UTXO management, sending both L-BTC and other assets, and fee estimation. There are no significant gaps for typical wallet operations.

Maintenance

ActivityStale
ResponsivenessNo issues