SwapWallet
Servidor MCP remoto oficial do SwapWallet, uma exchange custodial de criptomoedas e carteira. Agentes leem saldos, lucros e perdas e histórico de transações, e solicitam swaps, transferências e saques que só são executados após a aprovação do usuário no Telegram.
Servidor MCP hospedado
npx add-mcp 'https://swapwallet.app/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP SwapWallet
O servidor MCP remoto oficial para SwapWallet.
Deixe seu assistente de IA ler seus saldos de criptomoedas, lucros e perdas e histórico, e solicitar swaps, transferências e saques que só são executados após você aprová-los no Telegram.
https://swapwallet.app/mcp
Hospedado pela SwapWallet: não há nada para instalar ou executar. Adicione a URL a qualquer cliente MCP que suporte servidores remotos, faça login uma vez com OAuth e escolha o que o assistente pode fazer.
Conteúdo
- O que você pode perguntar
- Nada se move sem sua aprovação
- Ferramentas
- Conectar
- Autenticação e escopos
- Para desenvolvedores de agentes
- Sobre este repositório
O que você pode perguntar
- "Qual é o meu saldo total na SwapWallet e quanto dele é USDT?"
- "Mostre meu lucro e prejuízo em BTC e TON."
- "Liste minhas últimas 10 transações desta semana."
- "Me dê meu endereço de depósito de USDT na TRON."
- "Troque 50 USDT por TON." (cria uma solicitação que você aprova no Telegram)
- "Retire 2.000.000 de toman para minha conta bancária verificada." (cria uma solicitação que você aprova no Telegram)
Nada se move sem sua aprovação
As ferramentas de leitura respondem diretamente. As ferramentas que moveriam dinheiro nunca fazem isso sozinhas:
- O assistente chama
request_swap,request_transfer,request_crypto_withdrawourequest_fiat_withdraw. - A SwapWallet precifica a ação e envia uma prévia no Telegram (o bot da SwapWallet) com botões Aprovar e Cancelar.
- Somente quando você toca em Aprovar a ação é re-precificada e executada. Solicitações sem resposta expiram após 15 minutos.
- O assistente verifica o resultado com
get_action_request.
Não existe escopo que permita que um agente mova fundos sem você: withdraw:execute existe e nunca pode ser concedido. Com a autenticação de dois fatores ativada, saques e transferências de criptomoedas não podem ser solicitados via MCP; faça-os no aplicativo.
Ferramentas
| Ferramenta | O que faz | Escopo | Anotações |
|---|---|---|---|
get_total_balance | Valor total do portfólio mais um detalhamento por token | wallet:read | somente leitura |
get_balance | Saldo e valor dos tokens fornecidos | wallet:read | somente leitura |
get_user_info | Perfil, nível de verificação, limites e configurações | wallet:read | somente leitura |
get_deposit_address | Endereço de depósito para um token em uma rede (criado se necessário) | wallet:read | idempotente |
get_profit_and_loss | Lucro e prejuízo realizado e não realizado, todos os ativos ou tokens escolhidos | portfolio:read | somente leitura |
get_transactions | Depósitos, saques, transferências e negociações, do mais recente ao mais antigo, com filtros | transactions:read | somente leitura |
get_contacts | Contatos salvos da SwapWallet, 10 por página | contacts:read | somente leitura |
get_ibans | Contas bancárias verificadas (IBANs) para saques em toman | contacts:read | somente leitura |
get_action_request | Status de uma solicitação: PENDING, EXECUTED, REJECTED, EXPIRED ou FAILED | qualquer | somente leitura |
request_swap | Precifica uma troca entre dois tokens e pede aprovação | swap:request | precisa de aprovação |
request_transfer | Transferência para um dos seus contatos salvos da SwapWallet | transfer:request | precisa de aprovação |
request_crypto_withdraw | Saque de criptomoedas para um endereço externo | withdraw:request | precisa de aprovação, mundo aberto |
request_fiat_withdraw | Saque em toman (IRT) para um IBAN verificado | withdraw:request | precisa de aprovação, mundo aberto |
Toda ferramenta inclui anotações MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). Nenhuma ferramenta é destrutiva: uma ferramenta request_* apenas adiciona uma solicitação que você aprova ou cancela. As definições completas, com esquemas de entrada, estão no cartão do servidor em /.well-known/mcp/server-card.json.
Conectar
Claude (claude.ai, desktop)
Configurações → Conectores → Adicionar conector personalizado → URL https://swapwallet.app/mcp.
Claude Code
claude mcp add --transport http swapwallet https://swapwallet.app/mcp
Ou instale como um plugin deste repositório:
/plugin marketplace add SwapWallet/swapwallet-mcp
/plugin install swapwallet@swapwallet
Cursor
Use o botão Adicionar ao Cursor acima, ou adicione ao ~/.cursor/mcp.json:
{
"mcpServers": {
"swapwallet": { "url": "https://swapwallet.app/mcp" }
}
}
VS Code (GitHub Copilot)
Use o botão Instalar no VS Code acima, ou execute:
code --add-mcp '{"name":"swapwallet","type":"http","url":"https://swapwallet.app/mcp"}'
Windsurf
Adicione ao ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"swapwallet": { "serverUrl": "https://swapwallet.app/mcp" }
}
}
Gemini CLI
gemini mcp add --transport http swapwallet https://swapwallet.app/mcp
Ou como uma extensão, que também carrega as regras do agente em GEMINI.md:
gemini extensions install https://github.com/SwapWallet/swapwallet-mcp
Codex CLI
codex mcp add swapwallet --url https://swapwallet.app/mcp
Qualquer outro cliente
Adicione https://swapwallet.app/mcp como um servidor remoto Streamable HTTP. O cliente descobre o OAuth por conta própria a partir da resposta 401.
Autenticação e escopos
OAuth 2.1 com registro dinâmico de clientes (RFC 7591) e PKCE (S256); clientes públicos, sem segredo, sem chaves de API. Você faz login na página de consentimento da SwapWallet com seu número de telefone e um código SMS, revisa os escopos, desmarca os que não quiser e aprova. Revogue o acesso a qualquer momento no aplicativo.
| Escopo | Concede |
|---|---|
wallet:read | saldos, informações da conta, endereços de depósito |
portfolio:read | lucro e prejuízo |
transactions:read | histórico de transações |
contacts:read | contatos salvos e IBANs verificados |
swap:request | solicitar swaps (você aprova no Telegram) |
transfer:request | solicitar transferências para contatos salvos (você aprova no Telegram) |
withdraw:request | solicitar saques de criptomoedas e toman (você aprova no Telegram) |
tools/list retorna apenas as ferramentas que seus escopos concedidos permitem, e os escopos são verificados novamente a cada chamada. Os tokens de acesso duram 1 hora; os tokens de atualização duram até você revogar a concessão.
Requisitos: uma conta SwapWallet (cadastre-se em swapwallet.app com um número de telefone; negociações e saques exigem verificação de identidade) e uma conta Telegram vinculada para as ferramentas request_*.
Para desenvolvedores de agentes
- Endpoint
https://swapwallet.app/mcp: Streamable HTTP, apenas respostas JSON, sem estado (sem sessão, sem SSE, sem lotes). Versões de protocolo2025-06-18,2025-03-26e2024-11-05. - Descoberta:
/.well-known/oauth-protected-resource,/.well-known/oauth-authorization-servere o cartão do servidor. - Os valores são strings decimais;
tokenenetworksão enums listados no esquema de entrada de cada ferramenta. - Nunca relate um swap, transferência ou saque como concluído até que
get_action_requestdigaEXECUTED.PENDINGsignifica "aguardando o usuário no Telegram". As regras completas estão emskills/swapwallet/SKILL.md.
Referência completa: swapwallet.app/docs/mcp · API REST: docs.swapwallet.app
Sobre este repositório
O servidor roda dentro do backend da SwapWallet; este repositório contém sua descrição pública e configurações de cliente, para que você possa instalá-lo a partir de ferramentas que funcionam com repositórios:
| Arquivo | Para |
|---|---|
server.json | Entrada do Registro MCP oficial (app.swapwallet/mcp) |
.mcp.json | Claude Code e outros clientes que leem uma configuração MCP de projeto |
llms-install.md | Configuração passo a passo para agentes que instalam servidores por conta própria (Cline) |
.claude-plugin/ | Plugin e marketplace do Claude Code |
.codex-plugin/ | Plugin do Codex (mesmo servidor MCP e habilidade) |
skills/swapwallet/ | Habilidade do Claude: como um agente deve usar as ferramentas com segurança (incluída no plugin) |
gemini-extension.json, GEMINI.md | Extensão do Gemini CLI e seu arquivo de contexto |
SECURITY.md | Como relatar uma vulnerabilidade |
Encontrou um problema na documentação ou em uma configuração de cliente? Abra uma issue ou um pull request.
Sobre a SwapWallet
SwapWallet (سواپولت) é uma exchange de criptomoedas iraniana com um aplicativo estilo carteira: compre, venda, troque, mantenha e envie criptomoedas, e deposite e retire toman. É custodial e operada pela Zanjireh Tabdil Soba. Aplicativo web, aplicativos Android e um mini aplicativo do Telegram.
Segurança
Por favor, relate vulnerabilidades no servidor MCP ou no fluxo OAuth de forma privada, conforme descrito na política de segurança (security.txt), e não em uma issue pública.
Licença
O conteúdo deste repositório é liberado sob a licença MIT.