MONEI

European payment platform MCP server. Generate payment links, look up transactions, view revenue analytics, and manage subscriptions through AI assistants. First European Payment Institution with native MCP support. Banco de EspaΓ±a #6911. OAuth 2.0 + PKCE. Live at mcp.monei.com.

MONEI MCP Server

Connect your MONEI payment account to AI assistants like Claude and ChatGPT using the Model Context Protocol.

Generate payment links, check transaction status, and browse your payment history β€” all through natural language conversation.

Features

  • πŸ”— Payment Links β€” Create and share payment links with customers via AI
  • πŸ” Transaction Lookup β€” Get payment details and status by ID
  • πŸ“Š Payment History β€” Search and filter your transaction history
  • πŸ“‹ Subscriptions β€” View subscription details and status
  • 🏒 Account Info β€” Access your merchant account configuration
  • πŸ” OAuth 2.0 β€” Secure merchant authentication with scoped permissions
  • πŸ›‘οΈ Guardrails β€” Restricted operations are hard-blocked, not just hidden

Security by Design

This server enforces strict guardrails on what operations AI assistants can perform. The following operations are explicitly blocked at the server level:

Blocked OperationReason
Refund paymentsFinancial risk β€” use MONEI Dashboard
Charge cards/BizumRequires PCI context and cardholder consent flows
Card payoutsFunds disbursement requires compliance controls
Bizum payoutsOutbound money movement requires compliance controls
Cancel subscriptionsDestructive action β€” use Dashboard
Modify account settingsSecurity-sensitive β€” use Dashboard

Even if a tool call is crafted manually, restricted endpoints will reject it with a clear explanation and redirect to the Dashboard.

Quick Start

Prerequisites

Installation

git clone https://github.com/MONEI/MONEI-MCP-Server.git
cd MONEI-MCP-Server
npm install

Configuration

cp .env.example .env

Edit .env with your MONEI credentials:

MONEI_CLIENT_ID=your_client_id
MONEI_CLIENT_SECRET=your_client_secret
MONEI_API_KEY=your_api_key  # For development/testing

Run

# Development (with hot reload)
npm run dev

# Production
npm run build
npm start

The server starts at http://localhost:3000 with:

  • Streamable HTTP (recommended): /mcp β€” Connect AI assistants here
  • Legacy SSE: /sse β€” Backward compatibility
  • Health check: /health β€” Server status
  • OAuth: /oauth/authorize β€” Merchant authorization flow

Connecting to Claude

Claude.ai (Connectors Directory)

Once listed in the Anthropic Connectors Directory, merchants can connect with one click from Customize β†’ Connectors in Claude.ai.

For custom connector setup:

  1. Go to Customize β†’ Connectors β†’ Add
  2. Add your server URL: https://your-domain.com/mcp
  3. Complete the OAuth authorization flow

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "monei": {
      "url": "https://your-domain.com/mcp"
    }
  }
}

Claude Code

claude mcp add monei --transport http https://your-domain.com/mcp

Available Tools

generate_payment_link

Create a shareable payment URL.

"Generate a €25 payment link for order #1234 β€” customer is [email protected]"

get_payment

Retrieve payment details by ID.

"What's the status of payment abc123?"

list_payments

Search and filter transaction history.

"Show me all successful payments from last week"

get_subscription

View subscription details.

"Get the details of subscription sub_xyz"

list_subscriptions

Browse subscriptions.

"List all active subscriptions"

get_account_info

View merchant account details.

"What payment methods do I have enabled?"

Architecture

src/
β”œβ”€β”€ index.ts              # Entry point β€” Streamable HTTP + SSE + OAuth routes
β”œβ”€β”€ server.ts             # MCP server setup + tool registration
β”œβ”€β”€ auth/
β”‚   β”œβ”€β”€ oauth.ts          # OAuth 2.0 + PKCE + scope validation
β”‚   β”œβ”€β”€ pkce.ts           # RFC 7636 PKCE implementation
β”‚   └── session.ts        # Single-use OAuth state manager (CSRF protection)
β”œβ”€β”€ api/
β”‚   └── monei-client.ts   # MONEI REST API client (allowed ops only)
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ index.ts          # Tool registry + routing + restriction enforcement
β”‚   β”œβ”€β”€ payments.ts       # Payment tools with safety annotations
β”‚   β”œβ”€β”€ subscriptions.ts  # Subscription tools with safety annotations
β”‚   └── account.ts        # Account info tool with safety annotations
β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ security.ts       # CORS, HTTPS, session validation, input guard
β”‚   β”œβ”€β”€ rate-limiter.ts   # Per-account sliding window rate limiter
β”‚   └── audit-logger.ts   # Structured JSON audit logging
└── types/
    └── index.ts          # Shared types + restricted operations registry

tests/
β”œβ”€β”€ auth/                 # PKCE, session, scope validation tests
β”œβ”€β”€ middleware/            # Rate limiter, audit logger, security tests
└── tools/                # Restriction enforcement, routing, validation tests

Roadmap

  • Streamable HTTP transport (Anthropic directory requirement)
  • Tool safety annotations (readOnlyHint / destructiveHint)
  • PKCE (RFC 7636) + CSRF state validation
  • Security hardening (Helmet, CORS, rate limiting, audit logging)
  • Comprehensive test suite
  • Production OAuth 2.0 integration with MONEI auth service
  • Persistent token storage (Redis/PostgreSQL)
  • Anthropic Connectors Directory submission
  • Webhook notifications for payment status changes
  • Docker container + deploy-to-cloud templates
  • NPM package publishing (npx @monei/mcp-server)
  • Claude Desktop Extension (.mcpb bundle)

API Documentation

License

MIT Β© MONEI

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension