API reference.
All 32 tools exposed by sera-mcp, organized by category. Every tool is callable from any MCP host (Claude, Cursor, ChatGPT, OpenAI Agents SDK, etc.) and from the bundled sera CLI.
Schema source-of-truth: sera-mcp/dist/index.js — these signatures are kept in sync with the running MCP. For Sera Protocol's underlying REST endpoints, see docs.sera.cx.
Discovery
sera.list_currencies
Live registry of supported stablecoins. Pulled from Sera's /tokens endpoint, cached 5 min.
chain_idopt — filter to one chain (default: all)
{ tokens: [{ symbol, address, decimals, chain_id, fiat_code }] }sera.get_markets
Catalog of trading pairs (780+ active). Existence ≠ tradeable now — pair with scan_markets for live quotability.
baseopt — filter to pairs starting with this tokenquoteopt — filter to pairs ending with this token
{ markets: [{ pair, base, quote, market_id, status }] }Pricing & analytics
sera.get_fx_rate
Sera's reference FX rate for a fiat pair. Cheap, cached, no liquidity required.
basereq — base fiat (e.g.'USD')quotereq — quote fiat (e.g.'JPY')
{ pair, rate, source, fetched_at, change_24h_pct }sera.compare_to_external_fx
Diffs Sera's reference rate against Frankfurter (ECB) — surfaces bias.
basereq ·quotereq
{ sera_rate, external_rate, deviation_bps, external_source }sera.multi_source_mid
Median across 3 free FX providers. Use as your truth-source for "what's mid really."
basereq ·quotereq
{ median, sources: [{ name, rate }], spread_bps }sera.spread_radar
Triangular-arbitrage scan across a fiat basket. Round-trip product across (A,B,C) should equal 1.0; deviation in bps is implied edge. Runs without any liquidity.
currenciesreq — array of 3+ fiat codesmin_bpsopt — surface only deviations > this (default 50)
{ triangles: [{ a, b, c, edge_bps, direction }] }Liquidity probing
sera.scan_markets
Probes every market in parallel for executable quotes at a probe size. Surfaces what's actually quotable now.
probe_notionalopt — default $1,000limitopt — max markets to probe (default 100)
sera.find_deals
The headline analytical tool. Probes markets, diffs each against external mid, ranks the deals.
min_bpsopt — minimum edge (default 25)notional_usdopt — probe size (default $1k)
{ deals: [{ pair, edge_bps, sera_rate, external_mid, notional }] }sera.probe_depth
Characterizes price impact at a size ladder for a single pair.
pairreqsizesopt — default[1k, 10k, 50k, 100k]
sera.round_trip_cost
Cost of going A→B→A at a given size. Reveals the maker hedge floor for a pair.
sera.infer_book
Reconstructs a synthetic order book that isn't published as a primitive, by binary-searching executable sizes.
Quote & execute
sera.get_quote
Single-use quote + EIP-712 typed data ready for the wallet to sign. Pass simulate:true to probe with no wallet.
fromreq — source token symboltoreq — target token symbolamountreq — infrom-token unitssimulateopt — read-only probe (default false)
{ uuid, typed_data, expected_out, expiry, route_params }sera.prepare_swap
Returns the unsigned route_params + signing payload — for advanced flows that want to inspect before signing.
sera.execute_swap
Submits a signed quote. Enforces uuid binding + server-derived USD notional caps.
quote_idreq — uuid fromget_quotesignaturereq — EIP-712 signature
{ trade_id, tx_hash, delivered, status }sera.convert_and_send
Quote-sign-execute-transfer in one tool call. Recipient gets the target asset directly.
sera.quote_recipient_amount
"How much source to deliver exactly N of target?" — solves the recipient-amount problem.
sera.find_cheapest_settlement_path
If multiple source assets could fund a target payout, returns the cheapest by all-in cost.
sera.limit_watcher
Patient-quote pattern: polls until target rate hits or budget runs out. Returns a ready-to-execute quote.
from·to·amountreqtrigger_ratereq — execute when rate ≥ (or ≤) thismax_pollsopt ·interval_sopt
Maker
sera.maker_quote_ladder
Spread-ladder calculator. Returns earnings at 5/10/15/25/50/100/200 bps for a pair + size. Mid auto-fetched from multi-source median by default.
pairreqnotional_usdreqmidopt — override the mid
Treasury
Requires SERA_API_KEYsera.get_balances
Token balances across N wallets, in raw units.
sera.treasury_value
Total value across wallets in any reporting currency. Uses Sera's reference rate for FX conversions.
sera.exposure_report
Currency exposure breakdown. Shows what % of treasury sits in each fiat denomination.
sera.rebalance_plan
Computes drift from target weights, emits the swap plan that brings drift to zero. Read-only — does not execute.
walletsreq — array of addressestargetsreq —{ USDC: 0.5, EURC: 0.3, ... }reporting_currencyopt — default USD
sera.pay_invoice
"I owe X in currency Y, what's the cheapest source asset?" Identifies cheapest source, generates quote, returns ready-to-sign Intent.
Settlement
Requires SERA_API_KEYsera.settlement_status
Query Sera's /orders for trade history or a specific trade. Filter by trade_id, uuid, or owner_address.
History
Requires SERA_HISTORY_DBsera.fx_history
Time-series of fx_rate / quote results that this MCP install has logged. OHLC isn't published as a primitive; this turns your install into its own price feed.
sera.fx_volatility
Annualized volatility computed over a window from logged history.
sera.corridor_pnl
Mark-to-market PnL on a notional position in a pair, using logged history as the price series.
Admin
sera.doctor
One-call self-check. API health, network sanity, signer mode, policy summary, persistence state. Run this first whenever something looks off.
{
overall_ok: boolean,
checks: { sera_health, network_sanity, tokens_registry, signer_mode, policy },
policy: { preset, daily_volume_cap_usd, dry_run },
persistence: { history_db_present, path }
}MCP resources & prompts
Resources (5)
Browseable static catalogs the host can show.
sera://help/tools— full tool reference (this page, machine-readable)sera://catalog/currencies— all supported stablecoinssera://catalog/markets— all trading pairssera://policy/current— active policy preset + capssera://network/status— chain + indexer status
Slash prompts (4)
Pre-templated prompts that hosts surface as commands. Type /deal_scan in Claude Code, etc.
/deal_scan— find FX deals across all pairs above an edge threshold/treasury_brief— multi-currency exposure report + drift/invoice_optimizer— cheapest source for a given target payout/fx_integrity_check— triangular-arb scan across a fiat basket
Source: github.com/Josh-sera/sera-mcp. Schema-validated against the running MCP. Last sync: v0.4.0.