Skip to main content
Glama

Chainflip Broker as a Service

Server Details

Native cross-chain swaps: Bitcoin, Ethereum, Solana, Polkadot, Tron, Arbitrum. Quote, swap, track.

Ownership verified
Status
Healthy
Uptime
100.0% over 79 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
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target clearly distinct actions (status check, asset listing, two swap starters). The only overlap is get_quotes vs get_native_quotes, but their descriptions explicitly distinguish native-unit vs standard amounts, so an agent can tell them apart.

Naming Consistency5/5

All six tools use a consistent snake_case verb_noun pattern (check_status, get_quotes, get_native_quotes, list_assets, start_swap, start_dca_swap). No mixing of conventions or vague verbs.

Tool Count5/5

Six tools is well-scoped for a swap broker: quoting, asset discovery, swap initiation (simple and DCA), and status tracking. Each tool earns its place without redundancy.

Completeness4/5

The core lifecycle (list assets, get quotes, start swap, check status) is covered, including a DCA variant. Minor gaps exist, such as no cancel-swap or list-all-swaps/history operation, but agents can work around these.

Available Tools

6 tools
check_statusCheck StatusA
Read-only
Inspect

Check the status of a swap by its ID. Returns the current swap state including deposit detection, swap progress, and egress information.

NameRequiredDescriptionDefault
swapIdYesThe swap ID returned by start_swap or start_dca_swap

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 QuotesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
amountYesAmount to swap in native units (e.g., '100000000' for 1 BTC in satoshis)
apiKeyNoOptional partner API key.
sourceAssetYesSource asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth')
destinationAssetYesDestination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 QuotesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
amountYesAmount to swap in human-readable format (e.g., 1.5 for 1.5 BTC)
apiKeyNoOptional partner API key.
sourceAssetYesSource asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth')
destinationAssetYesDestination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 AssetsA
Read-onlyIdempotent
Inspect

List all available swap assets and their details including ticker, network, direction, decimals, minimum amounts, and current USD prices.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 SwapBInspect

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.

NameRequiredDescriptionDefault
apiKeyNoOptional partner API key.
sourceAssetYesSource asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth')
minimumPriceNoOptional 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.
refundAddressYesRefund address on the source chain, used if minimum price cannot be met
numberOfChunksYesNumber of sub-swaps for DCA (Dollar Cost Averaging). Must be >= 1.
destinationAssetYesDestination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol')
destinationAddressYesDestination address on the target chain
chunkIntervalBlocksNoOptional delay between DCA sub-swaps in state-chain blocks (1 block = 6 seconds). Defaults to 2 blocks (12 seconds).
livePriceSlippageTolerancePercentNoOptional live price protection: how far, in percent (0 to 100, at most 2 decimals, e.g. 0.5), the execution price may fall below Chainflip's oracle price before a sub-swap is retried and the rest refunded. Use a quote's recommendedLivePriceSlippageTolerancePercent. Rejected when either asset has no oracle price on Chainflip. When omitted, Chainflip's default protection for the pair applies.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare write (readOnlyHint=false), open-world, non-idempotent, non-destructive semantics, so the safety profile is covered. The description usefully adds that it 'Returns the deposit address,' signaling a deposit-required flow, but omits the critical follow-up (funding that address and later checking via check_status) and any failure/refund behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core purpose and the non-obvious return behavior. Minor redundancy: 'API key is optional' restates the schema's nullable default for apiKey, but it is not costly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by stating it returns a deposit address. However, for a non-idempotent, open-world swap tool it leaves the operational lifecycle unexplained (that funds must be sent to that address, and that check_status tracks progress), which is the main gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (9/9 params documented, including nuanced fields like minimumPrice and livePriceSlippageTolerancePercent), so the schema carries full parameter meaning. The description adds nothing beyond what the schema already states, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Start a DCA cross-chain swap') and adds the defining trait that separates it from the sibling start_swap: it 'splits into multiple sub-swaps over time.' That distinction lets an agent route correctly without opening start_swap's schema, though it never names start_swap explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no comparison to the single-swap sibling start_swap. The only contextual hint is 'API key is optional,' which does not tell an agent when DCA is preferable to a one-shot swap or what prerequisites exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_swapStart SwapBInspect

Start a cross-chain swap. Returns the deposit address where you should send your source asset. API key is optional.

NameRequiredDescriptionDefault
apiKeyNoOptional partner API key.
sourceAssetYesSource asset identifier (e.g., 'btc.btc', 'eth.eth', 'usdc.eth')
minimumPriceNoOptional 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.
refundAddressYesRefund address on the source chain, used if minimum price cannot be met
destinationAssetYesDestination asset identifier (e.g., 'eth.eth', 'btc.btc', 'sol.sol')
destinationAddressYesDestination address on the target chain
livePriceSlippageTolerancePercentNoOptional live price protection: how far, in percent (0 to 100, at most 2 decimals, e.g. 0.5), the execution price may fall below Chainflip's oracle price before the swap is retried and then refunded. Use a quote's recommendedLivePriceSlippageTolerancePercent. Rejected when either asset has no oracle price on Chainflip. When omitted, Chainflip's default protection for the pair applies.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the write/non-idempotent/non-destructive profile is covered. The description usefully discloses the deposit-address return value, but omits meaningful behavior: that the swap does not execute until funds reach that address, and that unmet price conditions route to the refundAddress. What it adds is thin relative to the annotations already carrying the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and the key return value. The closing 'API key is optional' is mild redundancy with the schema and is the only sentence that does not clearly earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, non-idempotent swap-initiation tool with no output schema, the description does cover the critical return value (deposit address) and the essential next step of sending funds. It still leaves the lifecycle incomplete: no mention of monitoring via check_status, no note that each call creates a new swap, and no reference to the refund path already present in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains sourceAsset, destinationAsset, destinationAddress, refundAddress, minimumPrice and livePriceSlippageTolerancePercent in detail. The description contributes only 'API key is optional,' which duplicates the schema's own default of null and 'Optional partner API key.' Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start a cross-chain swap') and adds the concrete outcome ('returns the deposit address where you should send your source asset'), which an agent can act on immediately. It does not explicitly distinguish itself from the sibling start_dca_swap, so an agent must infer that this is the one-off swap versus the recurring variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The return-value sentence implies the workflow (call this, then send the source asset to the deposit address), which is implied usage. However, there is no guidance on prerequisites or alternatives: nothing says to fetch get_quotes/get_native_quotes first, nor when to prefer this over start_dca_swap or how check_status fits afterward.

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.

  1. 2 tool updates
    • Changedstart_dca_swap1 field changed
      • addedInput schema / properties / livePriceSlippageTolerancePercent
        Added value: +{
        +  "default": null,
        +  "description": "Optional live price protection: how far, in percent (0 to 100, at most 2 decimals, e.g. 0.5), the execution price may fall below Chainflip's oracle price before a sub-swap is retried and the rest refunded. Use a quote's recommendedLivePriceSlippageTolerancePercent. Rejected when either asset has no oracle price on Chainflip. When omitted, Chainflip's default protection for the pair applies.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
    • Changedstart_swap1 field changed
      • addedInput schema / properties / livePriceSlippageTolerancePercent
        Added value: +{
        +  "default": null,
        +  "description": "Optional live price protection: how far, in percent (0 to 100, at most 2 decimals, e.g. 0.5), the execution price may fall below Chainflip's oracle price before the swap is retried and then refunded. Use a quote's recommendedLivePriceSlippageTolerancePercent. Rejected when either asset has no oracle price on Chainflip. When omitted, Chainflip's default protection for the pair applies.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
  2. 6 tool updates
    • First observedcheck_status
    • First observedget_native_quotes
    • First observedget_quotes
    • First observedlist_assets
    • First observedstart_dca_swap
    • First observedstart_swap

Publisher details

Operator
Broker as a Service
Vendor relationship
First-party
Restrictions
No restrictions.

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.