Skip to main content
Glama
open-payments-mcp

open-payments-mcp

by devcer

Open Payments MCP

Standalone MCP server exposing core Open Payments operations over stdio.

Tools

  • get_wallet_address

  • request_grant

  • continue_grant

  • create_incoming_payment

  • get_incoming_payment

  • create_quote

  • get_quote

  • create_outgoing_payment

  • get_outgoing_payment

Related MCP server: Beep MCP Server

Configuration

Set these environment variables before running:

export OPEN_PAYMENTS_CLIENT_ADDRESS="https://example.com/client"
export OPEN_PAYMENTS_PRIVATE_KEY_PATH="/absolute/path/to/private.key"
export OPEN_PAYMENTS_KEY_ID="your-key-id"

Optional:

export OPEN_PAYMENTS_SESSION_FILE=".data/open-payments-sessions.json"
export OPEN_PAYMENTS_CALLBACK_PORT="3999"
export OPEN_PAYMENTS_MAX_DEBIT_AMOUNT="100000"

You can start from .env.example if you prefer loading env vars with your MCP client or shell.

The private key path, key ID, access tokens, and grant continuation tokens are never accepted as MCP tool inputs and are not returned in MCP tool responses.

Run

pnpm install
pnpm build
pnpm start

For development:

pnpm dev

Payment Flow

Typical peer-style flow using the core tools:

  1. get_wallet_address for receiver and sender.

  2. request_grant for receiver incoming-payment access.

  3. create_incoming_payment.

  4. request_grant for sender quote access.

  5. create_quote.

  6. request_grant for sender outgoing-payment access.

  7. User opens interactRedirectUrl and approves in their wallet.

  8. continue_grant.

  9. create_outgoing_payment.

  10. get_outgoing_payment.

Outgoing payment execution requires the finalized grant produced after user approval.

Available Tools

10 tools
continue_grantContinue GrantB

Continue an interactive Open Payments grant after the user approves it.

Inputs: grantSessionId (required), interactRef.

create_incoming_paymentCreate Incoming PaymentA

Create an incoming payment using a finalized incoming-payment grant session.

Inputs: grantSessionId (required), receiverWalletAddress (required), expiresAt, description, +1 more.

create_outgoing_paymentCreate Outgoing PaymentB

Create an outgoing payment using a finalized outgoing-payment grant session.

Inputs: quoteId (required), grantSessionId (required), senderWalletAddress (required), description.

create_quoteCreate QuoteC

Create a quote using a finalized quote grant session.

Inputs: receiver (required), grantSessionId (required), senderWalletAddress (required), method, +2 more.

execute_peer_to_peer_paymentExecute Peer-to-Peer PaymentB

Orchestrate a full peer-to-peer payment flow: incoming payment, quote, interactive outgoing grant, and outgoing payment (blocks until approval).

Inputs: sendingWalletAddressUrl (required), receivingWalletAddressUrl (required), dryRun, method, +2 more.

get_incoming_paymentGet Incoming PaymentC

Read incoming payment details using a finalized incoming-payment read grant.

Inputs: grantSessionId (required), incomingPaymentUrl (required).

get_outgoing_paymentGet Outgoing PaymentA

Read outgoing payment details using a finalized outgoing-payment read grant.

Inputs: grantSessionId (required), outgoingPaymentUrl (required).

get_quoteGet QuoteB

Read quote details using a finalized quote read grant.

Inputs: quoteUrl (required), grantSessionId (required).

get_wallet_addressGet Wallet AddressA

Resolve an Open Payments wallet address and return sanitized wallet details.

Inputs: walletAddress (required).

request_grantRequest GrantB

Request an Open Payments grant. Outgoing payment grants are made interactive and return an approval URL.

Inputs: access (required), authServer (required), interact.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools map clearly to distinct resources and actions (e.g., create_incoming_payment vs. create_outgoing_payment, get_quote vs. get_outgoing_payment). The composite tool execute_peer_to_peer_payment could be confused with the individual step tools, but its description clearly frames it as an orchestration workflow.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_wallet_address, create_incoming_payment, request_grant). The verbs and resource names are uniform and predictable.

    Tool Count5/5

    With 10 tools, the server is well-scoped for the Open Payments domain. It covers the essential resources (wallet address, grants, incoming payments, quotes, outgoing payments) and includes a high-level workflow tool without becoming bloated.

    Completeness4/5

    The tool set provides create and read coverage for all major resources and handles the grant lifecycle. However, there are no list operations (e.g., list incoming payments) or cancellation/update capabilities, which constitutes a minor gap for a full payment workflow.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI tools to manage financial operations through the Cresium Partner API, including transactions, payments, invoices, and wallet balances. It supports secure workflows such as bank address lookups, transfer previews, and signature request management.
      12
      5
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with the Beep platform to manage bounties, assets, and payments. It supports operations for starting and stopping streaming sessions, verifying transactions, and issuing payments on the Beep network.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Non-custodial payment engine for AI agents supporting BTC, ETH, USDT, USDC, XRP, XMR, and ZEC. Exposes wallet, invoice, and payment tools over MCP with per-agent spend limits, plus x402 pay-per-call support.
      55 npm
      Business Source 1.1