THORChain Swap MCP server
online · 100% uptimeorg.thorchain.swap/thorchain-swap·v0.4.1·2 starsRead-only THORChain swap quotes, liquidity pools, and network status.
2 stars
Reviews
Write oneNobody has reviewed THORChain Swap yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
THORChain Swap tools (128, 1 write)
write = sends, deletes, buys or postscheck_reference_memoFreePre-flight check for memoless transactions. Returns what reference would be extracted from the amount and whether it's available for registration.
get_affiliate_earningsFreeReturns affiliate earnings including fees collected by thorname.
get_affiliate_historyFreeReturns historical affiliate swap data including volumes and thorname breakdown over time.
get_affiliate_statsFreeReturns affiliate statistics including volumes, counts, and fees by thorname.
get_banFreeReturns the ban status for a node address. Shows if the node is banned, at what block height, and which nodes signed the ban. Bans are used to remove malicious or misbehaving nodes.
get_blockFreeReturns verbose details of a THORChain block including header info, transactions, and block events. If no height is specified, returns the latest block. Shows block hash, chain ID, height, time, validator info, and all transactions with their results.
get_bondsFreeReturns bond details for an address including associated nodes and total bonded amount.
get_churnsFreeReturns churn event history with dates and block heights.
get_cometbft_blockFreeReturns block data at the specified height including header, transactions, and commit signatures. Provides canonical blockchain data.
get_cometbft_block_resultsFreeReturns the results of executing transactions in a block, including ABCI events and validator updates. Useful for inspecting transaction outcomes.
get_cometbft_consensus_paramsFreeReturns CometBFT consensus parameters (block size, evidence, validator params) at a height.
get_cometbft_consensus_stateFreeReturns the current consensus round state including height/round/step, proposal block hash, and vote information. Useful for debugging consensus issues.
get_cometbft_net_infoFreeReturns network information including listening status, connected peers, and peer details. Useful for monitoring P2P network health.
get_cometbft_statusFreeReturns the CometBFT node status including node info, sync status, and validator information. Provides canonical consensus-level data about the blockchain.
get_cometbft_txFreeReturns a transaction by its hash including tx result, height, and optional proof of inclusion. Provides canonical transaction data from the consensus layer.
get_cometbft_validatorsFreeReturns the validator set at the specified height including addresses, public keys, and voting power. This is canonical consensus data about who can produce blocks.
get_constantsFreeReturns protocol constants including integer, boolean, and string configuration values that govern THORChain behavior.
get_cosmos_accountFreeReturns account information for a THORChain address including account number, sequence (nonce), and public key if available.
get_cosmos_balancesFreeReturns account balances for a THORChain address. Shows all coin denominations held by the account.
get_cosmos_blockFreeReturns a block at the specified height from the Cosmos SDK blockchain including header, transactions, and commit data.
get_cosmos_delegationsFreeReturns all delegations for a delegator address. Shows which validators the address has delegated to and the amounts.
get_cosmos_latest_blockFreeReturns the latest block from the Cosmos SDK blockchain including header, transactions, and commit data.
get_cosmos_node_infoFreeReturns Cosmos SDK node information including network, version, protocol versions, and application version. Uses the gRPC-gateway REST API for canonical data.
get_cosmos_rewardsFreeReturns delegation rewards for a delegator address. Shows rewards from each validator and total accumulated rewards.
get_cosmos_supplyFreeReturns the total token supply including all coin denominations. Shows the circulating supply of RUNE and other tokens.
get_cosmos_syncingFreeReturns whether the node is currently syncing with the blockchain. A syncing node may have stale data.
get_cosmos_txFreeReturns a transaction by hash from the Cosmos SDK blockchain. Includes transaction body, auth info, and execution result.
get_cosmos_validatorsFreeReturns the list of staking validators. Includes operator address, status, tokens, delegator shares, commission rates, and description.
get_depth_historyFreeReturns historical depth data for a pool including asset depth, RUNE depth, asset price, and liquidity units over time intervals.
get_derived_poolFreeReturns one derived (virtual) pool's depths and status.
get_dynamic_l1_feesFreeReturns per-THORName dynamic L1 minimum swap-fee floors (ADR-026). Each entry shows the enrolled THORName, trading pair, current dynamic fee floor in basis points, whitelist state (1=Active, 2=Monitor), last active epoch, and latest fee revenue in TOR.
get_earnings_historyFreeReturns historical earnings data including liquidity fees, block rewards, and bonding/liquidity earnings over time intervals.
get_holdersFreeReturns top RUNE holders with their balances.
get_inbound_addressesFreeReturns vault addresses for depositing assets into THORChain. Each chain has its own inbound address along with gas rates and halted status.
get_invariantwrite actionFreeRuns a specific protocol invariant check and returns the result. Shows whether the invariant is broken and any informative messages about the check. Use this to verify protocol consistency and detect potential issues.
get_keygenFreeReturns keygen information for a specific block height and pubkey. Shows details of the key generation ceremony including the keygen block, member nodes, and signature. Use this to investigate vault creation events.
get_keygen_metricFreeReturns keygen timing metrics for a specific vault public key.
get_keysignFreeReturns keysign information for a specific block height. Shows transactions that were scheduled to be signed at that height, including outbound transaction details. Use this to investigate signing operations at a particular block.
get_keysign_pubkeyFreeReturns keysign information for a specific block height and vault pubkey. Shows transactions signed by a particular vault at that height. Use this to investigate a specific vault's signing activity.
get_known_poolsFreeReturns known pools with their status (available, staged, suspended).
get_lastblockFreeReturns the last observed and signed block heights for all chains. Useful for monitoring chain sync status and detecting chain halts.
get_lastblock_chainFreeReturns the last observed and signed block heights for a specific chain. Useful for monitoring a particular chain's sync status.
get_limit_swapsFreeReturns the limit swaps queue containing pending limit orders. Each entry includes swap details, ratio, age, and expiry information. Supports filtering by source/target asset, sender, and pagination. Limit orders only work when AdvSwapQueueEnabled is true.
get_limit_swaps_summaryFreeReturns a summary of the limit swaps queue including total count, total USD value, breakdown by asset pair, oldest swap age, and average age. Useful for getting an overview of pending limit orders without retrieving all individual swaps.
get_liquidity_historyFreeReturns historical liquidity change data including add/withdraw counts, volumes, and net liquidity over time intervals.
get_lp_positionFreeReturns liquidity provider position information for a specific address in a pool. Includes units, pending asset/rune, and last add/withdraw heights.
get_membersFreeReturns list of all liquidity provider addresses.
get_midgard_balanceFreeReturns balance for an address from Midgard analytics.
get_midgard_memberFreeReturns liquidity provider positions for an address including pool participation, units, and deposit/withdraw history.
get_midgard_nodesFreeReturns node information including addresses and public keys from Midgard analytics.
get_midgard_statsFreeReturns global network statistics including swap counts, volumes, liquidity metrics, and RUNE price.
get_mimirFreeReturns THORChain protocol configuration parameters (Mimir values). These are key-value pairs that control protocol behavior like fees, limits, and feature flags.
get_mimir_adminFreeReturns the admin mimir configuration. These are protocol parameters set directly by THORChain admins (the dev team) rather than through node voting. Admin overrides take precedence over node votes.
get_mimir_keyFreeReturns the effective value for a specific mimir key. This shows the final resolved value after considering admin overrides and node voting consensus. Use this to check the current value of any individual protocol parameter.
get_mimir_nodeFreeReturns the mimir settings voted by a specific node. Shows a map of mimir keys to their voted values for the given node address. Use this to see what protocol parameters a specific node operator is voting for.
get_network_infoFreeReturns THORChain network statistics and health information including bond metrics, pool data, and node counts.
get_network_statusFreeReturn current THORChain network parameters, including outbound fees, bond and reserve totals, and halt-related gas information. Pass `fields` to return only the keys you need.
get_network_summaryFreeCompact THORChain network status for agents: node counts, bonding/liquidity APY, reserve, pooled RUNE, next churn height, vault migration flag. Prefer this over get_network_info, which returns large per-node bond arrays.
get_nodeFreeReturns detailed information for a specific validator node including bond, status, version, and performance metrics. Bond providers include their Bond Yield configuration (bps share of rewards paid out automatically and its payout_target) when one is set.
get_oracle_priceFreeReturns the oracle price for a specific asset symbol. The price is returned in USD and is used for protocol calculations and limit order pricing.
get_oracle_pricesFreeReturns all oracle prices for supported assets. Oracle prices are used for determining asset values in the protocol and for pricing limit orders. Returns an array of price objects containing symbol (e.g., BTC, ETH) and price in USD.
get_outbound_fee_assetFreeReturns outbound fee information for a specific asset including the fee amount, surplus/deficit tracking, and dynamic multiplier.
get_outbound_feesFreeReturns outbound fee information for all assets including the fee amount, surplus/deficit tracking, and dynamic multiplier. Use this to estimate transaction costs.
get_outbound_queueFreeReturns the outbound queue containing signed transactions waiting to be broadcast to external chains. Each entry includes the destination chain, address, coin amount, and gas information. These transactions have been signed and are awaiting confirmation.
get_poolFreeReturns detailed information for a specific liquidity pool by asset identifier.
get_pool_slipFreeReturns slip data for one pool, including current slip and rollup statistics.
get_pool_statsFreeReturns detailed analytics and statistics for a specific liquidity pool including volume, fees, APY, and historical metrics.
get_queueFreeReturns queue statistics including pending swap count, outbound transaction count, internal queue size, and scheduled outbound value. Use this to understand network congestion.
get_ragnarokFreeReturns whether the chain is in Ragnarok (emergency shutdown mode). Ragnarok is triggered when the network needs to return all funds to users. A true value indicates the network is shutting down.
get_reference_memoFreeReturns the memoless transaction memo for a given asset and reference number. Memoless transactions use the amount to encode the reference which maps to a pre-registered memo.
get_reference_memo_by_hashFreeReturns the memoless transaction memo for a given reference hash. Use this to look up the registered memo for a memoless transaction.
get_rune_historyFreeReturns historical RUNE data including price over time intervals.
get_rune_poolFreeReturns the RUNEPool state: protocol-owned liquidity, provider shares, reserve position, deposit limits, and pending deposits/withdrawals.
get_rune_price_historyFreeReturns historical RUNE price data in USD over time intervals.
get_rune_providerFreeReturns one RUNEPool provider's position: deposited RUNE, units, and PnL.
get_runepool_memberFreeReturns Midgard's analytics view of a RUNEPool member: deposit/withdraw history and current units.
get_scheduled_queueFreeReturns the scheduled outbound queue containing transactions waiting to be signed and broadcast. Each entry includes the destination chain, address, coin amount, gas rate, and associated memo. Transactions are scheduled based on outbound delay.
get_stable_reserveFreeReturns the Stable Reserve module status: RUNE balance, depeg tolerance, POL share, per-asset inventory with health flags and oracle prices, and active deployment swaps. Requires THORNode v3.20+; earlier networks answer 501 Not Implemented.
get_stable_reserve_contributorFreeReturns a contributor's Stable Reserve credit for a given stable asset and address. Requires THORNode v3.20+; earlier networks answer 501 Not Implemented.
get_streaming_swapFreeReturns details of a specific streaming swap by transaction hash, including progress (count/quantity), amounts swapped (in/out), and any failed sub-swaps.
get_swap_detailsFreeReturns detailed information about a specific swap including its current state. Shows the full swap message with source/target assets, amounts, destination, affiliate info, and the swap's status and queue type. Use this to track the progress of a specific swap transaction.
get_swap_historyFreeReturns historical swap data including swap counts, volumes, fees, and average slip over time intervals.
get_swap_queueFreeReturns the current swap queue containing pending swaps waiting to be executed. Each entry includes source/target assets, amounts, destination addresses, and swap state. Use this to monitor swap processing and identify stuck transactions.
get_swap_quoteFreeFetch a THORChain swap quote for an asset pair. Assets use CHAIN.SYMBOL notation (e.g. BTC.BTC, ETH.ETH, ETH.USDC-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48). Amount is in 1e8 base units (1 BTC = 100000000). Quotes are indicative and expire quickly; the returned memo and inbound address must not be reused after expiry.
get_swapper_cloutFreeReturns an address's swapper clout: accumulated fee-based score that reduces outbound delays for trusted swappers.
get_tcy_claimerFreeReturns TCY (ThorCoin Yeet) claimer information for a specific address. Takes the claimer's L1 address (e.g. 0x..., bc1..., ltc1...) as listed by list_tcy_claimers and returns the claims (one per asset). Use this to check an individual's TCY claims.
get_tcy_distributionFreeReturns TCY distribution for an address.
get_tcy_stakerFreeReturns TCY (ThorCoin Yeet) staker information for a specific address. Shows the staked amount for the given THORChain address. Use this to check an individual's TCY staking position.
get_thornameFreeReturns THORName registration information including owner, expiry, and registered chain addresses. THORNames are human-readable aliases for blockchain addresses.
get_thorname_ownerFreeReturns THORNames owned by an address.
get_trade_accountFreeReturns all trade account positions for a specific address. Each account includes the asset, units, owner, and last activity heights.
get_trade_unitFreeReturns trade unit information for a specific asset. Trade units represent the total units and depth of a trade asset pool.
get_tss_metricsFreeReturns TSS keygen and keysign timing metrics across the validator set.
get_tvl_historyFreeReturns historical Total Value Locked (TVL) data including pooled value, bonded value, and total locked value over time intervals.
get_txFreeReturns transaction details for a given hash including observed transaction data, status, and processing stages.
get_tx_detailsFreeReturns comprehensive transaction details including observed transactions, actions taken, outbound transactions, consensus and finalized heights, and whether the vault was updated or the transaction reverted. Use this for deep transaction analysis.
get_tx_stagesFreeReturns detailed processing stages of an inbound transaction including observation counts, confirmation status, swap status (with streaming progress if applicable), outbound delay, and signing status.
get_tx_statusFreeReturns comprehensive transaction status including processing stages, planned outbound transactions, and completed outbound transactions. Use this to track swap progress.
get_upgrade_proposalFreeReturns a specific upgrade proposal by name including target block height and upgrade information.
get_upgrade_votesFreeReturns all node votes for a specific upgrade proposal. Each vote shows the node address and whether they approved. Use this to track upgrade consensus.
get_vaultFreeReturns a specific vault by its public key including coin balances, status, membership, routers, and chain addresses.
get_vault_pubkeysFreeReturns all vault public keys organized by type: Asgard (active network vaults), Yggdrasil (node vaults), and inactive vaults. Includes router addresses and membership information.
get_vault_solvencyFreeReturns aggregate vault solvency showing over-solvent or under-solvent amounts per asset. Positive amounts indicate over-solvency (more assets than expected), negative amounts indicate under-solvency. Critical for monitoring vault health.
get_versionFreeReturns network version information including current version, next required version for nodes, and the querier version.
get_votesFreeReturns governance votes including parameter proposals and node votes.
list_asgard_vaultsFreeReturns current Asgard vaults with their pubkeys, coin balances, status, membership, and chain addresses. Asgard vaults are the main network vaults that hold user funds. Supports pagination with limit and offset parameters.
list_derived_poolsFreeLists all derived (virtual) pools with their depths and status.
list_invariantsFreeReturns the list of available protocol invariants that can be checked. Invariants are consistency checks that verify the protocol's internal state is valid. Common invariants include 'asgard', 'bond', 'pools', 'thorchain', etc.
list_liquidity_providersFreeReturns all liquidity providers for a specific pool. Each entry includes the LP's units, pending amounts, deposit values, and addresses. Use this to analyze pool participation.
list_mimir_node_votesFreeReturns all node operator votes on mimir settings. Each vote shows the mimir key, the voted value, and the node address that cast the vote. Use this to track node consensus on protocol parameter changes.
list_nodesFreeReturns all registered validator nodes with their status, bond amounts, and operational information. Each bond provider may carry a Bond Yield configuration (bps share of rewards paid out automatically and its payout_target); the fields are absent on nodes without one. Supports pagination with limit and offset parameters.
list_pool_slipsFreeReturns pool slip information for all Layer 1 pools. Pool slip measures trading activity and depth pressure. Shows current slip, rollup counts, and long-term rollup medians used for fee calculations and pool health monitoring.
list_poolsFreeReturns all active liquidity pools on THORChain with their balances, units, and status. Supports pagination with limit and offset parameters.
list_rune_providersFreeLists all RUNEPool providers with their deposited RUNE and units.
list_streaming_swapsFreeReturns all active streaming swaps. Streaming swaps split large trades into smaller chunks executed over multiple blocks to minimize slippage. Supports pagination with limit and offset parameters.
list_tcy_claimersFreeReturns all TCY (ThorCoin Yeet) claimers. Shows summary information for all addresses that have claimed in the TCY program.
list_tcy_stakersFreeReturns all TCY (ThorCoin Yeet) stakers. Shows summary information for all addresses that have staked in the TCY program.
list_trade_accountsFreeReturns all trade accounts for a specific trade asset. Each account includes the asset, units, owner address, and activity history.
list_trade_unitsFreeReturns all trade units across all trade assets. Each unit includes the asset, total units, and depth.
list_upgrade_proposalsFreeReturns all pending network upgrade proposals. Each proposal includes the upgrade name, target block height, and upgrade info. Use this to monitor upcoming network changes.
lookup_thornameFreeReturns THORName details including chain addresses, expiry, and owner.
pingFreeHealth check endpoint. Returns 'pong' if the THORNode is responding. Use this to verify connectivity to the node.
prepare_swapFreeBuild a ready-to-execute THORChain swap. Returns the exact vault address to send to, the memo, the source chain, the expected output and guaranteed minimum, the estimated time, and an expiry. Use this when the user wants to actually perform a swap, not just price it (for pricing only, use quote_swap). The returned instruction is what a wallet signs and broadcasts; this tool itself never moves funds.
quote_limitFreeGet a limit order quote with expected output, expiry time, and a generated memo for executing the limit order. Limit orders execute when the target price is reached.
quote_swapFreeCalculate how much output you would receive when swapping one asset for another. Use this tool to answer questions like 'how much ETH would I get for 100 RUNE?' Returns expected output amount, fees, slippage, estimated time, and a memo for executing the swap.
reverse_lookup_thornameFreeReturns THORNames associated with an address.
search_cometbft_txFreeSearches for transactions matching the query. Supports queries like 'tx.height=1000', 'message.action="send"', or composite queries. Returns matching transactions with optional proofs.
search_cosmos_txsFreeSearches for transactions matching the query events. Supports filtering by message type, sender, recipient, and other event attributes.
Public scan report
scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 1092ms20/20
- Tool poisoning126 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 1 write-action tools with no auth3/15
- Maintenancelast push 2 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How THORChain Swap compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 81/100
- higher than 62% of 48,255 servers
- Tools
- 128
- the typical server has 7
- Tools that change things
- 1%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 268 ms
- faster than 52% of 30,031 servers
- GitHub stars
- 2
- more than 75% of 28,688 servers
What its tools let an agent do: 127 read · 1 change
Install THORChain Swap in Claude Code, Cursor or VS Code
claude mcp add --transport http thorchain-swap https://swap.thorchain.org/mcp
What the publisher says
From the THORChain Swap repository's README, as published. We do not edit it. Read it on GitHub
THORChain Swap
The official web interface for native cross-chain swaps, powered by THORChain and Maya Protocol — live at swap.thorchain.org.
Trade Bitcoin, Ethereum, stablecoins, and other layer-1 assets directly between chains: no bridges, no wrapped tokens, no order books, and no user accounts. Users connect their own wallet and sign transactions locally, or swap without connecting a wallet at all via memoless ("instant") swaps.
THORChain Developer Resources
THORChain developer resources for the swap interface — API docs, OpenAPI spec, auth docs, and MCP server:
(sdk/python) and Go (sdk/go) clients for the keyless public surfaces
- Developer portal — the index (Markdown: /developers.md)
- Quickstart — first swap quote in one request, no API key
- REST API reference — endpoints, error format, idempotency, versioning, sandbox
- MCP server reference — tools, parameter schemas, MCP Apps, rate limits
- Authentication — none needed here; where aggregator API keys come from
- SDKs — @tcswap/sdk for building swaps, plus Python
and network tools (supports MCP Apps)
- Webhooks and event polling — how to track swap state without webhooks
- OpenAPI 3.1 description — the public REST API
- MCP server — public Model Context Protocol server at /mcp with swap-quote, pool,
free aggregator API keys via the affiliate program
- Authentication model — anonymous, rate-limited public access; no key, token, or OAuth for the MCP server, and
AI Agent Resources
semantics, safety rules)
- llms.txt — index of agent resources with when-to-use guidance
- Agent library — complete single-file reference (URL scheme, MCP examples, asset notation, quote
- AGENTS.md — guidance and safety rules for agents using the site
- AGENTS.md (repo root) — instructions for AI coding agents working on this codebase
Development
npm install
npm run devOpen http://localhost:3000. Copy .env.example to .env and fill in the API keys. Typecheck with npx tsc --noEmit -p tsconfig.json.
See AGENTS.md for architecture notes, key paths, and conventions.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-11-01downgradeA → Bscore 81: Write-action tools reachable without authentication
THORChain Swap: common questions
- Is THORChain Swap MCP server safe?
- Mostly: it is graded B (81/100). Read the THORChain Swap safety report
- How do I install THORChain Swap?
- It runs remotely at swap.thorchain.org. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does THORChain Swap need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is THORChain Swap maintained?
- The last commit was 5 days ago (2026-10-30). The latest release is v0.4.1.
- Is THORChain Swap up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does THORChain Swap compare with other MCP servers?
- safety score 81/100 (higher than 62% of 48,255 servers); tools 128 (the typical server has 7); tools that change things 1% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.