Skip to main content
Glama

Kaspa MCP

MCP server for sending KAS on the Kaspa blockDAG.

About Kaspa

Kaspa is a fast, scalable Layer-1 cryptocurrency built on proof-of-work (PoW) and powered by the GHOSTDAG protocol — a novel consensus mechanism that extends Nakamoto's original design. Unlike traditional blockchains that discard competing blocks, GHOSTDAG allows parallel blocks to coexist and orders them within a Directed Acyclic Graph (blockDAG), enabling high throughput while preserving decentralization and security.

Key Features:

  • 10 blocks per second with sub-second finality (Crescendo upgrade, May 2025)

  • Proof of Work using kHeavyHash algorithm

  • Fair launch - no premine, no ICO, no token allocations

  • Decentralized - runs on standard hardware

Related MCP server: Algorand MCP Server

Installation

npm install
npm run build

Configuration

Set these environment variables:

Variable

Required

Description

KASPA_MNEMONIC

Yes*

BIP39 mnemonic phrase (24 words)

KASPA_PRIVATE_KEY

Yes*

Hex-encoded private key (alternative to mnemonic)

KASPA_NETWORK

No

Network: mainnet, testnet-10, testnet-11. Defaults to mainnet

KASPA_ACCOUNT_INDEX

No

BIP44 account index when using mnemonic. Defaults to 0

*Either KASPA_MNEMONIC or KASPA_PRIVATE_KEY must be set.

Usage with Claude Desktop

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

{
  "mcpServers": {
    "kaspa": {
      "command": "npx",
      "args": ["kaspa-mcp"],
      "env": {
        "KASPA_MNEMONIC": "your twenty four word mnemonic phrase here ...",
        "KASPA_NETWORK": "mainnet"
      }
    }
  }
}

Tools

generate_mnemonic

Generate a new BIP39 mnemonic phrase and derive the corresponding Kaspa wallet address.

Parameters:

  • wordCount (optional): Number of words - 12 or 24 (default: 12)

  • network (optional): Network for address derivation - mainnet, testnet-10, or testnet-11 (default: mainnet)

Returns:

{
  mnemonic: string,    // The generated BIP39 mnemonic phrase
  address: string,     // Derived Kaspa address (account 0)
  network: string,     // Network used
  warning: string      // Security reminder
}

Important: The mnemonic is generated using cryptographically secure randomness. Save it securely - it cannot be recovered if lost.

get_my_address

Get the Kaspa address derived from your configured private key or mnemonic.

Returns: { address: string }

get_balance

Get balance for a Kaspa address.

Parameters:

  • address (optional): Address to check. Defaults to your wallet address.

Returns: { address: string, balance: string, utxoCount: number }

get_fee_estimate

Get current fee estimates from the network.

Returns: { priorityFee: string, normalFee: string, lowFee: string }

send_kaspa

Send KAS tokens to a recipient.

Parameters:

  • to: Recipient Kaspa address (must match wallet network)

  • amount: Amount in KAS as string (e.g., "10.5", max 8 decimal places)

  • priorityFee (optional): Priority fee in sompi

Returns: { txId: string, fee: string }

Validations:

  • Address format and network prefix validation

  • Amount must be a valid positive decimal number

  • Maximum 8 decimal places (1 sompi = 0.00000001 KAS)

  • Insufficient balance check before broadcast

get_transaction

Get transaction details including inputs and outputs.

Parameters:

  • txId: Transaction ID

Returns:

{
  txId: string,
  accepted: boolean,
  blockHash?: string,
  blockTime?: number,
  inputs: Array<{ transactionId: string, index: number }>,
  outputs: Array<{ index: number, amount: string, address: string }>
}

Example

Demo of kaspa-mcp in Claude Code

Test Prompts

Try these prompts to verify your MCP is working:

"Generate a new Kaspa wallet for me"
"What is my Kaspa address?"
"How much KAS do I have?"
"What are the current network fees?"
"Send 5 KAS to kaspa:qz..."

The MCP will:

  1. Validate the recipient address matches your network

  2. Check your balance is sufficient

  3. Build the transaction with KIP-9 compliant fees

  4. Sign with your private key

  5. Broadcast to the network via public nodes

  6. Return the transaction ID

Technical Details

  • Uses kaspa-wasm for cryptographic operations

  • Connects to public nodes via Resolver for automatic node discovery

  • Implements BIP44 derivation path m/44'/111111'/account' for mnemonic wallets

  • Transaction building uses Generator for KIP-9 compliant UTXO management

Security

  • Private keys and mnemonics are only used locally for signing

  • Keys are never sent to any external service

  • Error messages are sanitized to prevent secret leakage

  • All transactions require explicit user action via MCP tools

Testing

npm test

The test suite includes deterministic test vectors based on the Kaspium wallet for cross-implementation verification. Test vectors are stored in src/kaspa/test-vectors.json and include:

  • Standard BIP39 test mnemonics (12 and 24 words)

  • Known private key → address derivations

  • Invalid input validation

These vectors ensure that key derivation is consistent across Kaspa wallet implementations using the BIP44 path m/44'/111111'/account'/0/0.

Note: Coin type 111111 is Kaspa's de-facto standard, used by rusty-kaspa (official node), Kaspium, and kaspa-wasm. While not formally registered in SLIP-0044, it is the established ecosystem convention.

Networks

Network

Address Prefix

API Endpoint

mainnet

kaspa:

api.kaspa.org

testnet-10

kaspatest:

api-tn10.kaspa.org

testnet-11

kaspatest:

api-tn11.kaspa.org

License

ISC

Available Tools

7 tools
generate_mnemonicA

Generate a new BIP39 mnemonic phrase and derive the corresponding Kaspa wallet address. Use this to create a new wallet.

Inputs: wordCount, network.

get_balanceB

Get balance for a Kaspa address (defaults to your wallet address)

Inputs: address.

get_fee_estimateB

Get current fee estimates from the Kaspa network

Inputs: no named parameters.

get_my_addressB

Get the Kaspa address derived from the configured private key

Inputs: no named parameters.

get_transactionC

Get transaction status and details

Inputs: txId (required).

health_checkB

Check server health: wallet config, address derivation, and API connectivity

Inputs: no named parameters.

send_kaspaC

Send KAS tokens to a recipient address

Inputs: to (required), amount (required), priorityFee, payload.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a distinct and clearly defined purpose with no overlap. For example, generate_mnemonic creates a new wallet, get_balance checks funds, send_kaspa transfers tokens, and health_check monitors server status. The descriptions make it easy for an agent to select the correct tool for any task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as generate_mnemonic, get_balance, and send_kaspa. This uniformity makes the toolset predictable and easy to navigate, with no deviations in naming conventions.

    Tool Count5/5

    With 7 tools, the server is well-scoped for wallet and transaction management in the Kaspa domain. Each tool serves a specific function, from wallet creation to transaction handling, without being overly sparse or bloated, making it efficient for typical use cases.

    Completeness4/5

    The toolset covers core wallet operations like creation, balance checking, and sending tokens, along with network and health checks. A minor gap is the lack of tools for advanced features such as transaction history or multi-signature support, but agents can perform essential workflows without significant hindrance.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables blockchain payment operations across multiple networks including Base, Ethereum, BSC, Polygon, and Avalanche. Supports balance queries, token transfers, transaction tracking, wallet management, and gas fee estimation with built-in security limits.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with the Algorand blockchain through 25+ specialized tools for account management, payments, asset creation, NFT operations, and network monitoring. Supports both mainnet and testnet with instant finality and low fees.
      66 npm
      1
      MIT