> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fd.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Manage your Prism integration from any AI agent — tools for payments, settlement, wallets, extensions, Project Identify Tokens, staff, and more.

The Prism MCP Server exposes your payment platform as tools that any MCP-compatible AI agent can discover and use. It targets providers managing their Prism integration programmatically — querying payments, configuring Projects, managing wallets, and monitoring earnings — all from within an AI assistant.

| Property | Value |
| - | - |
| Server URL | `https://prism-mcp.fd.xyz` |
| Transport | Streamable HTTP |
| Authentication | OAuth Authorization Code Flow with PKCE |

## Account Model

Each authenticated caller is a **Provider** (tenant) identified by their account. Providers own one or more **Projects** — the core unit representing a payment integration. Most tools operate within a Project context.

* If `projectId` is omitted, tools automatically default to the provider's first active Project.
* IDs are GUIDs throughout (e.g., `projectId`, `walletId`, `paymentId`, `projectIdentifyTokenId`).

## Connection Setup

Add the Prism MCP server to your MCP client using the server URL above. Authentication uses OAuth Authorization Code Flow — the first connection opens a browser for you to sign in with your [District Pass](/overview/district-pass).

<Tabs>
  <Tab title="Claude Desktop">
    Add to your `claude_desktop_config.json`:

    ```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
    {
      "mcpServers": {
        "prism": {
          "type": "http",
          "url": "https://prism-mcp.fd.xyz"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Cursor / Windsurf">
    Add the server URL `https://prism-mcp.fd.xyz` in your editor's MCP settings panel. The OAuth flow triggers automatically on first use.
  </Tab>

  <Tab title="Custom Agent">
    Connect using any MCP client library. The server implements standard Streamable HTTP transport with OAuth 2.0 PKCE authentication.

    ```
    MCP Server: https://prism-mcp.fd.xyz
    Transport: Streamable HTTP
    Auth: OAuth 2.0 Authorization Code + PKCE
    ```
  </Tab>
</Tabs>

After connecting, verify the integration:

> "What Prism tools do you have available?"

The agent should list the available tools (see the reference below). Then try:

> "Show me my Projects."

## Tool Reference

All tools return JSON. Errors use `{ "error": "CODE", "message": "description" }`.

<Tip>
  **MCP clients** discover all tool parameters automatically on connection. **CLI users** can run `fdx prism <tool> --help` to see full parameter details. No need to memorize — the tooling tells you what it needs.
</Tip>

### Provider

| Tool | Description |
| - | - |
| `getProviderInfo` | Get provider profile, available blockchain chains, supported tokens, and (optionally) the country catalog |
| `updateProviderAccountType` | Set the provider account type to `Personal` or `Business` |

### Projects

A Project is the top-level entity representing one payment integration. Most tools operate within a Project context — if `projectId` is omitted, your default active Project is used.

| Tool | Description |
| - | - |
| `listProjects` | List all Projects owned by the authenticated provider |
| `getProjectDetails` | Get full details for a Project including configuration, assets, networks, and wallets |
| `createProject` | Create a fully configured Project in one call — storefront, networks, currencies, and wallet source together — and activate it |
| `updateProjectDetails` | Update a Project's display name, storefront URL, platform, country, or environment |
| `activateProject` | Activate a Project so it can accept payments |
| `deactivateProject` | Deactivate a Project so it stops accepting new payments |
| `listMissingProjectSettings` | List the settings a Project still has to fill in before it is complete |

### Dashboard

| Tool | Description |
| - | - |
| `getProjectOverview` | Recommended entry point for a Project's status — revenue, settlement counts, storefront reachability, API key status, recent transactions, and onboarding state |
| `getEarnings` | Earnings summary (total gross earnings) for a Project within a time range |
| `getRecentPayments` | Recent payment summaries for dashboard views |
| `getSettlementMetrics` | Settlement performance — completed count, average amount, and average broadcast-to-block time |
| `getPaymentsSummary` | Payment counts and totals for a Project, with FIQL filtering |

### Settlement Configuration

| Tool | Description |
| - | - |
| `getSettlementSettings` | Get the full settlement configuration for a Project in one call — networks, currencies, and FX settings |
| `updateSettlementNetworks` | Replace the accepted settlement networks for a Project |
| `updateSettlementCurrencies` | Replace the accepted settlement currencies for a Project |
| `updateSettlementFx` | Update FX and cross-currency payment settings for a Project |
| `resetSettlementDefaults` | Reset networks, currencies, or wallet source back to platform defaults |

### Wallets

| Tool | Description |
| - | - |
| `getWalletSettings` | Read where a Project receives settlements — the authoritative settlement destination |
| `updateWalletSettings` | Change where a Project receives settlements (`fd-agent` or `own`) |

### Project Identify Tokens

Manage Project Identify Tokens that authenticate your application against the Prism Gateway.

| Tool | Description |
| - | - |
| `listProjectIdentifyTokens` | List Project Identify Tokens for a Project (secret values are never returned) |
| `manageProjectIdentifyToken` | Create, disable, or delete a Project Identify Token. Secret returned only on creation; `create` accepts an `expiration` of `30d`, `180d`, `365d`, or `none` (never expires) |

### Staff

Manage staff access to Projects. Staff members are invited by email and must accept via a browser OAuth flow. Only the tenant owner can manage staff.

| Tool | Description |
| - | - |
| `listStaff` | List staff members for the provider, optionally scoped to a Project, with FIQL filtering and sorting |
| `manageStaff` | Invite a staff member to a Project by email, or revoke an existing staff member's access |
| `resendStaffInvitation` | Regenerate and resend an invitation email for a Pending staff member |

### Payments

| Tool | Description |
| - | - |
| `listPayments` | List payments with blockchain transaction details, asset info, and status |
| `getPaymentDetails` | Get full details for a single payment including settlement breakdown and fees |

### Extensions

| Tool | Description |
| - | - |
| `listExtensions` | List the extensions available for a Project, including their enabled state |
| `setExtensionEnabled` | Enable or disable an extension for a Project |

### Cashback

| Tool | Description |
| - | - |
| `acceptCashbackCampaign` | Accept a cashback campaign for a Project |
| `setCashbackEnabled` | Enable or disable a cashback campaign for a Project |
| `setupCustomCashback` | Set up a custom cashback campaign for a Project |

For the full parameter list and annotations for every tool, see the generated manifest (`docs/mcp-tools.json` in `fd-prism-services`).

### Renamed and removed in 2026-09

The tool set was reworked and then renamed so that every tool name describes what it does rather than which screen it came from. Update any saved workflows that reference an old name:

| Old tool | Replacement |
| - | - |
| `listWallets` | `getWalletSettings` |
| `manageWallet` | `updateWalletSettings` |
| `configureProject` | `getSettlementSettings` / `updateSettlementNetworks` / `updateSettlementCurrencies` / `updateSettlementFx` / `resetSettlementDefaults` |
| `updateProject` | `updateProjectDetails` + `activateProject` + `deactivateProject` |
| `createProjectFromWizard` | `createProject` |
| `getHomeSummary` | `getProjectOverview` |
| `getTransactionsSummary` | `getPaymentsSummary` |
| `getRequiredUpdates` | `listMissingProjectSettings` |
| `updateAccountType` | `updateProviderAccountType` |
| `updateProjectAccount` | `updateProjectDetails` |

<Note>
  `createProject` existed before the rework with a different signature (a `configurationJson` blob, no activation). The name is now reused for the one-call create-and-activate tool. A call using the old shape is rejected by validation rather than silently misconfiguring a Project.
</Note>

## Example Interactions

Once connected, you can ask your AI agent questions like:

```
"List my active Projects."
"Show me all payments from the last 30 days."
"What are my total earnings this month?"
"Create a new identify token named 'production-v2' for my default Project."
"Add a USDC wallet on Base (chain ID 8453) with address 0xABC... to my Project."
"Disable Project Identify Token <id>."
"Get the full details for payment <id>."
```

## Error Handling

All tools return structured errors:

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{ "error": "ERROR_CODE", "message": "Human-readable description" }
```

Common errors:

| Error Code | Meaning |
| - | - |
| `MISSING_PROJECT_ID` | `projectId` required but omitted (e.g., for activate action) |
| `INVALID_PAYMENT_ID` | `paymentId` is not a valid GUID |
| `MISSING_NAME` | Name parameter required but not provided |
| `INVALID_ACTION` | Unknown action value passed to an action-discriminated tool |
| `INVALID_ACCOUNT_TYPE` | Account type must be `Personal` or `Business` |
| `MISSING_PROJECT_IDENTIFY_TOKEN_ID` | `projectIdentifyTokenId` required but not provided or not a valid GUID |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.