Skip to main content
Glama

cardano-node-mcp-server

An MCP (Model Context Protocol) server that enables LLMs to interact with a Cardano node by wrapping the cardano-cli / torsten-cli command-line interface. Compatible with both the Haskell cardano-node and Torsten implementations.

Features

  • 64 tools covering the full cardano-cli surface area

  • Query — chain tip, UTxOs, protocol parameters, stake distribution, governance state, mempool, treasury, constitution, and more

  • Transaction — build, sign, submit, view, witness, assemble, calculate fees, compute policy IDs

  • Address & Key — generate key pairs, build addresses, compute key hashes

  • Stake — registration, delegation, vote delegation certificates

  • Stake Pool — key generation, registration/retirement certificates, operational certificates

  • Governance — DRep management, voting, governance actions (info, no-confidence, constitution, hard fork, protocol parameter updates, committee updates, treasury withdrawals)

  • Node — cold/KES/VRF key generation, operational certificates

Related MCP server: SnapKitty MCP Server

Prerequisites

Installation

git clone https://github.com/michaeljfazio/cardano-node-mcp.git
cd cardano-node-mcp
npm install
npm run build

Configuration

The server is configured via environment variables:

Variable

Default

Description

CARDANO_CLI_PATH

cardano-cli

Path to the CLI binary. Set to torsten-cli for Torsten nodes.

CARDANO_NODE_SOCKET_PATH

node.sock

Path to the cardano-node Unix domain socket.

CARDANO_TESTNET_MAGIC

(unset = mainnet)

Testnet magic number (e.g., 1 for preprod, 2 for preview).

Usage

Claude Code

Add to your Claude Code MCP configuration (~/.claude/mcp.json):

{
  "mcpServers": {
    "cardano-node": {
      "command": "node",
      "args": ["/path/to/cardano-node-mcp/dist/index.js"],
      "env": {
        "CARDANO_CLI_PATH": "cardano-cli",
        "CARDANO_NODE_SOCKET_PATH": "/path/to/node.sock"
      }
    }
  }
}

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "cardano-node": {
      "command": "node",
      "args": ["/path/to/cardano-node-mcp/dist/index.js"],
      "env": {
        "CARDANO_CLI_PATH": "cardano-cli",
        "CARDANO_NODE_SOCKET_PATH": "/path/to/node.sock"
      }
    }
  }
}

Development

npm run dev    # Run with auto-reload via tsx
npm run build  # Compile TypeScript
npm start      # Run compiled server

Tools Reference

See docs/tools.md for a complete reference of all 64 tools with their parameters.

Architecture

The server uses a simple architecture:

LLM ↔ MCP (stdio) ↔ cardano-node-mcp-server ↔ cardano-cli/torsten-cli ↔ cardano-node (Unix socket)

Each MCP tool maps to a CLI subcommand. The server:

  1. Validates input parameters via Zod schemas

  2. Constructs CLI arguments

  3. Executes the CLI binary with CARDANO_NODE_SOCKET_PATH set

  4. Returns stdout as the tool result (or a structured error)

Network and socket configuration are applied globally from environment variables, so individual tool calls don't need to specify them.

License

MIT

Available Tools

64 tools
cardano_address_buildBuild AddressB
Idempotent

Build a Cardano address from verification keys.

Args:

  • payment_verification_key_file (string): Path to payment verification key file

  • stake_verification_key_file (string, optional): Path to stake verification key file (for base addresses)

  • out_file (string, optional): File path to write the address to

Returns: The bech32 address.

Inputs: payment_verification_key_file (required), out_file, stake_verification_key_file.

cardano_address_infoAddress InfoC
Read-onlyIdempotent

Decode and display information about a Cardano address.

Args:

  • address (string): Bech32-encoded Cardano address

Returns: Address type, network, and credential information.

Inputs: address (required).

cardano_address_key_genGenerate Address Key PairB

Generate a payment address key pair (verification key and signing key).

Args:

  • verification_key_file (string): Output path for the verification key

  • signing_key_file (string): Output path for the signing key

Returns: Confirmation that keys were generated.

Inputs: signing_key_file (required), verification_key_file (required).

cardano_address_key_hashGet Address Key HashB
Read-onlyIdempotent

Get the hash of a payment verification key.

Args:

  • payment_verification_key_file (string): Path to the payment verification key file

Returns: The key hash as hex string.

Inputs: payment_verification_key_file (required).

cardano_governance_action_create_constitutionCreate Constitution ActionB
Idempotent

Create a new constitution governance action.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • constitution_url (string): Constitution document URL

  • constitution_hash (string): Constitution document hash

  • constitution_script_hash (string, optional): Guardian script hash

  • prev_governance_action_tx_id (string, optional): Previous action tx ID

  • prev_governance_action_index (number, optional): Previous action index

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), anchor_url (required), return_addr (required), +6 more.

cardano_governance_action_create_hard_forkCreate Hard Fork Initiation ActionC
Idempotent

Create a hard fork initiation governance action.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • protocol_major_version (number): Target major protocol version

  • protocol_minor_version (number): Target minor protocol version

  • prev_governance_action_tx_id (string, optional): Previous action tx ID

  • prev_governance_action_index (number, optional): Previous action index

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), anchor_url (required), return_addr (required), +5 more.

cardano_governance_action_create_infoCreate Info Governance ActionA
Idempotent

Create an informational governance action (no on-chain effect, used for signaling).

Args:

  • anchor_url (string): Anchor URL for the action metadata

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Governance action deposit in lovelace

  • return_addr (string): Bech32 stake address for deposit return

  • out_file (string): Output path for the action file

Inputs: deposit (required), out_file (required), anchor_url (required), return_addr (required), +1 more.

cardano_governance_action_create_no_confidenceCreate No Confidence ActionB
Idempotent

Create a motion of no confidence in the current constitutional committee.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • prev_governance_action_tx_id (string, optional): Previous governance action tx ID

  • prev_governance_action_index (number, optional): Previous governance action index

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), anchor_url (required), return_addr (required), +3 more.

cardano_governance_action_create_protocol_params_updateCreate Protocol Parameters Update ActionC
Idempotent

Create a governance action to update protocol parameters.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • protocol_parameters_update (string): Path to JSON file with parameter updates

  • constitution_script_hash (string, optional): Guardian script hash

  • prev_governance_action_tx_id (string, optional): Previous action tx ID

  • prev_governance_action_index (number, optional): Previous action index

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), anchor_url (required), return_addr (required), +5 more.

cardano_governance_action_create_treasury_withdrawalCreate Treasury Withdrawal ActionB
Idempotent

Create a governance action to withdraw funds from the treasury.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • funds_receiving_stake_verification_key_file (string): Path to stake verification key of funds recipient

  • transfer (number): Amount to withdraw in lovelace

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), transfer (required), anchor_url (required), +3 more.

cardano_governance_action_create_update_committeeCreate Update Committee ActionC
Idempotent

Create a governance action to update the constitutional committee.

Args:

  • anchor_url (string): Anchor URL

  • anchor_data_hash (string): Anchor data hash

  • deposit (number): Deposit in lovelace

  • return_addr (string): Stake address for deposit return

  • threshold (string): Quorum threshold as "numerator/denominator"

  • remove_cc_cold_verification_key_hashes (string[], optional): CC member key hashes to remove

  • add_cc_cold_verification_key_hashes (string[], optional): CC members to add as "key_hash,expiry_epoch"

  • prev_governance_action_tx_id (string, optional): Previous action tx ID

  • prev_governance_action_index (number, optional): Previous action index

  • out_file (string): Output path

Inputs: deposit (required), out_file (required), threshold (required), anchor_url (required), +6 more.

cardano_governance_action_hash_anchor_dataHash Anchor DataA
Read-onlyIdempotent

Compute the hash of anchor data from a file.

Args:

  • file_binary (string, optional): Path to binary file to hash

  • file_text (string, optional): Path to text file to hash

Exactly one of file_binary or file_text must be provided.

Returns: The blake2b-256 hash of the file contents.

Inputs: file_text, file_binary.

cardano_governance_drep_idGet DRep IDB
Read-onlyIdempotent

Get the DRep ID from a verification key file.

Args:

  • drep_verification_key_file (string): Path to DRep verification key file

  • output_format (string, optional): Output format: "bech32" (default) or "hex"

Returns: The DRep ID.

Inputs: drep_verification_key_file (required), output_format.

cardano_governance_drep_key_genGenerate DRep Key PairB

Generate a DRep (Delegated Representative) key pair.

Args:

  • verification_key_file (string): Output path for the verification key

  • signing_key_file (string): Output path for the signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_governance_drep_registration_certificateCreate DRep Registration CertificateC
Idempotent

Create a DRep registration certificate.

Args:

  • drep_verification_key_file (string): Path to DRep verification key file

  • key_reg_deposit_amt (number): Registration deposit in lovelace

  • anchor_url (string, optional): DRep metadata anchor URL

  • anchor_data_hash (string, optional): DRep metadata anchor data hash

  • out_file (string): Output path for the certificate

Inputs: out_file (required), key_reg_deposit_amt (required), drep_verification_key_file (required), anchor_url, +1 more.

cardano_governance_drep_retirement_certificateCreate DRep Retirement CertificateB
DestructiveIdempotent

Create a DRep retirement certificate.

Args:

  • drep_verification_key_file (string): Path to DRep verification key file

  • deposit_amt (number): Deposit refund amount in lovelace

  • out_file (string): Output path for the certificate

Inputs: out_file (required), deposit_amt (required), drep_verification_key_file (required).

cardano_governance_drep_update_certificateCreate DRep Update CertificateC
Idempotent

Create a DRep update certificate to update anchor metadata.

Args:

  • drep_verification_key_file (string): Path to DRep verification key file

  • anchor_url (string, optional): Updated anchor URL

  • anchor_data_hash (string, optional): Updated anchor data hash

  • out_file (string): Output path for the certificate

Inputs: out_file (required), drep_verification_key_file (required), anchor_url, anchor_data_hash.

cardano_governance_vote_createCreate Governance VoteA
Idempotent

Create a governance vote file for a governance action.

Args:

  • governance_action_tx_id (string): Transaction ID of the governance action

  • governance_action_index (number): Index of the governance action in the transaction

  • vote (string): Vote choice: "yes", "no", or "abstain"

  • drep_verification_key_file (string, optional): Path to DRep verification key (for DRep voter)

  • cold_verification_key_file (string, optional): Path to cold verification key (for SPO voter)

  • cc_hot_verification_key_file (string, optional): Path to CC hot verification key (for CC voter)

  • anchor_url (string, optional): Vote rationale anchor URL

  • anchor_data_hash (string, optional): Vote rationale anchor data hash

  • out_file (string): Output path for the vote file

Exactly one voter key file must be provided (DRep, SPO, or CC).

Inputs: vote (required), out_file (required), governance_action_index (required), governance_action_tx_id (required), +5 more.

cardano_key_generate_paymentGenerate Payment Key PairC

Generate a payment signing and verification key pair.

Args:

  • signing_key_file (string): Output path for the signing key

  • verification_key_file (string): Output path for the verification key

Returns: Confirmation that keys were generated.

Inputs: signing_key_file (required), verification_key_file (required).

cardano_key_generate_stakeGenerate Stake Key PairB

Generate a stake signing and verification key pair.

Args:

  • signing_key_file (string): Output path for the signing key

  • verification_key_file (string): Output path for the verification key

Returns: Confirmation that keys were generated.

Inputs: signing_key_file (required), verification_key_file (required).

cardano_key_verification_hashGet Verification Key HashB
Read-onlyIdempotent

Get the hash of a verification key.

Args:

  • verification_key_file (string): Path to the verification key file

Returns: The key hash as hex string.

Inputs: verification_key_file (required).

cardano_node_issue_op_certIssue Node Operational CertificateC

Issue an operational certificate for a block-producing node.

Args:

  • kes_verification_key_file (string): Path to KES verification key file

  • cold_signing_key_file (string): Path to cold signing key file

  • operational_certificate_counter_file (string): Path to op cert counter file

  • kes_period (number): Current KES period

  • out_file (string): Output path for the operational certificate

Inputs: out_file (required), kes_period (required), cold_signing_key_file (required), kes_verification_key_file (required), +1 more.

cardano_node_key_genGenerate Node Cold KeysB

Generate node cold key pair and operational certificate counter.

Args:

  • cold_verification_key_file (string): Output path for the cold verification key

  • cold_signing_key_file (string): Output path for the cold signing key

  • operational_certificate_counter_file (string): Output path for the op cert counter

Inputs: cold_signing_key_file (required), cold_verification_key_file (required), operational_certificate_counter_file (required).

cardano_node_key_gen_kesGenerate Node KES KeysB

Generate KES (Key Evolving Signature) key pair for a block-producing node.

Args:

  • verification_key_file (string): Output path for the KES verification key

  • signing_key_file (string): Output path for the KES signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_node_key_gen_vrfGenerate Node VRF KeysB

Generate VRF (Verifiable Random Function) key pair for a block-producing node.

Args:

  • verification_key_file (string): Output path for the VRF verification key

  • signing_key_file (string): Output path for the VRF signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_node_new_counterCreate New Op Cert CounterB
Idempotent

Create a new operational certificate counter with a specified value.

Args:

  • cold_verification_key_file (string): Path to cold verification key file

  • counter_value (number): Counter value to set

  • operational_certificate_counter_file (string): Output path for the counter file

Inputs: counter_value (required), cold_verification_key_file (required), operational_certificate_counter_file (required).

cardano_query_committee_stateQuery Committee StateB
Read-onlyIdempotent

Query the current constitutional committee state.

Inputs: no named parameters.

cardano_query_constitutionQuery ConstitutionB
Read-onlyIdempotent

Query the current on-chain constitution.

Inputs: no named parameters.

cardano_query_drep_stateQuery DRep StateB
Read-onlyIdempotent

Query DRep (Delegated Representative) state. Optionally filter by DRep key hash.

Args:

  • drep_key_hash (string, optional): Hex-encoded DRep key hash to filter by

Returns: DRep state information.

Inputs: drep_key_hash.

cardano_query_gov_stateQuery Governance StateB
Read-onlyIdempotent

Query the current governance state including proposals, DReps, and committee info.

Inputs: no named parameters.

cardano_query_leadership_scheduleQuery Leadership ScheduleA
Read-onlyIdempotent

Calculate the leadership schedule for a stake pool operator.

Args:

  • vrf_signing_key_file (string): Path to VRF signing key file

  • epoch_nonce (string): 64-character hex epoch nonce

  • epoch_start_slot (number): Slot number at the start of the epoch

  • epoch_length (number, optional): Epoch length in slots (default: 432000)

  • relative_stake (number): Pool's relative stake as a decimal (e.g., 0.001)

  • active_slot_coeff (number, optional): Active slot coefficient (default: 0.05)

Returns: List of slots where the pool is elected to produce blocks.

Inputs: epoch_nonce (required), relative_stake (required), epoch_start_slot (required), vrf_signing_key_file (required), +2 more.

cardano_query_pool_paramsQuery Pool ParametersB
Read-onlyIdempotent

Query stake pool parameters. Optionally filter by stake pool ID.

Args:

  • stake_pool_id (string, optional): Bech32 or hex stake pool ID

Returns: Pool parameter details.

Inputs: stake_pool_id.

cardano_query_protocol_parametersQuery Protocol ParametersB
Read-onlyIdempotent

Query current protocol parameters. Optionally write to a file for use in transaction fee calculation.

Args:

  • out_file (string, optional): File path to write protocol parameters JSON to

Returns: Protocol parameters as JSON.

Inputs: out_file.

cardano_query_ratify_stateQuery Ratification StateC
Read-onlyIdempotent

Query the current governance ratification state.

Inputs: no named parameters.

cardano_query_stake_address_infoQuery Stake Address InfoB
Read-onlyIdempotent

Query information about a stake address including delegation and rewards.

Args:

  • address (string): Bech32 stake address to query

Returns: Stake address info including delegation and reward balance.

Inputs: address (required).

cardano_query_stake_distributionQuery Stake DistributionB
Read-onlyIdempotent

Query the current stake distribution across all stake pools.

Inputs: no named parameters.

cardano_query_stake_poolsQuery Stake PoolsA
Read-onlyIdempotent

Query all registered stake pool IDs.

Inputs: no named parameters.

cardano_query_stake_snapshotQuery Stake SnapshotB
Read-onlyIdempotent

Query stake snapshots (mark, set, go). Optionally filter by stake pool ID.

Args:

  • stake_pool_id (string, optional): Bech32 or hex stake pool ID

Returns: Stake snapshot data.

Inputs: stake_pool_id.

cardano_query_tipQuery Chain TipA
Read-onlyIdempotent

Query the current tip of the blockchain including slot, block number, epoch, and sync progress.

Inputs: no named parameters.

cardano_query_treasuryQuery TreasuryA
Read-onlyIdempotent

Query the current treasury and reserves balances.

Inputs: no named parameters.

cardano_query_tx_mempoolQuery Transaction MempoolA
Read-onlyIdempotent

Query the transaction mempool. Supports three subcommands: info (mempool stats), next-tx (next transaction), has-tx (check if a specific tx is in mempool).

Args:

  • subcmd (string): One of "info", "next-tx", "has-tx" (default: "info")

  • tx_id (string, optional): Transaction ID hash for has-tx subcommand

Returns: Mempool information based on subcommand.

Inputs: tx_id, subcmd.

cardano_query_utxoQuery UTxOA
Read-onlyIdempotent

Query UTxO entries. Filter by address and/or specific transaction inputs.

Args:

  • address (string, optional): Bech32 address to query UTxOs for

  • tx_ins (string[], optional): Specific UTxO references in format "tx_hash#index"

At least one of address or tx_ins must be provided.

Returns: UTxO set as formatted text.

Inputs: tx_ins, address.

cardano_stake_address_buildBuild Stake AddressB
Idempotent

Build a stake address from a stake verification key.

Args:

  • stake_verification_key_file (string): Path to stake verification key file

  • out_file (string, optional): File path to write the address to

Returns: The bech32 stake address.

Inputs: stake_verification_key_file (required), out_file.

cardano_stake_address_delegation_certificateCreate Delegation CertificateB
Idempotent

Create a stake delegation certificate to delegate to a stake pool.

Args:

  • stake_verification_key_file (string): Path to stake verification key file

  • stake_pool_id (string): Bech32 or hex stake pool ID to delegate to

  • out_file (string): Output path for the certificate file

Inputs: out_file (required), stake_pool_id (required), stake_verification_key_file (required).

cardano_stake_address_deregistration_certificateCreate Stake Deregistration CertificateB
DestructiveIdempotent

Create a stake address deregistration certificate.

Args:

  • stake_verification_key_file (string): Path to stake verification key file

  • key_reg_deposit_amt (number, optional): Key registration deposit amount in lovelace (Conway era)

  • out_file (string): Output path for the certificate file

Inputs: out_file (required), stake_verification_key_file (required), key_reg_deposit_amt.

cardano_stake_address_key_genGenerate Stake Address Key PairC

Generate a stake address key pair.

Args:

  • verification_key_file (string): Output path for the verification key

  • signing_key_file (string): Output path for the signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_stake_address_registration_certificateCreate Stake Registration CertificateC
Idempotent

Create a stake address registration certificate.

Args:

  • stake_verification_key_file (string): Path to stake verification key file

  • key_reg_deposit_amt (number, optional): Key registration deposit amount in lovelace (Conway era)

  • out_file (string): Output path for the certificate file

Inputs: out_file (required), stake_verification_key_file (required), key_reg_deposit_amt.

cardano_stake_address_vote_delegation_certificateCreate Vote Delegation CertificateB
Idempotent

Create a vote delegation certificate to delegate voting power to a DRep, or to always abstain/no-confidence.

Args:

  • stake_verification_key_file (string): Path to stake verification key file

  • drep_verification_key_file (string, optional): Path to DRep verification key file

  • always_abstain (boolean, optional): Delegate to always-abstain

  • always_no_confidence (boolean, optional): Delegate to always-no-confidence

  • out_file (string): Output path for the certificate file

Exactly one of drep_verification_key_file, always_abstain, or always_no_confidence must be provided.

Inputs: out_file (required), stake_verification_key_file (required), always_abstain, always_no_confidence, +1 more.

cardano_stake_pool_idGet Stake Pool IDA
Read-onlyIdempotent

Get the pool ID from a cold verification key.

Args:

  • cold_verification_key_file (string): Path to the cold verification key file

Returns: The pool ID as bech32 string.

Inputs: cold_verification_key_file (required).

cardano_stake_pool_issue_op_certIssue Operational CertificateC

Issue an operational certificate for a stake pool.

Args:

  • kes_verification_key_file (string): Path to KES verification key file

  • cold_signing_key_file (string): Path to cold signing key file

  • operational_certificate_counter_file (string): Path to op cert counter file

  • kes_period (number): Current KES period

  • out_file (string): Output path for the operational certificate

Inputs: out_file (required), kes_period (required), cold_signing_key_file (required), kes_verification_key_file (required), +1 more.

cardano_stake_pool_kes_key_genGenerate KES Key PairC

Generate a KES (Key Evolving Signature) key pair for a stake pool.

Args:

  • verification_key_file (string): Output path for the KES verification key

  • signing_key_file (string): Output path for the KES signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_stake_pool_key_genGenerate Stake Pool KeysC

Generate stake pool cold key pair and operational certificate counter.

Args:

  • cold_verification_key_file (string): Output path for the cold verification key

  • cold_signing_key_file (string): Output path for the cold signing key

  • operational_certificate_counter_file (string): Output path for the op cert counter

Inputs: cold_signing_key_file (required), cold_verification_key_file (required), operational_certificate_counter_file (required).

cardano_stake_pool_registration_certificateCreate Pool Registration CertificateB
Idempotent

Create a stake pool registration certificate with full pool parameters.

Args:

  • cold_verification_key_file (string): Path to cold verification key file

  • vrf_verification_key_file (string): Path to VRF verification key file

  • pledge (number): Pledge amount in lovelace

  • cost (number): Fixed cost per epoch in lovelace

  • margin (number): Pool margin (0.0 to 1.0)

  • reward_account_verification_key_file (string): Path to reward account verification key

  • pool_owner_verification_key_files (string[]): Paths to pool owner verification keys

  • pool_relay_ipv4 (string[], optional): IPv4 relays in format "IP:port"

  • single_host_pool_relay (string[], optional): DNS relays in format "hostname:port"

  • multi_host_pool_relay (string[], optional): Multi-host DNS relays

  • metadata_url (string, optional): Pool metadata URL

  • metadata_hash (string, optional): Pool metadata hash (hex)

  • out_file (string): Output path for the certificate file

Inputs: cost (required), margin (required), pledge (required), out_file (required), +9 more.

cardano_stake_pool_retirement_certificateCreate Pool Retirement CertificateC
DestructiveIdempotent

Create a stake pool retirement certificate.

Args:

  • cold_verification_key_file (string): Path to cold verification key file

  • epoch (number): Epoch in which the pool will be retired

  • out_file (string): Output path for the certificate file

Inputs: epoch (required), out_file (required), cold_verification_key_file (required).

cardano_stake_pool_vrf_key_genGenerate VRF Key PairC

Generate a VRF (Verifiable Random Function) key pair for a stake pool.

Args:

  • verification_key_file (string): Output path for the VRF verification key

  • signing_key_file (string): Output path for the VRF signing key

Inputs: signing_key_file (required), verification_key_file (required).

cardano_transaction_assembleAssemble TransactionC
Idempotent

Assemble a transaction from a body and witness files.

Args:

  • tx_body_file (string): Path to the transaction body file

  • witness_files (string[]): Paths to witness files

  • out_file (string): Output path for the assembled signed transaction

Returns: Confirmation that transaction was assembled.

Inputs: out_file (required), tx_body_file (required), witness_files (required).

cardano_transaction_buildBuild TransactionA
Idempotent

Build a transaction body. Supports inputs, outputs, change address, fees, TTL, certificates, withdrawals, metadata, collateral, required signers, and minting.

Args:

  • tx_ins (string[]): Transaction inputs in format "tx_hash#index"

  • tx_outs (string[]): Transaction outputs in format "address+amount" (amount in lovelace, or "address+amount+multi_asset")

  • change_address (string, optional): Address to send change to (required for auto-balancing)

  • fee (number, optional): Transaction fee in lovelace (if omitted, auto-calculated when change_address provided)

  • ttl (number, optional): Transaction time-to-live (slot number)

  • certificate_files (string[], optional): Paths to certificate files to include

  • withdrawals (string[], optional): Stake withdrawals in format "stake_address+amount"

  • metadata_json_file (string, optional): Path to metadata JSON file

  • tx_in_collateral (string[], optional): Collateral inputs in format "tx_hash#index"

  • required_signer_hashes (string[], optional): Required signer key hashes

  • mint (string[], optional): Minting operations in format "policy_id.asset_name+/-quantity"

  • out_file (string): Output path for the transaction body file

Returns: Confirmation with estimated fee (if auto-calculated).

Inputs: tx_ins (required), tx_outs (required), out_file (required), fee, +8 more.

cardano_transaction_calculate_min_feeCalculate Minimum FeeA
Read-onlyIdempotent

Calculate the minimum fee for a transaction.

Args:

  • tx_body_file (string): Path to the transaction body file

  • witness_count (number, optional): Number of witnesses (default: 1)

  • protocol_params_file (string): Path to protocol parameters JSON file

Returns: The minimum fee in lovelace.

Inputs: tx_body_file (required), protocol_params_file (required), witness_count.

cardano_transaction_policyidGet Policy IDB
Read-onlyIdempotent

Compute the policy ID from a minting policy script file.

Args:

  • script_file (string): Path to the minting policy script file

Returns: The policy ID as hex string.

Inputs: script_file (required).

cardano_transaction_signSign TransactionC
Idempotent

Sign a transaction body with one or more signing keys.

Args:

  • tx_body_file (string): Path to the transaction body file

  • signing_key_files (string[]): Paths to signing key files

  • out_file (string): Output path for the signed transaction

Returns: Confirmation that transaction was signed.

Inputs: out_file (required), tx_body_file (required), signing_key_files (required).

cardano_transaction_submitSubmit TransactionB
Destructive

Submit a signed transaction to the blockchain via the node.

Args:

  • tx_file (string): Path to the signed transaction file

Returns: Confirmation that the transaction was submitted, or validation error details.

Inputs: tx_file (required).

cardano_transaction_txidGet Transaction IDA
Read-onlyIdempotent

Get the transaction ID (hash) from a transaction file.

Args:

  • tx_file (string): Path to the transaction file (signed or unsigned)

Returns: The transaction ID as hex string.

Inputs: tx_file (required).

cardano_transaction_viewView TransactionB
Read-onlyIdempotent

Display the contents of a transaction file in human-readable format.

Args:

  • tx_file (string): Path to the transaction file

Returns: Transaction details.

Inputs: tx_file (required).

cardano_transaction_witnessCreate Transaction WitnessB
Idempotent

Create a witness for a transaction body using a signing key.

Args:

  • tx_body_file (string): Path to the transaction body file

  • signing_key_file (string): Path to the signing key file

  • out_file (string): Output path for the witness file

Returns: Confirmation that witness was created.

Inputs: out_file (required), tx_body_file (required), signing_key_file (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 64 tools

    Disambiguation2/5

    Several tool pairs appear to perform identical or near-identical operations, such as cardano_address_key_gen vs cardano_key_generate_payment, cardano_stake_address_key_gen vs cardano_key_generate_stake, and the stake-pool/node key duplication (e.g., cardano_stake_pool_key_gen vs cardano_node_key_gen). While many query and governance tools are distinct, these overlapping boundaries make misselection likely.

    Naming Consistency3/5

    All names use snake_case with a cardano_ prefix, but ordering conventions are inconsistent: some use domain_action (cardano_transaction_build), others use action_domain (cardano_key_generate_payment), and some duplicate concepts use different patterns. The names are still mostly readable, but the mixed verb/noun ordering reduces predictability.

    Tool Count2/5

    64 tools is far beyond the typical 3-15 range and includes many redundant or alias-like commands that could be consolidated. The Cardano node domain is broad, so some scale is justified, but the set feels heavy and over-provisioned for a single MCP server.

    Completeness4/5

    The surface covers a wide range of Cardano node operations: queries, address/key generation, transaction lifecycle, stake address/pool management, governance actions, and DRep operations. Only minor gaps or redundancies are present, so agents can accomplish most intended workflows.

    Related MCP Connectors

    Related MCP Servers