home / mcp / mistcash mcp server

Mistcash MCP Server

Model Context Protocol SDK for blockchain systems and AI agents integration. Facilitates communication between LLMs and smart contracts on Starknet, enabling automated workflows for Web3 applications.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "joadataarg-mcp-mistcash": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "STARKNET_RPC_URL=https://ztarknet-madara.d.karnot.xyz",
        "-e",
        "STARKNET_NETWORK=mainnet",
        "-e",
        "CHAMBER_CONTRACT_ADDRESS=0xTuDireccionDeContrato",
        "mcp-mistcash"
      ],
      "env": {
        "STARKNET_NETWORK": "mainnet",
        "STARKNET_RPC_URL": "https://ztarknet-madara.d.karnot.xyz",
        "CHAMBER_CONTRACT_ADDRESS": "0xTuDireccionDeContrato"
      }
    }
  }
}

This MCP server enables private payment operations for MIST.cash on Starknet, providing an MPC-friendly, privacy-first interface you can use from your favorite MCP clients to interact with MIST.cash’s privacy-preserving payments and multi-token support.

How to use

You interact with the server through an MCP client by connecting to a local or remote MCP endpoint that runs the server. The server exposes five transaction tools and two information resources that let you generate secrets, verify and analyze transaction assets, and retrieve chamber configuration. Use these tools to perform private token transfers (ETH, USDC, USDT, DAI on Starknet) with built-in retry logic, timeouts, and robust error handling.

Key tools you can invoke include generating a cryptographic secret for a private transaction, obtaining assets for a transaction, verifying that a transaction exists with specific assets, calculating a unique transaction hash, and retrieving the Chamber contract configuration and supported tokens. All inputs are validated with strict schemas to ensure safe and predictable behavior.

How to install

Choose your deployment method below. Each method provides a concrete runtime you can use with your MCP client.

Option 1: Docker (recommended for teams)

# Build the Docker image
docker build -t mcp-mistcash .

# Run the MCP server with stdio communication
# Note: -i is required for communication via MCP
docker run -i --rm \
  -e STARKNET_RPC_URL=https://ztarknet-madara.d.karnot.xyz \
  -e STARKNET_NETWORK=mainnet \
  -e CHAMBER_CONTRACT_ADDRESS=0xTuDireccionDeContrato \
  mcp-mistcash

Option 2: Local development with Node.js

# Install dependencies
cd mcp-mistcash
npm install

# Create a local environment file
cp .env.example .env
# Build the project
npm run build

Environment variables you may configure include StarkNet RPC URL and network, and optionally the Chamber contract address for Madara appchains. Example values are shown in the deployment snippets above.

Additional notes

Security and reliability are built in: there is no handling of private keys, only public claiming keys are used; all Starknet addresses are validated; logs never contain secret transaction information; and all inputs are validated with Zod schemas. Be aware that some read operations may reflect temporary assets that have already been spent, so verify with dedicated checks when needed. RPC usage should be monitored to avoid unexpected costs, and contract call timeouts are capped at 30 seconds to prevent long-tail latency.

Available tools

generar_secreto_transaccion

Generates a cryptographic secret for a private transaction using a claiming key and the recipient Starknet address.

obtener_assets_transaccion

Retrieves assets for a given transaction, showing assets even if they have already been spent. Use a separate verification step for precise checks.

verificar_existencia_transaccion

Checks whether a transaction exists with specific assets, ideal for fully private payments.

calcular_hash_transaccion

Calculates the unique hash for a transaction using the transaction key, recipient, token address, and amount.

obtener_configuracion_chamber

Fetches the Chamber contract configuration and the supported tokens for the network.