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.
# 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.
- 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
Run the interactive setup to automatically configure your MCP client:
npx @indigoprotocol/cardano-mcp setupThis 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
Install globally:
npm install -g @indigoprotocol/cardano-mcpOr run directly with npx:
npx @indigoprotocol/cardano-mcpdocker 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| 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.
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"
}
}
}
}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"
}
}
}
}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"
}
}
}
}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"
}
}
}
}Install Cardano skills for OpenClaw:
openclaw skills add IndigoProtocol/cardano-skillsSkills are automatically configured — start using Cardano wallet tools immediately.
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"
}
}
}
}| 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 }
| Tool | Description | Parameters |
|---|---|---|
get_addresses |
Retrieve all Cardano addresses for the connected wallet | None |
Output: { addresses: string[] }
| Tool | Description | Parameters |
|---|---|---|
get_utxos |
Retrieve all UTxOs for the connected wallet in raw CBOR format | None |
Output: { utxos: string[] } (CBOR hex encoded)
| 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
}
]
}| Tool | Description | Parameters |
|---|---|---|
get_adahandles |
Retrieve all ADAHandles (handle.me) owned by the connected wallet | None |
Output: { adaHandles: string[] } (e.g., ["$myhandle", "$another"])
| Tool | Description | Parameters |
|---|---|---|
get_stake_delegation |
Retrieve stake pool delegation and available ADA rewards | None |
Output:
{
"poolId": "pool1...",
"availableAdaRewards": 12.5
}"What's my ADA balance?"
Claude will use get_balances and respond with your ADA and token holdings.
"Submit this transaction: 84a400..."
Claude will use submit_transaction to sign and submit the CBOR transaction, returning the transaction hash.
"How much staking rewards do I have available?"
Claude will use get_stake_delegation to show your staked pool and claimable rewards.
"What ADAHandles do I own?"
Claude will use get_adahandles to list all your handle.me handles.
If you use nvm and Claude Desktop shows "server disconnected", you need to use full paths since Claude Desktop doesn't inherit your shell's nvm setup:
{
"mcpServers": {
"cardano": {
"command": "/Users/YOU/.nvm/versions/node/v22.x.x/bin/npx",
"args": ["-y", "@indigoprotocol/cardano-mcp"],
"env": {
"PATH": "/Users/YOU/.nvm/versions/node/v22.x.x/bin:/usr/local/bin:/usr/bin:/bin",
"SEED_PHRASE": "word1,word2,...",
"BLOCKFROST_PROJECT_ID": "mainnetXXX"
}
}
}
}Find your node path with: which npx
If tools fail after an update, clear the npm cache:
rm -rf ~/.npm/_npxThen restart Claude Desktop.
| Platform | Status | Notes |
|---|---|---|
| macOS | ✅ Full support | Intel & Apple Silicon |
| Windows | ✅ Full support | Windows 10/11 |
| Linux | ✅ Full support | x64 & ARM64 |
- 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
- 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
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
MIT