Skip to main content
Orchestrate exposes a Model Context Protocol server, so an AI assistant — Claude, ChatGPT, Cursor, or anything else that speaks MCP — can read your project’s payments and payouts and answer questions about them in place. It is the same data as the API, reached through a different door. Access is scoped to one project, and every tool but one is read-only.

What you can do with it

Ask the questions you would otherwise write a script for:
  • Why did payment pi_... fail? — the assistant reads the intent, its attempts and the failure reason.
  • Show me everything this customer has paid this month.
  • What does the provider actually have on file for this payment? — via inspect_payment.
  • This payment is stuck. Recover it. — via requery_payment, the one tool that writes.

Connecting

Most MCP clients only need the URL. Point your client at the server and it will run the OAuth flow itself: it registers, opens a browser, and you approve the connection from your Orchestrate dashboard.
Approval happens in your dashboard, on the project you are granting access to. Once you approve, the client receives a token and the connection is live.
Approving a connection gives that client read access to your project’s payment data, and the ability to requery a failed payment. Only approve clients you control.

Authentication

The server implements OAuth 2.1 with PKCE and dynamic client registration, so a compliant client needs no manual setup. The scope is project:mcp. The token you receive is a project secret key, sent as a bearer token on every subsequent request.
Tokens issued through the OAuth flow are live-environment keys. If you want an assistant to see sandbox data instead, skip OAuth and connect with a sandbox secret key directly (see below).

Connecting with a key you already have

If your client supports a static bearer token, any active secret key works — including a sk_sandbox_ one:
The key decides the project and the environment, exactly as it does on the API. IP allowlists on the key apply here too.

Revoking access

Revoke the key in your dashboard. The client loses access immediately; reconnecting means going through approval again.

Limits

60 requests per minute per key, and 10 per minute for unauthenticated requests. Lists are cursor-paginated, 20 results per page by default and 100 at most.

Available tools

The full list of what an assistant can do.