Monero MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MONERO_NETWORK | No | mainnet, stagenet, or testnet | mainnet |
| MONERO_RPC_HOST | No | Wallet RPC host | 127.0.0.1 |
| MONERO_RPC_PASS | No | RPC password (digest auth) | |
| MONERO_RPC_PORT | No | Wallet RPC port | 18082 |
| MONERO_RPC_USER | No | RPC username (digest auth) | |
| MONERO_AUDIT_LOG_FILE | No | Path for JSONL audit log | |
| MONERO_ALLOW_TRANSFERS | No | Enable send operations | false |
| MONERO_DAILY_LIMIT_XMR | No | Max XMR sent per rolling 24h | |
| MONERO_ALLOWED_ADDRESSES | No | Comma-separated address allowlist | |
| MONERO_ENABLE_PRICE_FEED | No | Enable get_exchange_rate (external API; see privacy note in .env.example) | false |
| MONERO_MAX_TRANSFER_AMOUNT | No | Max XMR per single transfer | |
| MONERO_REQUIRE_CONFIRMATION | No | Two-step transfer confirmation | true |
| MONERO_TRANSFER_COOLDOWN_SECONDS | No | Min seconds between transfers | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_balanceA | Get wallet balance in XMR |
| get_addressC | Get the wallet's primary address |
| get_heightA | Get the wallet's current synced block height |
| get_transfersC | Get incoming and outgoing transfer history |
| validate_addressC | Check if a Monero address is valid |
| get_versionA | Get monero-wallet-rpc version |
| get_transfer_by_txidC | Look up a specific transaction by its hash |
| create_addressC | Create a new subaddress for receiving payments |
| make_integrated_addressB | Create an integrated address with a payment ID for identifying incoming payments |
| get_wallet_setup_helpA | Return guidance on where the Monero wallet is stored when using this MCP server (wallet-rpc). Call this only when the user asks where their wallet is, how to find wallet files, or whether the wallet is on the host or in Docker. Do not call for other Monero questions (e.g. balance or address). |
| get_exchange_rateA | Get current XMR/USD and XMR/EUR exchange rate from a public API. Only available when MONERO_ENABLE_PRICE_FEED=true. Makes HTTP requests to external APIs (Kraken, CoinGecko); consider privacy implications. |
| transferC | Send XMR to an address. Requires MONERO_ALLOW_TRANSFERS=true |
| sweep_allC | Send ALL unlocked balance to an address. USE WITH CAUTION. |
| confirm_transferB | Confirm and execute a pending transfer. Required when MONERO_REQUIRE_CONFIRMATION=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Every tool has a distinct, non-overlapping purpose. For example, 'get_transfer_by_txid' is specific to a single transaction, while 'get_transfers' lists history; 'transfer' and 'sweep_all' differ in scope. No ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (e.g., 'create_address', 'get_balance', 'confirm_transfer'). 'sweep_all' is the only slight deviation but still fits the imperative verb pattern.
14 tools cover core wallet operations (balance, transfers, addresses, exchange rates, validation, and support) without being excessive. The scope is well-matched to a Monero wallet server.
The tool set covers essential CRUD-like operations for a wallet: create/get addresses, transfer/sweep, query transactions, get balance. Minor gaps exist, such as no tool to create a new wallet from scratch or manage multiple wallets, but these are reasonable for a single-wallet server.