MCP API
The Stablecoin Harness MCP server exposes the platform as a typed catalog of tools, grouped by layer. This page is the reference for every tool: what it does, what it expects, what it returns.
For installation and connection, see Features → MCP Server.
Tool layers
Section titled “Tool layers”| Prefix | Purpose |
|---|---|
data_get_* | Read live state |
compute_* | Derived calculations |
render_* | Pre-formatted reports for chat-style UIs |
analyze_* | Raw JSON for custom dashboards |
action_* | Mutating operations |
telemetry_get_* | Local usage stats |
Data tools
Section titled “Data tools”data_get_balance
Section titled “data_get_balance”Aggregate balance for the calling project.
input: { chain?: string; asset?: string }output: { totalUSD: string; perAsset: Record<string, string> }data_get_session
Section titled “data_get_session”Read a single payment session.
input: { sessionId: string }output: Sessiondata_get_treasury_snapshot
Section titled “data_get_treasury_snapshot”Pull the most recent treasury snapshot.
input: { id?: string } // defaults to latestoutput: TreasurySnapshotdata_get_sessions_list
Section titled “data_get_sessions_list”List recent sessions with filters.
input: { status?: SessionStatus; limit?: number; cursor?: string }output: { sessions: Session[]; nextCursor?: string }Compute tools
Section titled “Compute tools”compute_estimated_yield
Section titled “compute_estimated_yield”Project yield for a hypothetical position.
input: { amount: string; protocol: string; horizon: "7d" | "30d" | "1y" }output: { projectedYield: string; apy: string; assumptions: string[] }compute_settlement_quote
Section titled “compute_settlement_quote”Quote the cost of settling a session via a specific route.
input: { sessionId: string; route?: string }output: { route: string; fees: string; estimatedTime: string }Render tools
Section titled “Render tools”render_session_report
Section titled “render_session_report”Human-readable summary of a session — useful for “what happened with order X?” prompts.
render_treasury_summary
Section titled “render_treasury_summary”Treasury health overview: balances, top yield positions, idle cash, 24h PnL.
Analyze tools
Section titled “Analyze tools”analyze_pnl
Section titled “analyze_pnl”Raw JSON PnL breakdown over a range. Same shape as GET /v1/treasury/pnl.
analyze_route
Section titled “analyze_route”Step-by-step breakdown of a bridge/compose route for debugging.
Action tools
Section titled “Action tools”Mutating tools require an sk_live_* key or a session key with the appropriate scope. Sensitive operations require re-OTP.
action_create_session
Section titled “action_create_session”Create a payment session.
input: { amount: string; currency: string; chain: string; successUrl: string }output: { sessionId: string; depositAddress: string }action_put_to_work
Section titled “action_put_to_work”Move idle stablecoins into a yield position.
input: { fromWallet: string; asset: string; amount: string; protocol: string }output: { transactionId: string }action_cash_out (sensitive)
Section titled “action_cash_out (sensitive)”Pull funds back from yield. Requires re-OTP.
input: { positionId: string; amount: string; toWallet: string }output: { transactionId: string }action_rotate_key (sensitive)
Section titled “action_rotate_key (sensitive)”Rotate a server key. Requires re-OTP.
Telemetry
Section titled “Telemetry”telemetry_get_history
Section titled “telemetry_get_history”Local-only stats on tool invocations from this machine. No data leaves your device.
Authorization matrix
Section titled “Authorization matrix”| Tool layer | JWT (OTP) | sk_* | Session key | Re-OTP |
|---|---|---|---|---|
data_get_* | yes | yes | yes | no |
compute_* | yes | yes | yes | no |
render_* | yes | yes | yes | no |
analyze_* | yes | yes | yes | no |
action_* (non-sensitive) | no | yes | yes | no |
action_* (sensitive) | no | yes | yes | yes |
telemetry_get_* | yes | yes | yes | no |