Cardano MCP Server
MCP server for interacting with the Cardano blockchain from AI agents and automation systems via the Model Context Protocol.
Part of the Indigo AI Stack — use alongside Indigo MCP for full Cardano DeFi capabilities.
⚡ 2 Commands to Get Started
# Install
npm install -g @indigoprotocol/cardano-mcp
# Setup (interactive)
npx @indigoprotocol/cardano-mcp setup
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ █████╗ ██████╗ ██████╗ █████╗ ███╗ ██╗ ██████╗ ║
║ ██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗████╗ ██║██╔═══██╗ ║
║ ██║ ███████║██████╔╝██║ ██║███████║██╔██╗ ██║██║ ██║ ║
║ ██║ ██╔══██║██╔══██╗██║ ██║██╔══██║██║╚██╗██║██║ ██║ ║
║ ╚██████╗██║ ██║██║ ██║██████╔╝██║ ██║██║ ╚████║╚██████╔╝ ║
║ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ║
║ ║
║ ███╗ ███╗ ██████╗██████╗ ║
║ ████╗ ████║██╔════╝██╔══██╗ ║
║ ██╔████╔██║██║ ██████╔╝ ║
║ ██║╚██╔╝██║██║ ██╔═══╝ ║
║ ██║ ╚═╝ ██║╚██████╗██║ ║
║ ╚═╝ ╚═╝ ╚═════╝╚═╝ ║
║ ║
║ 6 wallet tools for Cardano ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
That's it — 6 wallet tools configured for Claude Desktop, Claude Code, Cursor, or Windsurf.
Features
- Submit signed transactions to the Cardano network
- Retrieve wallet addresses and UTxOs
- Fetch token balances (ADA + native tokens)
- Resolve ADAHandles (handle.me)
- Check stake delegation and claimable rewards
- Wallet-aware tools powered by Lucid Evolution
Quick Start
Automatic Setup (Recommended)
Run the interactive setup to automatically configure your MCP client:
npx @indigoprotocol/cardano-mcp setup
This will:
- Ask which client you're using (Claude Desktop, Claude Code, Cursor, Windsurf)
- Prompt for your Blockfrost Project ID
- Prompt for your wallet seed phrase (stored locally, never exposed to LLMs)
- Automatically update your config file
Manual Installation
Install globally:
npm install -g @indigoprotocol/cardano-mcp
Or run directly with npx:
npx @indigoprotocol/cardano-mcp
Docker
docker build -t cardano-mcp .
docker run -p 8000:8000 \
-e PORT=8000 \
-e SEED_PHRASE="your seed phrase here" \
-e BLOCKFROST_PROJECT_ID="your_blockfrost_key" \
cardano-mcp
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
SEED_PHRASE | Yes | Your wallet seed phrase (comma-separated). Never exposed to LLMs. |
BLOCKFROST_PROJECT_ID | Yes* | Blockfrost API key from blockfrost.io |
KUPO_URL | Alt | Kupo endpoint URL (alternative to Blockfrost) |
OGMIOS_URL | Alt | Ogmios endpoint URL (alternative to Blockfrost) |
PORT | No | HTTP server port (default: 8000) |
*Either BLOCKFROST_PROJECT_ID or both KUPO_URL + OGMIOS_URL are required.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"cardano": {
"command": "npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"SEED_PHRASE": "word1,word2,word3,...",
"BLOCKFROST_PROJECT_ID": "mainnetXXXXXXXXXXXXXXX"
}
}
}
}
Claude Code (CLI)
Add to ~/.claude/settings.json or .claude/settings.json in your project:
{
"mcpServers": {
"cardano": {
"command": "npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"SEED_PHRASE": "word1,word2,word3,...",
"BLOCKFROST_PROJECT_ID": "mainnetXXXXXXXXXXXXXXX"
}
}
}
}
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level):
{
"mcpServers": {
"cardano": {
"command": "npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"SEED_PHRASE": "word1,word2,word3,...",
"BLOCKFROST_PROJECT_ID": "mainnetXXXXXXXXXXXXXXX"
}
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"cardano": {
"command": "npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"SEED_PHRASE": "word1,word2,word3,...",
"BLOCKFROST_PROJECT_ID": "mainnetXXXXXXXXXXXXXXX"
}
}
}
}
OpenClaw
Install Cardano skills for OpenClaw:
openclaw skills add IndigoProtocol/cardano-skills
Skills are automatically configured — start using Cardano wallet tools immediately.
Combined with Indigo MCP
For full Cardano DeFi capabilities, use both Cardano MCP and Indigo MCP together:
{
"mcpServers": {
"indigo": {
"command": "npx",
"args": ["-y", "@indigoprotocol/indigo-mcp"],
"env": {
"BLOCKFROST_API_KEY": "your-blockfrost-project-id"
}
},
"cardano": {
"command": "npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"SEED_PHRASE": "word1,word2,word3,...",
"BLOCKFROST_PROJECT_ID": "your-blockfrost-project-id"
}
}
}
}
Available Tools
Transaction Tools
| Tool | Description | Parameters |
|---|---|---|
submit_transaction | Sign and submit a Cardano transaction from the connected wallet | cbor: unsigned transaction CBOR hex string |
Output: { transactionHash: string, timestamp: number }
Address Tools
| Tool | Description | Parameters |
|---|---|---|
get_addresses | Retrieve all Cardano addresses for the connected wallet | None |
Output: { addresses: string[] }
UTxO Tools
| Tool | Description | Parameters |
|---|---|---|
get_utxos | Retrieve all UTxOs for the connected wallet in raw CBOR format | None |
Output: { utxos: string[] } (CBOR hex encoded)
Balance Tools
| Tool | Description | Parameters |
|---|---|---|
get_balances | Retrieve all token balances for the connected wallet | None |
Output:
{
"balances": [
{
"name": "ADA",
"policyId": "",
"nameHex": "",
"amount": 1500000000
},
{
"name": "INDY",
"policyId": "533bb94...",
"nameHex": "494e4459",
"amount": 100000000
}
]
}
ADAHandle Tools
| Tool | Description | Parameters |
|---|---|---|
get_adahandles | Retrieve all ADAHandles (handle.me) owned by the connected wallet | None |
Output: { adaHandles: string[] } (e.g., ["$myhandle", "$another"])
Staking Tools
| Tool | Description | Parameters |
|---|---|---|
get_stake_delegation | Retrieve stake pool delegation and available ADA rewards | None |
Output:
{
"poolId": "pool1...",
"availableAdaRewards": 12.5
}
Example Usage
Check Wallet Balance
"What's my ADA balance?"
Claude will use get_balances and respond with your ADA and token holdings.
Submit a Transaction
"Submit this transaction: 84a400..."
Claude will use submit_transaction to sign and submit the CBOR transaction, returning the transaction hash.
Check Staking Rewards
"How much staking rewards do I have available?"
Claude will use get_stake_delegation to show your staked pool and claimable rewards.
Resolve ADAHandles
"What ADAHandles do I own?"
Claude will use get_adahandles to list all your handle.me handles.
Security
⚠️ Important: Your seed phrase is stored locally and used only for wallet operations. It is never exposed to LLMs or external services.
- The seed phrase is only used by the local Lucid Evolution wallet instance
- All transaction signing happens locally before submission
- No private keys are ever transmitted
Related Projects
- Indigo MCP — 57 tools for Indigo Protocol (CDPs, staking, stability pools, DEX)
- Indigo AI Skills — AI agent skills for Indigo workflows
- Cardano AI Skills — AI agent skills for Cardano operations
Disclaimer
By using this Cardano MCP Server and all related tools and technology ("MCP"), you acknowledge and agree that:
- Your use of decentralized finance, including MCP and/or AI agents that you empower to manage your digital assets, involves various significant financial risks
- These risks include but are not limited to: risk of financial loss caused by MCP design or instructions, impermanent loss, and changes in digital asset prices
- You are solely responsible for all MCP actions and transactions
- You are solely responsible for securing your seed phrase, private keys, and environment configuration
License
MIT
Server Config
{
"mcpServers": {
"cardano-mcp": {
"command": "npx",
"args": [
"-y",
"@indigoprotocol/cardano-mcp"
]
}
}
}