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.
🚀 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
-
Clonar el Repositorio:
git clone https://github.com/pipedude/jupiter-mcp.git cd jupiter-mcp -
Instalar Dependencias:
npm install -
Configuración del Entorno: Copia el archivo de entorno de ejemplo y configura tus ajustes:
cp .env.example .env -
Configurar Variables de Entorno: Edita el archivo
.envcon 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 -
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 entradaoutputMint: Dirección de emisión del token de salidaamount: 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 deget-ultra-ordertransaction: 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_KEYen 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_URLsea 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
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Realiza tus cambios (
git commit -m 'Add amazing feature') - Envía los cambios a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
📞 Soporte
- Problemas: Problemas de GitHub
- Documentación de Jupiter: Documentación para Desarrolladores de Jupiter
- Documentación de Solana: Documentación para Desarrolladores de Solana