The MCP server is read-only, permanently. It cannot place, cancel or modify an order, and it cannot move funds. To trade programmatically, use the Trade API.
Connection
Claude.ai and Claude Desktop
Add it as a custom connector using the URL above. The client registers itself, then opens the Bravado Portal so you can sign in and approve the connection. Nothing is shared until you approve.Claude Code
Any other MCP client
The server publishes standard discovery documents, so a compliant client needs only the URL:https://mcp.bravadotrade.com/.well-known/oauth-protected-resource— names the authorization serverhttps://portal.bravadotrade.com/.well-known/oauth-authorization-server— the endpoints, PKCE methods and grant types
Authorization
Access is granted by a human, not by a key you paste.- Your client sends you to the Bravado Portal.
- You sign in with your partner account (password plus your second factor).
- You approve a consent screen naming the application, your partner account and the permissions requested.
- The client receives a token scoped to that partner.
MCP is a separate product from the Data API. Holding one does not grant the other. They serve the same analytics, but an agent integration is a different purchase from a REST integration, and
run_sql runs queries whose cost is measured in data scanned rather than requests made. Ask your Bravado contact to enable MCP Server on your account.
Revoke a connection at any time from Settings → Connected applications in the portal. The screen lists every application you have authorized, when it was connected, and when it last used its access.
Revocation cuts the connection’s refresh token immediately. An access token it was already issued is stateless and keeps working for up to five minutes, so if you believe an application is compromised, disconnect it and tell the Bravado team.
Tools
Every tool takes an optional
venue (polymarket by default) and, where applicable, the standard window values.
run_sql
An escape hatch for analysis the purpose-built tools do not cover. It reads a set of curated views that already apply Bravado’s accuracy rules — operator filtering, version deduplication, and the display conventions. Base tables are not reachable, so a query cannot accidentally bypass them.
Queries carry hard limits on rows, execution time and bytes scanned, and every result reports what it actually read. Prefer a purpose-built tool where one fits: those numbers are reconciled, run_sql results are raw.
Reading the numbers
The MCP server returns the same figures as the Data API, computed by the same engine, so a number an agent reports agrees with your dashboards. Two conventions matter enough that the server publishes them as readable resources the agent can load once:- Numerics are JSON strings. Parse them as arbitrary-precision decimals. Parsing as a float reintroduces exactly the rounding error the FIFO engine exists to avoid. See Numeric conventions.
- Unknown is never zero. A value the source cannot determine is returned as explicitly unknown, with its provenance. Rendering it as
0states something false.
Rate limits
MCP requests are limited per connection rather than per IP, so one integration cannot consume another’s budget. Two limits apply:- a request rate, tied to your account tier
- a query budget for
run_sql, denominated in bytes scanned per hour
mcp.read and mcp.query are counted separately — a request count and the data actually scanned. That is what a run_sql result’s reported byte figure corresponds to.
Exceeding either returns a clear error naming which limit was hit and when it refills. The purpose-built tools are unaffected by the query budget.
Safety
The surface is read-only by construction; there is no write tool to disable. When wiring an agent to Bravado more broadly:- Keep trading on the Trade API, where idempotency keys and notional caps apply.
- Approve MCP connections only for applications you recognise.
- Review active connections in the portal periodically.