Files
apex-mcp-server/docs/CARDANO.md
2025-03-13 13:01:50 -05:00

4.8 KiB

Cardano Support for Web3-MCP

This document covers the Cardano blockchain integration for web3-mcp.

Overview

The Cardano integration in web3-mcp allows you to interact with the Cardano blockchain through the Blockfrost API, providing access to network data, address information, transaction details, stake pools, and more.

Prerequisites

To use the Cardano integration, you need a Blockfrost API key. You can get one by signing up at blockfrost.io.

Configuration

Update your .env file with the following settings:

# Cardano Configuration
BLOCKFROST_API_KEY=your-blockfrost-api-key-here
CARDANO_NETWORK=mainnet     # or 'testnet', 'preview', 'preprod'
ENABLE_CARDANO_TOOLS=true

Available Tools

Network Information

1. Get Cardano Network Information

const response = await server.call("getCardanoNetworkInfo", {});

Returns current information about the Cardano network including:

  • Latest block details (height, hash, slot, epoch)
  • Network parameters
  • Timing information

2. Get Cardano Network Statistics

const response = await server.call("getCardanoNetworkStats", {});

Returns statistics about the Cardano network including:

  • Number of blocks
  • Number of transactions
  • Number of native tokens
  • Number of addresses with ADA
  • Number of delegated stakes

3. Get Current Epoch Information

const response = await server.call("getCardanoEpochInfo", {});

Returns information about the current epoch including:

  • Epoch number
  • Start and end time
  • Block and transaction counts
  • Protocol parameters

Address Operations

1. Get Address Information

const response = await server.call("getCardanoAddressInfo", {
  address: "addr1qyx...",
});

Returns information about a Cardano address including:

  • Balance in ADA
  • UTxO count
  • Address type (script or key-based)
  • Stake address (if delegated)

2. Get Address Transactions

const response = await server.call("getCardanoAddressTransactions", {
  address: "addr1qyx...",
  count: 10,   // Optional, default is 10
  page: 1      // Optional, default is 1
});

Returns a list of transactions for the specified address, including:

  • Transaction hash
  • Block and slot
  • Output amounts
  • Fees
  • Date and time

3. Get Address UTxOs

const response = await server.call("getCardanoAddressUtxos", {
  address: "addr1qyx...",
});

Returns a list of unspent transaction outputs (UTxOs) for the specified address.

Staking Operations

1. Get Stake Address Information

const response = await server.call("getCardanoStakeAddressInfo", {
  stakeAddress: "stake1ux...",
});

Returns information about a Cardano stake address including:

  • Total balance delegated
  • Rewards balance
  • Withdrawal history
  • Delegation information
  • Recent rewards

2. Get Pool Information

const response = await server.call("getCardanoPoolInfo", {
  poolId: "pool1...",
});

Returns detailed information about a specific stake pool:

  • Pool metadata (name, ticker, description)
  • Performance metrics
  • Stake and delegator information
  • Reward details

3. List Top Stake Pools

const response = await server.call("listCardanoTopPools", {
  count: 10,   // Optional, default is 10
});

Returns a list of the top stake pools by live stake, including key metrics for each pool.

Asset Operations

1. Get Asset Information

const response = await server.call("getCardanoAssetInfo", {
  assetId: "asset1...",
});

Returns detailed information about a Cardano native asset:

  • Asset policy and name
  • Total supply
  • Mint/burn history
  • Metadata
  • Top addresses holding the asset

Transaction Operations

1. Get Transaction Information

const response = await server.call("getCardanoTransactionInfo", {
  txHash: "5c7...",
});

Returns detailed information about a Cardano transaction:

  • Basic transaction details (block, slot, fees)
  • Inputs and outputs
  • Metadata
  • Validity interval

Error Handling

All tools return a standardized error format if they fail:

{
  content: [
    { 
      type: "text", 
      text: "Failed to [operation]: [error message]" 
    }
  ]
}

Advanced Usage

For more advanced Cardano operations that go beyond querying blockchain data, such as:

  1. Creating and submitting transactions
  2. Minting native tokens
  3. Working with smart contracts

You may need to extend the functionality by implementing additional tools that use:

References