Skip to main content
Glama

private_swap

Create a PRIVATE non-custodial swap routed through Monero (dual-leg: your coin -> XMR -> target coin). Breaks the on-chain link between sender and receiver - no direct trace. You receive the target coin at your own address. ~15-30 min. Returns payinAddress (send your source coin here) + estimatedAmount + legs. from/to must NOT be xmr and must differ.

Input Schema

NameRequiredDescriptionDefault
toYesDestination asset ticker (e.g. btc, sol)
fromYesSource asset ticker (e.g. sol, btc, eth, usdt)
amountYesAmount to send
addressYesDestination address to receive the target coin
refundAddressNoOptional refund address

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the safety profile (not read-only, open-world, non-destructive); the description goes well beyond by disclosing the two-hop settlement path, the non-custodial model, that funds land at the user's own address, and an expected latency of ~15-30 min. It also names the key return fields (payinAddress, estimatedAmount, legs) and tells the agent what to do with payinAddress, which is real operational context rather than a restatement of annotations.

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?

Front-loaded with the purpose, then the benefit, then the timing, then the returns, then the constraints — a sensible ordering for scanning. Roughly four dense sentences with no filler; every clause (dual-leg, ~15-30 min, from/to rules) carries information the agent needs.

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?

There is no output schema, so the description carries the return-value burden and does so by naming payinAddress, estimatedAmount, and legs plus a latency estimate. It is close to complete for a 5-parameter swap tool, though refund handling, fees, and minimum/maximum amount bounds are unaddressed.

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?

Schema coverage is 100%, so the schema alone already justifies a baseline 3 for each field. The description adds meaning on top: the from/to mutual-exclusion and xmr-exclusion rules, and the clarification that the destination "address" is where the target coin is received while payinAddress is the deposit point for the source coin. It does not clarify refundAddress behavior, which is the one undocumented parameter.

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?

States a specific verb+resource ("Create a PRIVATE non-custodial swap") and immediately specifies the distinguishing mechanism: dual-leg routing through Monero (your coin -> XMR -> target coin). The privacy framing and the intermediate-asset path let an agent distinguish it from the plain swap siblings (sol_swap, evm_swap, swap_create, smart_route) 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.

Usage Guidelines4/5

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

Implies when to use it clearly ("Breaks the on-chain link between sender and receiver - no direct trace") and provides hard constraints for calling it (from/to must NOT be xmr and must differ). It never names alternatives or a quote-first flow, so the existence of sibling private_quote as the pricing step is left to inference rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources