What is the MCP server?
The Model Context Protocol (MCP) is an open standard that lets AI applications such as Claude, Claude Code, and other MCP-capable agents call external APIs as tools. MyFundedPerps hosts an MCP server that exposes the REST trading and read operations as tools, so an assistant can list your challenge accounts, quote markets, place and manage orders, and inspect positions and fills on your behalf. The server speaks the current stateless MCP revision (2026-07-28) over Streamable HTTP:Documentation and connection URLs
This guide is at/mcp-server on the documentation site. The documentation
site’s /mcp path belongs to Mintlify’s documentation-search service and can
return 401 Unauthorized when opened in a browser. Use
https://mcp.myfundedperpetuals.com in your trading MCP client.
See API capabilities for the supported operations and
features that still require the website.
Sign in with OAuth
OAuth is the sign-in method for the MCP server. There is no key to copy: connect the server and your MCP client opens a browser page where you review what the client is asking for and approve it with your normal MyFundedPerps sign-in.- Add the server to your MCP client (examples below) and start it.
- The client discovers the authorization flow automatically and opens
myfundedperpetuals.com/mcp/authin your browser. - Review the client name, access level, and expiry, then choose Approve.
- The client receives its own session and starts calling tools.
API keys are for direct REST API and SDK calls, not for MCP. A live
fp_live_
key sent to the MCP server is refused with a prompt to sign in with OAuth, and
an MCP session cannot be replayed against the REST hosts.Sandbox
The sandbox has no OAuth flow. To point an MCP client at your sandbox accounts, send anfp_test_ key as a bearer header
instead (created in
API Key Settings
under the Test environment):
Connect a client
Claude Code
Other MCP clients
Any client that supports Streamable HTTP with OAuth can connect:Authorization header with an
fp_test_ key instead.
Tools
The two CLI authentication endpoints are excluded because MCP uses its own OAuth flow. Each exposed operation is one tool, named after the matching fperp CLI command:list-accounts, get-market-quote,
create-order, cancel-order, close-position, and so on. Tool arguments
use the same snake_case names as the REST API’s path, query, and body fields,
and each tool’s schema includes nested objects and arrays, required fields,
enums, and numeric constraints. Protective-exit batches expose the complete
expected_orders snapshot and the cancel, modify, and place operation shapes,
including OCO pairing. The REST API still enforces trading rules and current
account state.
Results are JSON with three parts:
Failed calls are reported as tool errors carrying the standard error envelope
with
error.code and per-field error.details, so an agent can correct its
input and retry. Responses with status 429 include retry_after_seconds.
Idempotency and bulk operations
Tools for operations that require anIdempotency-Key header require an
idempotency_key argument. Generate a UUID or other unique printable ASCII key
(up to 128 characters) and persist it with the exact arguments before the
first call. Missing, empty, whitespace-only, or malformed keys are rejected
before an upstream request is sent. The server echoes your key in the result.
Clients that previously omitted this argument must now supply it.
Retry a lost response with the same key, identical arguments, and the same
credential. Never generate a replacement key for an uncertain outcome: that
starts a new operation and can create duplicate exposure. Reconcile ordinary
orders through client_order_id when available. See Idempotency
for the endpoint’s replay behavior.
Bulk operations (cancel-all-account-orders, close-all-account-positions)
can return status 202 while work remains. Retain the original arguments and
key, wait for retry_after_seconds, then repeat the call to advance it.
All trading writes advertise destructiveHint: true and
idempotentHint: false. These conservative hints cover both exposure changes
and removal or replacement of protective orders. An HTTP PUT method alone
does not make a mutable exit batch safe to repeat. For writes without an
idempotency key, read current state and reconcile an uncertain outcome before
submitting another write. Read tools advertise read-only and idempotent hints.
Rate limits
MCP tool calls consume the same per-key, per-user, and platform budgets as direct REST requests; see Errors and rate limits. The MCP host additionally applies the same per-IP abuse ceiling as the REST hosts (about 300 requests per minute per IP). A rejected request returns status 429 with aRetry-After header and is always safe to retry.