Skip to main content
Glama
MIST.cash MCP Server

MIST.cash MCP Server

by joadataarg

Servidor MCP para MIST.cash SDK

Un servidor del Protocolo de Contexto de Modelo (MCP) que expone la funcionalidad de pagos privados de MIST.cash en Starknet. Este servidor permite a los agentes de IA interactuar con el protocolo de pagos preservadores de privacidad de MIST.cash a través de una interfaz estandarizada.

🌟 Características

  • 5 Herramientas MCP para operaciones de transacción

  • 2 Recursos MCP para información de contratos y transacciones

  • Privacidad Primero: Aprovecha el sistema de pruebas de conocimiento cero de MIST.cash

  • Soporte Multi-Token: ETH, USDC, USDT, DAI en Starknet

  • Listo para Producción: Lógica de reintento, tiempos de espera (timeouts) y manejo integral de errores

Related MCP server: AgentBTC MCP Server

📋 Requisitos Previos

  • Node.js 20 o superior (si se ejecuta localmente)

  • Docker (recomendado para equipos)

  • Acceso a un proveedor RPC de Starknet (o Appchain compatible)

🚀 Instalación y Configuración

Opción 1: Docker (Recomendado para el Equipo)

Esta es la forma más sencilla de asegurar que todos en el equipo tengan el mismo entorno.

  1. Construir la imagen:

    docker build -t mcp-mistcash .
  2. Ejecutar con Docker:

    Para usarlo con clientes MCP (como Claude Desktop), usarás el comando docker run. Nota la bandera -i que es requerida para la comunicación stdio.

    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

Opción 2: Desarrollo Local (Node.js)

  1. Clonar e instalar dependencias:

    cd mcp-mistcash
    npm install
  2. Configurar variables de entorno:

    Crea un archivo .env basado en el ejemplo:

    cp .env.example .env

    Edita .env con tu configuración (ejemplo para Madara Appchain):

    STARKNET_RPC_URL=https://ztarknet-madara.d.karnot.xyz
    STARKNET_NETWORK=mainnet
    MCP_LOG_LEVEL=info
    # Opcional: Dirección del contrato Chamber (Requerido para Madara si no usas Mainnet)
    # CHAMBER_CONTRACT_ADDRESS=0x...
  3. Construir el proyecto:

    npm run build

🔌 Integración con Clientes de IA

Para que tu equipo pueda usar estas herramientas en su día a día, deben configurar su cliente de IA preferido.

Claude Desktop

Añade lo siguiente a tu archivo de configuración claude_desktop_config.json:

Ruta del archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuración con Docker (Recomendada)

{
  "mcpServers": {
    "mist-cash": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "STARKNET_RPC_URL=https://ztarknet-madara.d.karnot.xyz",
        "-e", "STARKNET_NETWORK=mainnet",
        "mcp-mistcash"
      ]
    }
  }
}

Configuración Local (Alternativa)

{
  "mcpServers": {
    "mist-cash": {
      "command": "node",
      "args": ["/ruta/absoluta/a/mcp-mistcash/dist/index.js"],
      "env": {
        "STARKNET_RPC_URL": "https://ztarknet-madara.d.karnot.xyz",
        "STARKNET_NETWORK": "mainnet"
      }
    }
  }
}

Cursor IDE

Añade esto a tus configuraciones de MCP en Cursor:

{
  "mist-cash": {
    "command": "docker",
    "args": [
        "run",
        "-i",
        "--rm",
        "-e", "STARKNET_RPC_URL=https://ztarknet-madara.d.karnot.xyz",
        "-e", "STARKNET_NETWORK=mainnet",
        "mcp-mistcash"
    ]
  }
}

🛠️ Herramientas Disponibles

1. generar_secreto_transaccion

Genera un secreto criptográfico para una transacción privada.

Parámetros:

  • claiming_key (string, requerido): Clave de reclamación para la transacción

  • recipient_address (string, requerido): Dirección Starknet (0x...)

2. obtener_assets_transaccion

Obtiene los activos de una transacción.

⚠️ ADVERTENCIA: Esta función muestra activos incluso si ya han sido gastados. Usa verificar_existencia_transaccion para una verificación precisa.

Parámetros:

  • transaction_key (string, requerido): Clave de la transacción a consultar

  • recipient_address (string, requerido): Dirección Starknet del receptor

  • provider_rpc_url (string, opcional): URL RPC personalizada

3. verificar_existencia_transaccion

Verifica si existe una transacción con activos específicos. Ideal para transacciones completamente privadas.

Parámetros:

  • claiming_key (string, requerido): Clave de reclamación

  • recipient (string, requerido): Dirección del receptor

  • token_address (string, requerido): Dirección del contrato del token

  • amount (string, requerido): Cantidad en unidades base (wei)

4. calcular_hash_transaccion

Calcula el hash único de una transacción.

Parámetros:

  • transaction_key (string, requerido): Clave de la transacción

  • recipient_address (string, requerido): Dirección del receptor

  • token_address (string, requerido): Dirección del token

  • amount (string, requerido): Cantidad en unidades base

5. obtener_configuracion_chamber

Obtiene la configuración del contrato Chamber y los tokens soportados.

Parámetros:

  • network (enum, opcional): "mainnet" o "sepolia" (por defecto: "mainnet")

📚 Recursos Disponibles

chamber://contract-info

Información estática sobre el contrato Chamber de MIST.cash, incluyendo ABI, direcciones y características.

chamber://tx/{txHash}

Detalles para una transacción específica por hash.

🔒 Consideraciones de Seguridad

✅ Prácticas Seguras

  • Sin Claves Privadas: Solo se manejan claves de reclamación (públicas)

  • Validación de Direcciones: Todas las direcciones Starknet son validadas

  • Logging Seguro: Los secretos de las transacciones nunca se registran en los logs

  • Validación de Entrada: Esquemas Zod validan todas las entradas

⚠️ Advertencias Importantes

  1. Transacciones Gastadas: obtener_assets_transaccion no detecta activos gastados

  2. Costos RPC: Monitorea el uso del RPC para evitar costos inesperados

  3. Retrasos de Red: Timeout de 30 segundos en todas las llamadas al contrato

🏗️ Estructura del Proyecto

mcp-mistcash/
├── src/
│   ├── index.ts                 # Servidor MCP principal
│   ├── types.ts                 # Definiciones de tipos TypeScript
│   ├── tools/                   # Implementación de herramientas
│   ├── resources/               # Recursos MCP
│   └── utils/                   # Utilidades (provider, validación)
├── Dockerfile                   # Configuración para construir la imagen Docker
├── package.json
├── tsconfig.json
├── .env.example
└── README.md

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor asegúrate de:

  1. Que todas las herramientas tengan manejo de errores adecuado

  2. Los esquemas Zod validen las entradas

  3. El código siga las mejores prácticas de TypeScript

  4. La documentación esté actualizada

📄 Licencia

MIT


Construido con ❤️ para las comunidades de Starknet y MCP

Available Tools

5 tools
calcular_hash_transaccionC

Calculate the unique hash of a transaction using transaction parameters.

Inputs: transaction_key (required), recipient_address (required), token_address (required), amount (required).

generar_secreto_transaccionC

Generate a transaction secret for private payments. Creates a cryptographic secret using a claiming key and recipient address.

Inputs: claiming_key (required), recipient_address (required).

obtener_assets_transaccionA

Fetch assets from a transaction. WARNING: This shows assets even if already spent. Use verificar_existencia_transaccion for accurate verification.

Inputs: transaction_key (required), recipient_address (required), provider_rpc_url.

obtener_configuracion_chamberB

Get Chamber contract configuration including contract address, network, and supported tokens.

Inputs: network.

verificar_existencia_transaccionB

Verify if a transaction exists with specific assets. For fully private transactions where assets are not publicly visible.

Inputs: claiming_key (required), recipient (required), token_address (required), amount (required), +1 more.

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 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: calcular_hash_transaccion computes a transaction hash, generar_secreto_transaccion creates a cryptographic secret, obtener_assets_transaccion fetches assets, obtener_configuracion_chamber retrieves contract configuration, and verificar_existencia_transaccion verifies transaction existence. The descriptions explicitly differentiate their functions, preventing agent misselection.

    Naming Consistency5/5

    All tool names follow a consistent Spanish verb_noun pattern (e.g., calcular_hash_transaccion, generar_secreto_transaccion) using snake_case throughout. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

    Tool Count5/5

    With 5 tools, this server is well-scoped for its apparent domain of transaction and contract operations in MIST.cash. Each tool serves a specific, non-trivial function, and the count is neither too sparse nor bloated, fitting typical expectations for a focused MCP server.

    Completeness4/5

    The tool set covers core transaction operations (hash calculation, secret generation, asset fetching, existence verification) and contract configuration retrieval, providing a solid foundation. A minor gap exists in lacking tools for creating or modifying transactions, but agents can likely work around this for basic query and verification tasks.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Enables AI agents to perform financial transactions such as direct payments, escrows, and bounty management using natural language with zero code integration. It provides a comprehensive suite of tools for fund streaming, subscriptions, and reputation tracking to facilitate secure agent-to-agent commerce.
      15 npm
      MIT