safeswapglobal-mcp
SafeSwapGlobal MCP Server
Official Model Context Protocol (MCP) server for SafeSwapGlobal — an independent, non-custodial cryptocurrency swap directory.
Allows AI agents, developers, and LLM applications to retrieve real-time cross-chain liquidity quotes, limits, and non-custodial execution URLs.
Features
Real-Time Rates: Powered by live on-chain liquidity depth across 240+ corridors.
Zero Custody: Direct wallet-to-wallet execution parameters.
No API Keys Required: Free public infrastructure for Web3 developers and autonomous agents.
Related MCP server: Chainflip Broker as a Service
Public Endpoints
Remote MCP Endpoint:
https://rates.safeswapglobal.onlineREST JSON Quote:
GET https://rates.safeswapglobal.online/quote?from=BTC&to=XMR&amount=1
🛠 Available Tools
get_swap_quote: Real-time cross-chain floating rates, fees, limits, and execution parameters (240+ pairs).list_supported_currencies: Complete catalog of 15 supported blockchains and assets.
🚀 Quickstart: Connect to AI Clients
1. Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"safeswapglobal": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://rates.safeswapglobal.online"
]
}
}
}2. Cursor / Windsurf
Add a new MCP server in settings:
Type: SSE / Streamable HTTP
URL:
https://rates.safeswapglobal.online
🤖 For AI Agents
See AGENTS.md for full Model Context Protocol specifications, Cursor/Windsurf rules, and architectural guidelines.
License
Released under the MIT License.
Available Tools
2 toolsget_swap_quoteAInspect
Calculates real-time non-custodial cryptocurrency swap estimates, fees, limits, and routing URLs.
Usage Guidelines:
USE THIS TOOL WHEN an AI agent or user needs to find the exchange rate, calculate a swap estimate, or get a direct exchange link between two supported cryptocurrencies.
DO NOT USE THIS TOOL for fiat currency conversions (e.g., USD, EUR). Use only for crypto-to-crypto conversions (e.g., BTC to XMR).
If the user asks which coins or networks are supported, use the sibling tool
list_supported_currenciesinstead.
Args: from_asset: The ticker symbol of the currency to send (case-insensitive, e.g. BTC, USDT, SOL, TON, ETH, LTC, XMR). to_asset: The ticker symbol of the currency to receive (case-insensitive, e.g. XMR, BTC, USDT, SOL, TON). amount: The amount of source currency to convert (default: 1.0).
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| to_asset | Yes | ||
| from_asset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does convey that this is a non-binding estimate ('estimates', 'routing URLs'), implicitly read-only, and 'real-time' — but it says nothing about quote expiry, rate limits, auth requirements, or failure modes for unsupported pairs. Useful context, but not the complete disclosure a 0-annotation tool ideally demands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single strong sentence, followed by scannable USE/DO-NOT-USE bullets. The Args block largely restates the schema, costing a little efficiency, but the examples of valid tickers earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the description covers purpose, usage boundaries, and parameter meaning. The remaining gap is behavioral (rate limits, quote validity, unsupported-pair behavior), which is minor for a read-only quote tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (only bare titles), so the description must compensate, and it does: it defines from_asset/to_asset as send/receive tickers, notes case-insensitivity, and gives concrete examples. The amount default of 1.0 is already in the schema, so that sentence is redundant, but overall the semantic gap is well covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculates real-time ... swap estimates') and enumerates the concrete outputs (fees, limits, routing URLs), so an agent knows exactly what this returns. It also explicitly separates itself from the sibling list_supported_currencies, which is the one overlap risk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description has explicit USE-WHEN, DO-NOT-USE, and alternative-tool directives. It names the fiat exclusion (USD/EUR) and routes supported-coin questions to list_supported_currencies, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_currenciesAInspect
Returns the complete list of 15 supported blockchain assets, ticker symbols, and network standards on SafeSwapGlobal.
Usage Guidelines:
USE THIS TOOL WHEN a user asks which cryptocurrencies, coins, or networks are available for swapping on SafeSwapGlobal.
DO NOT USE THIS TOOL to get exchange rates or quotes. Use
get_swap_quoteinstead for actual calculations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but this is a parameterless read-only listing tool, so the safety burden is low. The description discloses the result content and count (15 assets), which is useful, but says nothing about authentication requirements, network standards detail, or whether the list is static or dynamic. Adequate but thin for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by clearly labeled usage guidance. Efficient, though the 'Usage Guidelines:' header adds minor overhead for only two short lines that could have been prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params), an output schema exists so return values need not be described, and the description routes the agent to the right sibling. Only minor gaps (no mention of auth or refresh behavior) keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies no filtering inputs are available.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the complete list of 15 supported blockchain assets, ticker symbols, and network standards') and even quantifies the scope. An agent can distinguish it from the sibling get_swap_quote without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives both directions: USE WHEN a user asks which cryptocurrencies/coins/networks are available, and DO NOT USE for exchange rates or quotes, naming get_swap_quote as the alternative. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
get_swap_quote - First observed
list_supported_currencies
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_swap_quote calculates exchange rates and routing, while list_supported_currencies returns available assets. Each description explicitly states when to use it and cross-references the other tool, leaving no ambiguity.
Both names follow a consistent verb_noun pattern (get_swap_quote, list_supported_currencies) using snake_case. The pattern is predictable and easy to understand.
Only two tools are provided for a crypto swap service, which feels thin even for a narrow read-only scope. While each tool earns its place, the surface could reasonably include additional operations like address validation or swap status checks.
The server covers the core read-only domain: fetching quotes and listing supported assets. Minor gaps exist, such as no tool for validating wallet addresses or checking swap execution status, but these may be out of scope for a non-custodial routing service.
Maintenance
Related MCP Connectors
Token swaps at the best net price on 9 EVM chains and Solana. No API key, non-custodial.
Quote, create and track cross-chain crypto swaps. Non-custodial exchange, no account, no KYC.
Cross-chain swap API for native Bitcoin, Solana and EVM chains. No API key, no custody.
Native cross-chain swaps: Bitcoin, Ethereum, Solana, Polkadot, Tron, Arbitrum. Quote, swap, track.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables cross-chain cryptocurrency swap quotes and operations using the deBridge DLN protocol. Provides read-only access to swap estimates, supported chains, token information, and order status tracking across multiple blockchain networks.1-
- AlicenseNot gradedqualityDmaintenanceCross-chain cryptocurrency swaps via Chainflip. Get quotes, execute swaps, and track progress. No API key required to get started.10MIT
- AlicenseNot gradedqualityDmaintenanceFree DEX aggregator API that returns executable swap calldata across 46 EVM chains. No API key required. Single GET request returns ready-to-sign transactions for any token pair.22MIT
- AlicenseNot gradedqualityCmaintenanceNon-custodial Solana swap routing with best-price execution, flat 0.25% fee, and built-in on-chain scam checking for token safety.58 npmMIT