Skip to content
Pilot

MCP & API overview

One registry, two doorways

Pilot exposes a single registry of typed operations through two interfaces:

MCPREST
Endpoint/mcp (Streamable HTTP, JSON responses)POST /api/ops/{operation}
Shape2 tools: search, execute1 route per operation
Best forAI clients (Claude, Codex, Cursor, agents)Apps, scripts, backends
AuthAuthorization: Bearer <principal>:<token>same
Envelopesame ok / error envelopesame

The registry

95 operations are registered in production (103 including local-only test and capability ops), in these families:

FamilyCountExamples
Ledger reads5ledger.account.info, ledger.account.lines, ledger.account.tx, ledger.fee
Markets & DEX7dex.book, dex.depth, dex.quote, amm.info, amm.position, amm.pools, analytics.marketSnapshot
Research10venues.list/get/compare, tokens.lookup/trending/flagged, yield.options, perps.markets, docs.search, skill.read
Transaction builders16tx.swap, tx.offer, tx.ammDeposit, tx.escrowCreate, tx.checkCash, tx.simulate
Execution5tx.execute, tx.approvalPreflight, tx.approvalReconcile, tx.submit, tx.status
Delegation & policy5account.link/status/revoke, policy.get/set
Strategies13strategy.validate/simulate/create/authorize/pause/kill, strategy.globalKill.*
Agentic commerce19mandate.*, credential.*, channel.*, merchants.*, ap4m.*, x402.pay
Mastercard Developers4mastercard.services/docs/page/search
QuickNode5quicknode.status/events/webhookEvidence/kv.reconcile/unfreeze
Network & other6server.reserves, amendments.status, vault.info/positions, lending.brokers, onboarding.readiness

Full list with one-line summaries: All operations.

Why "code mode"

Instead of exposing 95 separate tools (which floods a model's context), the MCP server exposes search to discover operations and execute to run a short script against them:

const book = await harbor.dex.depth({
  network: "testnet",
  taker_gets: { currency: "XRP" },
  taker_pays: { currency: "524C555344000000000000000000000000000000",
                issuer: "rQhWct2fv4Vc4KRjRgMrxa8xPN9Zx9iLKV" }
});
if (!book.ok) return book;
return book.data;

One execute call can make up to 30 operation calls, combine results and return only what matters. The sandbox has no network access, so a script can reach the ledger only through typed, policy-guarded operations.

Networks

NetworkReadsExecution
mainnet✓ (valuation and research)✗ always refused
testnet✓✓
devnet✓✓ (vault builders are Devnet-only)
lending-devnet✓ (lending reads)—

In this section