Jupiter Solana MCP Server

Un servidor MCP (Model Context Protocol) completo para interactuar con el Protocolo Jupiter en Solana. Incluye intercambios de tokens, búsqueda, gestión de cartera y diagnóstico inteligente de errores.

Documentación

Servidor MCP de Jupiter

Un servidor MCP (Protocolo de Contexto de Modelo) integral para interactuar con el Protocolo Jupiter en Solana. Incluye intercambios de tokens, búsqueda, gestión de cartera y diagnóstico inteligente de errores.

License Node.js Status Jupiter API

🚀 Características

  • Intercambios de Tokens: Ejecuta intercambios a través de la API Ultra de Jupiter con manejo inteligente de deslizamiento y comisiones
  • Búsqueda de Tokens: Encuentra tokens por símbolo, nombre o dirección de emisión con datos de mercado detallados
  • Gestión de Cartera: Consulta saldos y tenencias de tokens en tu billetera
  • Diagnóstico Inteligente: Detección inteligente de errores con orientación útil para el usuario
  • Verificación de Comisiones SOL: Validación automática de SOL suficiente para comisiones de transacción
  • Soporte Multilingüe: Localización completa en inglés para usuarios internacionales

📋 Requisitos Previos

  • Node.js: Versión 18 o superior (para soporte nativo de fetch)
  • Clave API de Jupiter: Obtén tu clave API gratuita en Portal de Jupiter
  • Billetera Solana: Una clave privada (codificada en base58) para firmar transacciones
  • Endpoint RPC: Acceso a un nodo RPC de Solana (por ejemplo, https://api.mainnet-beta.solana.com)

📦 Instalación

  1. Clonar el Repositorio:

    git clone https://github.com/pipedude/jupiter-mcp.git
    cd jupiter-mcp
    
  2. Instalar Dependencias:

    npm install
    
  3. Configuración del Entorno: Copia el archivo de entorno de ejemplo y configura tus ajustes:

    cp .env.example .env
    
  4. Configurar Variables de Entorno: Edita el archivo .env con tus credenciales:

    SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
    PRIVATE_KEY=your_base58_encoded_private_key_here
    JUPITER_API_KEY=your_jupiter_api_key_here
    
  5. Configuración del Cliente: Añade a la configuración de tu cliente MCP:

    {
      "mcpServers": {
        "Jupiter-MCP": {
          "command": "node",
          "args": ["path/to/jupiter-mcp/index.js"],
          "env": {
            "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com",
            "PRIVATE_KEY": "your_base58_encoded_private_key_here",
            "JUPITER_API_KEY": "your_jupiter_api_key_here"
          }
        }
      }
    }
    

🛠️ Herramientas Disponibles

1. search-token

Busca tokens por símbolo, nombre o dirección de emisión con información de mercado detallada.

Entradas:

  • query: Símbolo del token (SOL, USDC), nombre (Solana) o dirección de emisión

Devuelve: Datos completos del token, incluyendo:

  • Precio y porcentaje de cambio en 24 horas
  • Volumen de negociación y métricas de liquidez
  • Auditoría de seguridad (estado de autoridad de emisión/congelación)
  • Puntuación orgánica y estado de verificación
  • Número de tenedores y capitalización de mercado

2. get-balances

Obtiene saldos de tokens para cualquier dirección de billetera con identificación automática de tokens.

Entradas:

  • walletAddress (opcional): Billetera a consultar (por defecto usa la billetera configurada)
  • mints (opcional): Emisiones de tokens específicas a consultar

Devuelve: Resumen completo de la cartera, incluyendo SOL y todos los tokens SPL con cantidades fáciles de usar.

3. get-ultra-order

Obtiene órdenes de intercambio optimizadas de la API Ultra de Jupiter, combinando enrutamiento DEX y RFQ.

Entradas:

  • inputMint: Dirección de emisión del token de entrada
  • outputMint: Dirección de emisión del token de salida
  • amount: Cantidad de entrada como cadena (por ejemplo, "1.23")
  • slippageBps: Tolerancia de deslizamiento en puntos base (por ejemplo, 50 para 0.5%)

Devuelve: Orden de intercambio con requestId, transaction, cantidades y tasas de cambio calculadas.

4. execute-ultra-order

Ejecuta transacciones de intercambio con manejo inteligente de errores y monitoreo de estado.

Entradas:

  • requestId: ID de orden de get-ultra-order
  • transaction: Transacción codificada en Base64

Devuelve: Resultados de ejecución con firma de transacción, enlaces de Solscan y estado detallado.

Características Inteligentes:

  • ✅ Verificación previa del saldo de SOL
  • 🔄 Sondeo automático del estado de la transacción (hasta 2 minutos)
  • 🧠 Análisis inteligente de errores con sugerencias útiles
  • 🔗 Enlaces directos a transacciones en Solscan

💡 Ejemplos de Uso

1. Buscar Tokens

{
  "tool": "search-token",
  "arguments": {
    "query": "BONK"
  }
}

Respuesta: Información detallada del token, incluyendo precio, volumen, auditoría de seguridad y número de tenedores.

2. Consultar Saldos de Cartera

{
  "tool": "get-balances",
  "arguments": {}
}

Respuesta: Resumen completo de la billetera con saldos de SOL y todos los tokens SPL en formato fácil de usar.

3. Ejecutar Intercambio de Tokens

Paso 1 - Obtener Cotización:

{
  "tool": "get-ultra-order",
  "arguments": {
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", 
    "amount": "0.1",
    "slippageBps": 50
  }
}

Paso 2 - Ejecutar Intercambio:

{
  "tool": "execute-ultra-order", 
  "arguments": {
    "requestId": "uuid-from-step-1",
    "transaction": "base64-encoded-transaction-from-step-1"
  }
}

🛡️ Manejo de Errores

El servidor proporciona detección inteligente de errores y mensajes fáciles de usar:

  • SOL Insuficiente: "❌ SOL insuficiente para comisiones de transacción. Añade 0.01 SOL (~$1.25) a tu billetera"
  • Problemas de Deslizamiento: "⚠️ Tolerancia de deslizamiento excedida. Intenta aumentar el deslizamiento o reintenta después de un tiempo"
  • Problemas de Red: "🔄 Tiempo de espera agotado al determinar el estado de la transacción. Puedes intentar de nuevo con la misma orden"

🔧 Solución de Problemas

Problemas Comunes

"HTTP 401: No autorizado"

  • Verifica tu JUPITER_API_KEY en las variables de entorno
  • Verifica tu clave API en Portal de Jupiter

"SOL insuficiente para comisiones de transacción"

  • Asegúrate de que la billetera tenga al menos 0.01 SOL para comisiones de transacción
  • Consulta el saldo de SOL usando la herramienta get-balances

"Conexión a RPC fallida"

  • Verifica que tu SOLANA_RPC_URL sea accesible
  • Prueba con un endpoint RPC diferente (Helius, QuickNode, etc.)

📝 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENCIA para más detalles.

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Realiza tus cambios (git commit -m 'Add amazing feature')
  4. Envía los cambios a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción

📞 Soporte