SwapWallet

app.swapwalletPublished by swapwallet.appOfficial publisherv1.0.1Updated Oct 24, 2026

Crypto wallet: balances, P&L, history. Swaps, transfers and withdrawals need Telegram approval.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for the SwapWallet crypto wallet that lets an assistant read balances, P&L and history, and request swaps, transfers and withdrawals approved,

What you can do
Read wallet data: total and per-token balances, profile and verification limits, deposit addresses, realized and unrealized P&L, transaction history, saved contacts and verified IBANs, plus the status of any action request. Request money movements: swaps, transfers to saved contacts, crypto withdrawals to external addresses and toman withdrawals to a verified IBAN, each priced and sent to Telegram for approval. Check outcomes of pending or executed requests.
When to use it
Useful when you want an assistant to answer questions about your SwapWallet portfolio or transaction history, or to prepare swaps and withdrawals that you then confirm in Telegram. Not needed if you only want to trade inside the app.
Requirements
A remote Streamable HTTP endpoint; nothing to install. A SwapWallet account signed up with a phone number, identity verification for trading and withdrawals, and a linked Telegram account for the request tools. OAuth 2.1 sign-in with an SMS code; no API keys or secrets.
Before you install
The server is custodial and handles real funds. Request tools create swaps, transfers and withdrawals that execute once you tap Approve in Telegram, so review each preview carefully; unanswered requests expire after 15 minutes. Grant only the scopes you need, since read scopes expose balances, contacts and IBANs. With two-factor authentication on, crypto withdrawals and transfers cannot be requested over MCP at all.

Installation

In SourceWeft

  1. Open SwapWallet in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.swapwallet%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "swapwallet": {
      "type": "http",
      "url": "https://swapwallet.app/mcp"
    }
  }
}

README

[SwapWallet]

SwapWallet MCP Server

The official remote MCP server for SwapWallet.
Let your AI assistant read your crypto balances, P&L and history, and request swaps, transfers and withdrawals that run only after you approve them in Telegram.

[Add SwapWallet MCP server to Cursor] [Install in VS Code]

[SwapWallet MCP connector on Glama] [Official MCP Registry: app.swapwallet/mcp] [OAuth 2.1] [Streamable HTTP] [MIT license]

https://swapwallet.app/mcp

Hosted by SwapWallet: there is nothing to install or run. Add the URL to any MCP client that supports remote servers, sign in once with OAuth, and pick what the assistant may do.

Contents

What you can ask

  • "What's my total SwapWallet balance, and how much of it is USDT?"
  • "Show my profit and loss on BTC and TON."
  • "List my last 10 transactions from this week."
  • "Give me my USDT deposit address on TRON."
  • "Swap 50 USDT to TON." (creates a request you approve in Telegram)
  • "Withdraw 2,000,000 toman to my verified bank account." (creates a request you approve in Telegram)

Nothing moves without your approval

Read tools answer directly. Tools that would move money never do it themselves:

  1. The assistant calls request_swap, request_transfer, request_crypto_withdraw or request_fiat_withdraw.
  2. SwapWallet prices the action and sends you a preview in Telegram (the SwapWallet bot) with Approve and Cancel buttons.
  3. Only when you tap Approve is the action re-priced and executed. Unanswered requests expire after 15 minutes.
  4. The assistant checks the outcome with get_action_request.

There is no scope that lets an agent move funds without you: withdraw:execute exists and can never be granted. With two-factor authentication on, crypto withdrawals and transfers can't be requested over MCP at all; make those in the app.

Tools

ToolWhat it doesScopeAnnotations
get_total_balanceTotal portfolio value plus a per-token breakdownwallet:readread-only
get_balanceBalance and value of the given tokenswallet:readread-only
get_user_infoProfile, verification level, limits and settingswallet:readread-only
get_deposit_addressDeposit address for a token on a network (created if needed)wallet:readidempotent
get_profit_and_lossRealized and unrealized P&L, all assets or chosen tokensportfolio:readread-only
get_transactionsDeposits, withdrawals, transfers and trades, newest first, with filterstransactions:readread-only
get_contactsSaved SwapWallet contacts, 10 per pagecontacts:readread-only
get_ibansVerified bank accounts (IBANs) for toman withdrawalscontacts:readread-only
get_action_requestStatus of a request: PENDING, EXECUTED, REJECTED, EXPIRED or FAILEDanyread-only
request_swapPrices a swap between two tokens and asks for approvalswap:requestneeds approval
request_transferTransfer to one of your saved SwapWallet contactstransfer:requestneeds approval
request_crypto_withdrawCrypto withdrawal to an external addresswithdraw:requestneeds approval, open world
request_fiat_withdrawToman (IRT) withdrawal to a verified IBANwithdraw:requestneeds approval, open world

Every tool ships MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). No tool is destructive: a request_* tool only adds a request that you approve or cancel. The full definitions, with input schemas, are in the server card at /.well-known/mcp/server-card.json.

Connect

Claude (claude.ai, desktop)

Settings → Connectors → Add custom connector → URL https://swapwallet.app/mcp.

Claude Code
bash
claude mcp add --transport http swapwallet https://swapwallet.app/mcp

Or install it as a plugin from this repository:

/plugin marketplace add SwapWallet/swapwallet-mcp/plugin install swapwallet@swapwallet
Cursor

Use the Add to Cursor button above, or add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "swapwallet": { "url": "https://swapwallet.app/mcp" }  }}
VS Code (GitHub Copilot)

Use the Install in VS Code button above, or run:

bash
code --add-mcp '{"name":"swapwallet","type":"http","url":"https://swapwallet.app/mcp"}'
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "swapwallet": { "serverUrl": "https://swapwallet.app/mcp" }  }}
Gemini CLI
bash
gemini mcp add --transport http swapwallet https://swapwallet.app/mcp

Or as an extension, which also loads the agent rules in GEMINI.md:

bash
gemini extensions install https://github.com/SwapWallet/swapwallet-mcp
Codex CLI
bash
codex mcp add swapwallet --url https://swapwallet.app/mcp
Any other client

Add https://swapwallet.app/mcp as a remote Streamable HTTP server. The client discovers OAuth on its own from the 401 response.

Authentication and scopes

OAuth 2.1 with dynamic client registration (RFC 7591) and PKCE (S256); public clients, no secret, no API keys. You sign in on SwapWallet's consent page with your phone number and an SMS code, review the scopes, untick any you don't want, and approve. Revoke access any time from the app.

ScopeGrants
wallet:readbalances, account info, deposit addresses
portfolio:readprofit and loss
transactions:readtransaction history
contacts:readsaved contacts and verified IBANs
swap:requestrequest swaps (you approve in Telegram)
transfer:requestrequest transfers to saved contacts (you approve in Telegram)
withdraw:requestrequest crypto and toman withdrawals (you approve in Telegram)

tools/list returns only the tools your granted scopes allow, and scopes are checked again on every call. Access tokens last 1 hour; refresh tokens last until you revoke the grant.

Requirements: a SwapWallet account (sign up at swapwallet.app with a phone number; trading and withdrawals need identity verification), and a linked Telegram account for the request_* tools.

For agent developers

  • Endpoint https://swapwallet.app/mcp: Streamable HTTP, JSON responses only, stateless (no session, no SSE, no batches). Protocol versions 2025-06-18, 2025-03-26 and 2024-11-05.
  • Discovery: /.well-known/oauth-protected-resource, /.well-known/oauth-authorization-server, and the server card.
  • Amounts are decimal strings; token and network are enums listed in each tool's input schema.
  • Never report a swap, transfer or withdrawal as done until get_action_request says EXECUTED. PENDING means "waiting for the user in Telegram". The full rules are in skills/swapwallet/SKILL.md.

Full reference: swapwallet.app/docs/mcp · REST API: docs.swapwallet.app

About this repository

The server runs inside SwapWallet's backend; this repository holds its public description and client configs, so you can install it from tools that work with repositories:

FileFor
server.jsonOfficial MCP Registry entry (app.swapwallet/mcp)
.mcp.jsonClaude Code and other clients that read a project MCP config
llms-install.mdStep-by-step setup for agents that install servers themselves (Cline)
.claude-plugin/Claude Code plugin and marketplace
.codex-plugin/Codex plugin (same MCP server and skill)
skills/swapwallet/Claude skill: how an agent should use the tools safely (ships with the plugin)
gemini-extension.json, GEMINI.mdGemini CLI extension and its context file
SECURITY.mdHow to report a vulnerability

Found an issue with the docs or a client config? Open an issue or a pull request.

About SwapWallet

SwapWallet (سواپ‌ولت) is an Iranian crypto exchange with a wallet-style app: buy, sell, swap, hold and send crypto, and deposit and withdraw toman. It is custodial, and is operated by Zanjireh Tabdil Soba. Web app, Android apps and a Telegram mini app.

Security

Please report vulnerabilities in the MCP server or the OAuth flow privately, as described in the security policy (security.txt), not in a public issue.

License

The contents of this repository are released under the MIT license.

Source: README.md at commit 78e9f77

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v1.0.1LatestOct 12, 2026
  2. v1.0.0Sep 27, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts