Jupiter Solana MCP Server
Um servidor MCP (Model Context Protocol) abrangente para interagir com o Jupiter Protocol na Solana. Oferece trocas de tokens, busca, gerenciamento de portfólio e diagnósticos inteligentes de erros.
Documentação
Jupiter MCP Server
Um servidor MCP (Model Context Protocol) abrangente para interagir com o Jupiter Protocol na Solana. Oferece trocas de tokens, busca, gerenciamento de portfólio e diagnósticos inteligentes de erros.
🚀 Recursos
- Troca de Tokens: Execute trocas via a Ultra API da Jupiter com gerenciamento inteligente de slippage e taxas
- Busca de Tokens: Encontre tokens por símbolo, nome ou endereço de mint com dados detalhados de mercado
- Gerenciamento de Portfólio: Visualize saldos e participações de tokens na sua carteira
- Diagnósticos Inteligentes: Detecção inteligente de erros com orientação útil ao usuário
- Verificação de Taxas em SOL: Validação automática de SOL suficiente para taxas de transação
- Suporte Multilíngue: Localização completa em inglês para usuários internacionais
📋 Pré-requisitos
- Node.js: Versão 18 ou superior (para suporte nativo a
fetch) - Chave da API Jupiter: Obtenha sua chave de API gratuita no Jupiter Portal
- Carteira Solana: Uma chave privada (codificada em base58) para assinar transações
- Endpoint RPC: Acesso a um nó RPC da Solana (ex.:
https://api.mainnet-beta.solana.com)
📦 Instalação
-
Clone o Repositório:
git clone https://github.com/pipedude/jupiter-mcp.git cd jupiter-mcp -
Instale as Dependências:
npm install -
Configuração do Ambiente: Copie o arquivo de ambiente de exemplo e configure suas definições:
cp .env.example .env -
Configure as Variáveis de Ambiente: Edite o arquivo
.envcom suas credenciais: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 -
Configuração do Cliente: Adicione à configuração do seu 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" } } } }
🛠️ Ferramentas Disponíveis
1. search-token
Busque tokens por símbolo, nome ou endereço de mint com informações detalhadas de mercado.
Entradas:
query: Símbolo do token (SOL, USDC), nome (Solana) ou endereço de mint
Retorna: Dados abrangentes do token, incluindo:
- Preço e variação percentual em 24h
- Volume de negociação e métricas de liquidez
- Auditoria de segurança (status da autoridade de mint/freeze)
- Pontuação orgânica e status de verificação
- Número de detentores e capitalização de mercado
2. get-balances
Obtenha saldos de tokens para qualquer endereço de carteira com identificação automática de tokens.
Entradas:
walletAddress(opcional): Carteira a verificar (padrão: carteira configurada)mints(opcional): Mints de tokens específicos a verificar
Retorna: Visão geral completa do portfólio, incluindo SOL e todos os tokens SPL com valores amigáveis à interface.
3. get-ultra-order
Obtenha ordens de troca otimizadas da Ultra API da Jupiter, combinando roteamento DEX e RFQ.
Entradas:
inputMint: Endereço de mint do token de entradaoutputMint: Endereço de mint do token de saídaamount: Valor de entrada como string (ex.: "1.23")slippageBps: Tolerância de slippage em pontos-base (ex.: 50 para 0,5%)
Retorna: Ordem de troca com requestId, transaction, valores e taxas de câmbio calculadas.
4. execute-ultra-order
Execute transações de troca com tratamento inteligente de erros e monitoramento de status.
Entradas:
requestId: ID da ordem deget-ultra-ordertransaction: Transação codificada em Base64
Retorna: Resultados da execução com assinatura da transação, links do Solscan e status detalhado.
Recursos Inteligentes:
- ✅ Verificação prévia do saldo de SOL
- 🔄 Consulta automática de status da transação (até 2 minutos)
- 🧠 Análise inteligente de erros com sugestões úteis
- 🔗 Links diretos para transações no Solscan
💡 Exemplos de Uso
1. Buscar Tokens
{
"tool": "search-token",
"arguments": {
"query": "BONK"
}
}
Resposta: Informações detalhadas do token, incluindo preço, volume, auditoria de segurança e número de detentores.
2. Verificar Saldos do Portfólio
{
"tool": "get-balances",
"arguments": {}
}
Resposta: Visão geral completa da carteira com saldos de SOL e de todos os tokens SPL em formato amigável.
3. Executar Troca de Tokens
Etapa 1 - Obter Cotação:
{
"tool": "get-ultra-order",
"arguments": {
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "0.1",
"slippageBps": 50
}
}
Etapa 2 - Executar a Troca:
{
"tool": "execute-ultra-order",
"arguments": {
"requestId": "uuid-from-step-1",
"transaction": "base64-encoded-transaction-from-step-1"
}
}
🛡️ Tratamento de Erros
O servidor oferece detecção inteligente de erros e mensagens amigáveis ao usuário:
- SOL Insuficiente: "❌ SOL insuficiente para taxas de transação. Adicione 0,01 SOL (~US$ 1,25) à sua carteira"
- Problemas de Slippage: "⚠️ Tolerância de slippage excedida. Tente aumentar o slippage ou tente novamente mais tarde"
- Problemas de Rede: "🔄 Tempo esgotado na determinação do status da transação. Você pode tentar novamente com a mesma ordem"
🔧 Solução de Problemas
Problemas Comuns
"HTTP 401: Não autorizado"
- Verifique seu
JUPITER_API_KEYnas variáveis de ambiente - Verifique sua chave de API no Jupiter Portal
"SOL insuficiente para taxas de transação"
- Garanta que a carteira tenha pelo menos 0,01 SOL para taxas de transação
- Verifique o saldo de SOL usando a ferramenta
get-balances
"Falha na conexão com o RPC"
- Verifique se seu
SOLANA_RPC_URLestá acessível - Tente usar um endpoint RPC diferente (Helius, QuickNode, etc.)
📝 Licença
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.
🤝 Contribuição
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
📞 Suporte
- Problemas: GitHub Issues
- Documentação Jupiter: Documentação para Desenvolvedores Jupiter
- Documentação Solana: Documentação para Desenvolvedores Solana