Open Payment Platform MCP Server
Last updated: March 19, 2026
Connect your AI-powered application to the Open Payment Platform using the Model Context Protocol.
Once connected, any MCP-compatible LLM client can discover and invoke Open Payment Platform payment tools, such as capturing payments, processing refunds, and querying transactions, through natural language or programmatic agent workflows.
Prerequisites
Before you begin, make sure you have:
- An active Open Payment Platform merchant account with API credentials
- An MCP-compatible LLM client (see Supported clients)
- Basic familiarity with JSON configuration files
Your credentials
When you sign up for Open Payment Platform API access, you receive two credentials passed as HTTP headers on every request.
| Header | Description |
|---|---|
| X-Entity-Id | Identifies your merchant entity on the Open Payment Platform |
| X-Token | Authenticates your requests, treat this like a password |
X-Token to source control or expose it in client-side code. Store it in environment variables or a secrets manager.
Server endpoint
The Open Payment Platform MCP Server uses the Streamable HTTP transport, the current MCP standard for remote servers, broadly supported across all major LLM clients.
| Environment | URL |
|---|---|
| Test | https://eu-test.oppwa.com/agentic/v1/mcp— contact support to enable |
| Production | https://eu-prod.oppwa.com/agentic/v1/mcp — not available yet |
Configuration
MCP clients are configured via a JSON file that specifies the server endpoint, transport type, and required headers. Below is the minimal configuration to connect to the Open Payment Platform MCP test server.
{
"servers": {
"OPP-payments": {
"type": "http",
"url": "https://eu-test.oppwa.com/agentic/v1/mcp",
"headers": {
"X-Entity-Id": "YOUR_ENTITY_ID",
"X-Token": "YOUR_ACCESS_TOKEN"
}
}
}
}
Replace YOUR_ENTITY_ID and YOUR_ACCESS_TOKEN with the credentials from your Open Payment Platform merchant UI.
Supported clients
The Open Payment Platform MCP Server is compatible with any LLM client that supports the Streamable HTTP (or SSE) transport, including:
| Client | Transport | Notes |
|---|---|---|
| Claude (claude.ai / Desktop) | Streamable HTTP | Via custom connector in Settings |
| Cursor / AI-powered IDEs | Streamable HTTP / SSE | Add via MCP settings panel |
| OpenAI Agents SDK (Python) | Streamable HTTP | MCPServerStreamableHttp |
| AnythingLLM | Streamable HTTP | Use "type": "streamable" |
| Custom agents (MCP SDKs) | Any | TypeScript and Python SDKs available |
stdio transport cannot connect to remote HTTP servers directly. Consult your client's documentation for a local-to-remote gateway option.
Client examples
Claude Desktop
- Open Settings → Connectors → Add Custom Connector
- Enter the server URL:
https://eu-test.oppwa.com/agentic/v1/mcp - Add headers
X-Entity-IdandX-Tokenwith your credentials - Save and enable the connector in your chat session
OpenAI Agents SDK (Python)
from agents import Agent
from agents.mcp import MCPServerStreamableHttp
OPP_server = MCPServerStreamableHttp(
url="https://eu-test.oppwa.com/agentic/v1/mcp",
headers={
"X-Entity-Id": "YOUR_ENTITY_ID",
"X-Token": "YOUR_ACCESS_TOKEN"
}
)
agent = Agent(
name="PaymentAgent",
mcp_servers=[OPP_server]
)
AnythingLLM
Add the following entry to your anythingllm_mcp_servers.json file:
{
"mcpServers": {
"OPP-payments": {
"type": "streamable",
"url": "https://eu-test.oppwa.com/agentic/v1/mcp",
"headers": {
"X-Entity-Id": "YOUR_ENTITY_ID",
"X-Token": "YOUR_ACCESS_TOKEN"
}
}
}
}
Testing the connection
Once configured, ask your LLM client to list available tools, most clients will discover them automatically. You can also prompt:
A successful connection returns the full list of Open Payment Platform tools.
Tools summary
The Open Payment Platform MCP Server exposes 8 tools across two categories.
destructiveHint: true signals a tool may produce irreversible side effects. For payment tools this means the operation moves money, alters transaction state, or triggers downstream processing at the acquirer, actions that generally cannot be undone by calling the tool again. This is a hint to MCP clients to prompt the user for explicit confirmation before execution. It does not mean the operation will fail, it signals that automation without human oversight is inadvisable.
| Tool | Category | Description | Required param | Destructive |
|---|---|---|---|---|
perform_capture |
Back-office | Finalizes a pre-authorization (PA) for settlement | referenceId (PA) |
Yes |
perform_reversal |
Back-office | Voids an uncaptured pre-authorization in full | referenceId (PA) |
Yes |
perform_refund |
Back-office | Returns funds to the shopper after a debit (DB) | referenceId (DB) |
Yes |
perform_rebill |
Back-office | Charges an additional amount on top of a captured transaction | referenceId (DB) |
Yes |
perform_chargeback |
Back-office | Records a bank-initiated dispute reversal | referenceId (DB) |
Yes |
perform_chargeback_reversal |
Back-office | Reverses a chargeback after successful representment | referenceId (CB) |
Yes |
get_transactions |
Reporting | Retrieves transaction(s) by UUID or merchant order ID | — (all optional) | No |
search_transactions |
Reporting | Searches transactions using rich structured filters | — (all optional) | No |
Use cases
Below are two example use cases showing how an LLM agent can combine Open Payment Platform MCP tools with natural language to automate payment workflows.
Security best practices
| Practice | Details |
|---|---|
| Use environment variables | Inject X-Entity-Id and X-Token at runtime; never hardcode in config files |
| Test before production | Always validate against eu-test.oppwa.com before switching to the live endpoint |
| Audit tool invocations | Log all payment-related tool calls, agents can invoke tools autonomously |
| Require human approval | Configure MCP client approval policies for destructive tools (captures, refunds, chargebacks) |
Next steps
- Review the MCP Specification for advanced client configuration options