SwapWallet
Servidor MCP remoto oficial de SwapWallet, un exchange y wallet de criptomonedas de custodia. Los agentes leen saldos, ganancias y pérdidas, e historial de transacciones, y solicitan swaps, transferencias y retiros que solo se ejecutan después de que el usuario los apruebe en Telegram.
Servidor MCP alojado
npx add-mcp 'https://swapwallet.app/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP de SwapWallet
El servidor MCP remoto oficial para SwapWallet.
Permite que tu asistente de IA lea tus saldos de criptomonedas, ganancias y pérdidas e historial, y solicite intercambios, transferencias y retiros que solo se ejecutan después de que los apruebes en Telegram.
https://swapwallet.app/mcp
Alojado por SwapWallet: no hay nada que instalar ni ejecutar. Añade la URL a cualquier cliente MCP que admita servidores remotos, inicia sesión una vez con OAuth y elige qué puede hacer el asistente.
Contenido
- Qué puedes preguntar
- Nada se mueve sin tu aprobación
- Herramientas
- Conectar
- Autenticación y alcances
- Para desarrolladores de agentes
- Acerca de este repositorio
Qué puedes preguntar
- "¿Cuál es mi saldo total en SwapWallet y cuánto es USDT?"
- "Muéstrame mis ganancias y pérdidas en BTC y TON."
- "Enumera mis últimas 10 transacciones de esta semana."
- "Dame mi dirección de depósito USDT en TRON."
- "Intercambia 50 USDT por TON." (crea una solicitud que apruebas en Telegram)
- "Retira 2,000,000 toman a mi cuenta bancaria verificada." (crea una solicitud que apruebas en Telegram)
Nada se mueve sin tu aprobación
Las herramientas de lectura responden directamente. Las herramientas que moverían dinero nunca lo hacen por sí mismas:
- El asistente llama a
request_swap,request_transfer,request_crypto_withdraworequest_fiat_withdraw. - SwapWallet cotiza la acción y te envía una vista previa en Telegram (el bot de SwapWallet) con botones Aprobar y Cancelar.
- Solo cuando tocas Aprobar se vuelve a cotizar y ejecutar la acción. Las solicitudes sin respuesta caducan después de 15 minutos.
- El asistente verifica el resultado con
get_action_request.
No existe ningún alcance que permita a un agente mover fondos sin ti: withdraw:execute existe y nunca se puede otorgar. Con la autenticación de dos factores activada, los retiros y transferencias de criptomonedas no se pueden solicitar a través de MCP; hazlos en la aplicación.
Herramientas
| Herramienta | Qué hace | Alcance | Anotaciones |
|---|---|---|---|
get_total_balance | Valor total del portafolio más un desglose por token | wallet:read | solo lectura |
get_balance | Saldo y valor de los tokens dados | wallet:read | solo lectura |
get_user_info | Perfil, nivel de verificación, límites y configuración | wallet:read | solo lectura |
get_deposit_address | Dirección de depósito para un token en una red (se crea si es necesario) | wallet:read | idempotente |
get_profit_and_loss | Ganancias y pérdidas realizadas y no realizadas, todos los activos o tokens elegidos | portfolio:read | solo lectura |
get_transactions | Depósitos, retiros, transferencias y operaciones, de más reciente a más antiguo, con filtros | transactions:read | solo lectura |
get_contacts | Contactos guardados de SwapWallet, 10 por página | contacts:read | solo lectura |
get_ibans | Cuentas bancarias verificadas (IBAN) para retiros en toman | contacts:read | solo lectura |
get_action_request | Estado de una solicitud: PENDING, EXECUTED, REJECTED, EXPIRED o FAILED | cualquiera | solo lectura |
request_swap | Cotiza un intercambio entre dos tokens y solicita aprobación | swap:request | requiere aprobación |
request_transfer | Transferencia a uno de tus contactos guardados de SwapWallet | transfer:request | requiere aprobación |
request_crypto_withdraw | Retiro de criptomonedas a una dirección externa | withdraw:request | requiere aprobación, mundo abierto |
request_fiat_withdraw | Retiro en toman (IRT) a un IBAN verificado | withdraw:request | requiere aprobación, mundo abierto |
Cada herramienta incluye anotaciones MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). Ninguna herramienta es destructiva: una herramienta request_* solo añade una solicitud que apruebas o cancelas. Las definiciones completas, con esquemas de entrada, están en la tarjeta del servidor en /.well-known/mcp/server-card.json.
Conectar
Claude (claude.ai, escritorio)
Configuración → Conectores → Añadir conector personalizado → URL https://swapwallet.app/mcp.
Claude Code
claude mcp add --transport http swapwallet https://swapwallet.app/mcp
O instálalo como complemento desde este repositorio:
/plugin marketplace add SwapWallet/swapwallet-mcp
/plugin install swapwallet@swapwallet
Cursor
Usa el botón Añadir a Cursor de arriba, o añade a ~/.cursor/mcp.json:
{
"mcpServers": {
"swapwallet": { "url": "https://swapwallet.app/mcp" }
}
}
VS Code (GitHub Copilot)
Usa el botón Instalar en VS Code de arriba, o ejecuta:
code --add-mcp '{"name":"swapwallet","type":"http","url":"https://swapwallet.app/mcp"}'
Windsurf
Añade a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"swapwallet": { "serverUrl": "https://swapwallet.app/mcp" }
}
}
Gemini CLI
gemini mcp add --transport http swapwallet https://swapwallet.app/mcp
O como extensión, que también carga las reglas del agente en GEMINI.md:
gemini extensions install https://github.com/SwapWallet/swapwallet-mcp
Codex CLI
codex mcp add swapwallet --url https://swapwallet.app/mcp
Cualquier otro cliente
Añade https://swapwallet.app/mcp como servidor remoto Streamable HTTP. El cliente descubre OAuth por sí mismo a partir de la respuesta 401.
Autenticación y alcances
OAuth 2.1 con registro dinámico de clientes (RFC 7591) y PKCE (S256); clientes públicos, sin secreto, sin claves API. Inicias sesión en la página de consentimiento de SwapWallet con tu número de teléfono y un código SMS, revisas los alcances, desmarcas los que no quieras y apruebas. Revoca el acceso en cualquier momento desde la aplicación.
| Alcance | Otorga |
|---|---|
wallet:read | saldos, información de cuenta, direcciones de depósito |
portfolio:read | ganancias y pérdidas |
transactions:read | historial de transacciones |
contacts:read | contactos guardados e IBAN verificados |
swap:request | solicitar intercambios (los apruebas en Telegram) |
transfer:request | solicitar transferencias a contactos guardados (las apruebas en Telegram) |
withdraw:request | solicitar retiros de criptomonedas y toman (los apruebas en Telegram) |
tools/list devuelve solo las herramientas que permiten tus alcances otorgados, y los alcances se verifican nuevamente en cada llamada. Los tokens de acceso duran 1 hora; los tokens de actualización duran hasta que revoques la concesión.
Requisitos: una cuenta de SwapWallet (regístrate en swapwallet.app con un número de teléfono; el comercio y los retiros requieren verificación de identidad) y una cuenta de Telegram vinculada para las herramientas request_*.
Para desarrolladores de agentes
- Endpoint
https://swapwallet.app/mcp: Streamable HTTP, solo respuestas JSON, sin estado (sin sesión, sin SSE, sin lotes). Versiones de protocolo2025-06-18,2025-03-26y2024-11-05. - Descubrimiento:
/.well-known/oauth-protected-resource,/.well-known/oauth-authorization-servery la tarjeta del servidor. - Los montos son cadenas decimales;
tokenynetworkson enumeraciones listadas en el esquema de entrada de cada herramienta. - Nunca informes un intercambio, transferencia o retiro como completado hasta que
get_action_requestdigaEXECUTED.PENDINGsignifica "esperando al usuario en Telegram". Las reglas completas están enskills/swapwallet/SKILL.md.
Referencia completa: swapwallet.app/docs/mcp · API REST: docs.swapwallet.app
Acerca de este repositorio
El servidor se ejecuta dentro del backend de SwapWallet; este repositorio contiene su descripción pública y configuraciones de cliente, para que puedas instalarlo desde herramientas que funcionan con repositorios:
| Archivo | Para |
|---|---|
server.json | Entrada del Registro MCP oficial (app.swapwallet/mcp) |
.mcp.json | Claude Code y otros clientes que leen una configuración MCP de proyecto |
llms-install.md | Configuración paso a paso para agentes que instalan servidores ellos mismos (Cline) |
.claude-plugin/ | Complemento y marketplace de Claude Code |
.codex-plugin/ | Complemento de Codex (mismo servidor MCP y habilidad) |
skills/swapwallet/ | Habilidad de Claude: cómo un agente debe usar las herramientas de forma segura (se incluye con el complemento) |
gemini-extension.json, GEMINI.md | Extensión de Gemini CLI y su archivo de contexto |
SECURITY.md | Cómo reportar una vulnerabilidad |
¿Encontraste un problema con la documentación o una configuración de cliente? Abre un issue o un pull request.
Acerca de SwapWallet
SwapWallet (سواپولت) es un exchange de criptomonedas iraní con una aplicación estilo billetera: compra, vende, intercambia, mantén y envía criptomonedas, y deposita y retira toman. Es de custodia y está operado por Zanjireh Tabdil Soba. Aplicación web, aplicaciones Android y una mini aplicación de Telegram.
- Soporte: support@swapwallet.app · chat en vivo
- Política de privacidad · Términos de servicio · Tarifas
Seguridad
Por favor, reporta vulnerabilidades en el servidor MCP o en el flujo OAuth de forma privada, como se describe en la política de seguridad (security.txt), no en un issue público.
Licencia
El contenido de este repositorio se publica bajo la licencia MIT.