Chainflip Broker as a Service
Server Details
Native cross-chain swaps: Bitcoin, Ethereum, Solana, Polkadot, Tron, Arbitrum. Quote, swap, track.
- Status
- Healthy
- Uptime
- 99.9% over 41 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- CumpsD/broker-as-a-service
- GitHub Stars
- 10
- Server Listing
- Chainflip Broker as a Service
TDQS
Scored across 6 tools
Most tools have distinct purposes: status checking, quotes, asset listing, swap initiation. The two quote tools (get_native_quotes and get_quotes) differ in input units, which is clarified in descriptions but could still cause minor confusion for an agent.
All tool names follow a consistent verb_noun pattern using snake_case (check_status, get_native_quotes, get_quotes, list_assets, start_dca_swap, start_swap).
With 6 tools covering quotes, asset info, swap initiation, and status checks, the count is well-scoped for a swap service without being excessive or insufficient.
The tool set covers the core swap lifecycle: get quotes, list assets, start swaps (including DCA), and check status. Missing potential operations like cancel or list past swaps, but these are not essential for the primary use case.
Available Tools
6 toolscheck_statusCheck StatusARead-onlyInspect
Check the status of a swap by its ID. Returns the current swap state including deposit detection, swap progress, and egress information.
| Name | Required | Description | Default |
|---|---|---|---|
| swapId | Yes | The swap ID returned by start_swap or start_dca_swap |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context by indicating what status information is returned, which goes beyond the annotations. No contradictions.
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?
Two sentences with no wasted words. Purpose is front-loaded, and every sentence adds value. Ideal conciseness for a simple tool.
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?
Despite no output schema, the description adequately explains what the tool returns. For a simple read-only tool with one parameter, the description covers all needed context.
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 coverage is 100% with one parameter. The description does not add new semantics beyond the schema's description of the swapId parameter. Baseline score of 3 is appropriate.
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?
The description clearly states it checks swap status by ID, listing specific return components (deposit detection, swap progress, egress info). This distinguishes it from sibling tools which are for quotes or starting swaps.
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?
Usage context is implied (after starting a swap) but no explicit guidance on when to use or alternatives is provided. The description does not mention when not to use or compare to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_native_quotesGet Native QuotesARead-onlyInspect
Get swap quotes for exchanging one crypto asset to another using native (smallest unit) amounts. Returns available quotes with exchange rates, fees, and estimated output amounts. Use this when you have amounts in native units (e.g., satoshis for BTC, wei for ETH). API key is optional.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to swap in native units (e.g., '100000000' for 1 BTC in satoshis) | |
| apiKey | No | Optional partner API key. | |
| sourceAsset | Yes | Source asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth') | |
| destinationAsset | Yes | Destination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false. The description adds context about return fields (exchange rates, fees, estimated output) and API key optionality. No contradictions. Does not mention rate limits or permissions, but annotations cover safety adequately.
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?
Three sentences, no wasted words. Front-loaded with purpose and key distinguishing feature (native units). Each sentence contributes meaning.
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?
For a read-only quote tool with complete schema descriptions and safety annotations, the description covers return values and optional API key. Could mention quote multiplicity or that it's non-executing, but overall sufficient for typical usage.
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 coverage is 100% with detailed parameter descriptions. The description reinforces the native unit concept with examples, adding marginal value beyond the schema. Baseline 3 is appropriate.
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?
Clearly states it gets swap quotes for crypto assets using native units, distinguishing it from sibling tools like get_quotes that likely use decimal amounts. The verb 'get' and resource 'native quotes' are specific.
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 says when to use: when amounts are in native units. Also notes API key is optional. Could strengthen by explicitly naming alternative tools (e.g., get_quotes for decimal amounts), but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quotesGet QuotesARead-onlyInspect
Get swap quotes for exchanging one crypto asset to another. Returns available quotes with exchange rates, fees, and estimated output amounts. API key is optional.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to swap in human-readable format (e.g., 1.5 for 1.5 BTC) | |
| apiKey | No | Optional partner API key. | |
| sourceAsset | Yes | Source asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth') | |
| destinationAsset | Yes | Destination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive behavior. The description adds context about returning quotes with rates, fees, and estimated outputs, which is consistent but does not reveal additional behavioral traits beyond what annotations provide.
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?
The description is two sentences, front-loaded with the core purpose, and concisely adds return value details and parameter note. No redundant or extraneous content.
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?
Given no output schema, the description adequately covers return values (rates, fees, output amounts). However, it omits potential error conditions, pagination, or size limits. Annotations provide safety context, making it fairly complete.
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 coverage is 100%, so the description adds no new meaning over the schema descriptions. The human-readable format note is already in the schema. No additional semantics beyond schema.
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?
The description clearly states it gets swap quotes for crypto asset exchange and explains the return value (exchange rates, fees, output amounts). However, it does not distinguish itself from the sibling tool 'get_native_quotes', which likely has a similar purpose.
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 mentions 'API key is optional', which provides some usage guidance, but it does not specify when to use this tool versus alternatives like 'get_native_quotes' or any conditions/exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_assetsList AssetsARead-onlyIdempotentInspect
List all available swap assets and their details including ticker, network, direction, decimals, minimum amounts, and current USD prices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds value by specifying the exact fields returned (ticker, network, etc.), though it could mention whether the list is exhaustive or if there are pagination considerations.
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?
The description is a single, front-loaded sentence with no wasted words. Every phrase adds value, listing the key output fields.
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?
Given no output schema, the description adequately explains the return details. However, it could mention that no input is required and briefly note error handling or that the list is a flat collection.
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 has zero parameters, so schema coverage is 100%. With no parameters, the description need not add parameter details, and the baseline is 4. The description correctly focuses on the output.
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?
The description clearly states the verb 'List' and resource 'all available swap assets', enumerating specific details (ticker, network, direction, decimals, minimum amounts, USD prices), which distinguishes it from sibling tools like get_quotes or start_swap.
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 implies usage for retrieving a list of assets but does not explicitly state when to use it versus alternatives like get_quotes or start_swap, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_dca_swapStart DCA SwapAInspect
Start a DCA (Dollar Cost Averaging) cross-chain swap that splits into multiple sub-swaps over time. Returns the deposit address. API key is optional.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Optional partner API key. | |
| sourceAsset | Yes | Source asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth') | |
| minimumPrice | No | Optional minimum accepted price as a destination-per-source ratio (e.g., for a btc.btc to eth.eth swap, 28.5 means 1 BTC gets at least 28.5 ETH). When omitted, automatically calculated from current pool prices with 2% slippage tolerance. Set to 0 to accept any price. | |
| refundAddress | Yes | Refund address on the source chain, used if minimum price cannot be met | |
| numberOfChunks | Yes | Number of sub-swaps for DCA (Dollar Cost Averaging). Must be >= 1. | |
| destinationAsset | Yes | Destination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol') | |
| destinationAddress | Yes | Destination address on the target chain | |
| chunkIntervalBlocks | No | Optional delay between DCA sub-swaps in state-chain blocks (1 block = 6 seconds). Defaults to 2 blocks (12 seconds). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutation (readOnlyHint=false) and non-idempotent. Description adds 'Returns deposit address' but no further behavioral details like state changes or approval needs. No contradiction.
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?
Two sentences, front-loaded with purpose and key return value. Every sentence earns its 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?
With 8 parameters and no output schema, description is brief. Does not explain DCA mechanism, pricing, or outcome after creation. Leaves gaps for complex usage.
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 coverage is 100%, so baseline 3. Description adds some value (explains cross-chain, sub-swaps, deposit address) but does not elaborate on individual parameters beyond schema.
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?
Description clearly states it starts a DCA cross-chain swap with sub-swaps, distinguishing it from sibling tools like start_swap (single swap). Verb 'start' and resource 'DCA swap' are specific.
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?
No explicit when-to-use or when-not-to-use guidance. Mentions API key optional but no context on choosing between DCA and regular swap. Implies usage for splitting swaps over time.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_swapStart SwapAInspect
Start a cross-chain swap. Returns the deposit address where you should send your source asset. API key is optional.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Optional partner API key. | |
| sourceAsset | Yes | Source asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth') | |
| minimumPrice | No | Optional minimum accepted price as a destination-per-source ratio (e.g., for a btc.btc to eth.eth swap, 28.5 means 1 BTC gets at least 28.5 ETH). When omitted, automatically calculated from current pool prices with 2% slippage tolerance. Set to 0 to accept any price. | |
| refundAddress | Yes | Refund address on the source chain, used if minimum price cannot be met | |
| destinationAsset | Yes | Destination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol') | |
| destinationAddress | Yes | Destination address on the target chain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, openWorldHint=true. Description adds that the tool returns a deposit address for sending the source asset, which is key behavioral context. However, it does not disclose what happens if assets are not sent, timeouts, or the role of the API key. No contradiction with annotations.
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?
Two concise sentences, front-loaded with the primary action and output. No unnecessary words.
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?
Given 6 parameters (4 required) and no output schema, the description covers the core purpose and return value but lacks details on post-call steps (e.g., transferring assets) and the minimumPrice parameter behavior (though schema covers it). It is adequate but could be more complete for new users.
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 coverage is 100% with detailed parameter descriptions. The description only reiterates that API key is optional, adding no new meaning beyond the schema. Baseline 3 is appropriate.
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?
Clearly states it starts a cross-chain swap and returns the deposit address. The verb 'start' and resource 'swap' are specific, and it distinguishes from siblings like get_quotes and start_dca_swap.
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?
Mentions API key is optional, but there is no guidance on when to use this tool versus alternatives (e.g., get_quotes, start_dca_swap) or the sequence of operations. The context of sending assets to the deposit address is implied but not explicitly framed as a prerequisite.
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.
6 tool updates
- First observed
check_status - First observed
get_native_quotes - First observed
get_quotes - First observed
list_assets - First observed
start_dca_swap - First observed
start_swap
Related MCP Connectors
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.
Token swaps at the best net price on 9 EVM chains and Solana. No API key, non-custodial.
Non-custodial cross-chain crypto swap MCP โ 1288+ assets, no KYC. Solana/EVM/Monero, RPC, oracle.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables cross-chain swap execution across 12 venues and 17 chains, including native Bitcoin as source or destination, with tools for quoting, execution, status, and health checks. No signup, API key, or protocol fee required.5MIT
- 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-

deBridgeofficial
AlicenseAqualityDmaintenancedeBridge MCP finds optimal cross-chain swap routes, check fees and conditions, and initiate non-custodial trades across major blockchain networks. Supported: Ethereum, Solana, Arbitrum, Base, BNB Chain, Polygon, Optimism, Avalanche, Linea, Berachain, Tron, Cronos, Gnosis, Monad, Sonic, Flow, HyperEVM, Sei, Story, Injective, Abstract, MegaETH, Mantle, Plasma, Zilliqa, Sophon, Bob, Neon, and more534 npm31MIT- AlicenseNot gradedqualityCmaintenanceNon-custodial Solana swap routing with best-price execution, flat 0.25% fee, and built-in on-chain scam checking for token safety.65 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.