# mcp-worldpay

An MCP server over Access Worldpay: authorize, capture, refund, tokenize cards and handle disputes from inside an AI agent.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 274
- Author: codespar
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/codespar/mcp-dev-latam/tree/HEAD/packages/payments/worldpay
- Updated: 2026-09-27
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-worldpay

## What it does

The server exposes 22 Access Worldpay tools to the agent. Card lifecycle calls sit next to `create_token`, `get_token` and `update_token`, the three 3DS2 steps, and dispute handling through `get_dispute`, `defend_dispute` and `submit_dispute_evidence`. `fraud_screen` runs a FraudSight check on a payment method without any authorization, while `verify_account` does AVS/CVC validation before a charge.

Authentication is HTTP Basic with the username and password Worldpay issued you, plus a merchant entity id. Leave `WORLDPAY_USERNAME`, `WORLDPAY_PASSWORD` or `WORLDPAY_ENTITY` unset and the server has nothing to connect with. `WORLDPAY_ENV` picks sandbox or production and starts on sandbox. The Payments API version comes from `WORLDPAY_API_VERSION`, v7 unless you change it.

Access Worldpay is HATEOAS-driven, so an authorization response carries action links such as `payments:settle` or `payments:refund`. Pull the trailing `linkData` segment out of the `href` and hand it to `capture_payment`, `refund_payment` or the other lifecycle calls. Omit it and the server falls back to the bare resource path, which only works on onboardings that settle by `transactionReference`. The package ships as `0.1.0-alpha.1`, and endpoint paths can still move.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `WORLDPAY_USERNAME`, `WORLDPAY_PASSWORD`, `WORLDPAY_ENTITY`, `WORLDPAY_ENV`, `WORLDPAY_API_VERSION` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env WORLDPAY_USERNAME=<WORLDPAY_USERNAME> --env WORLDPAY_PASSWORD=<WORLDPAY_PASSWORD> --env WORLDPAY_ENTITY=<WORLDPAY_ENTITY> --env WORLDPAY_ENV=<WORLDPAY_ENV> --env WORLDPAY_API_VERSION=<WORLDPAY_API_VERSION> --transport stdio worldpay -- npx -y @codespar/mcp-worldpay
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add worldpay --env WORLDPAY_USERNAME=<WORLDPAY_USERNAME> --env WORLDPAY_PASSWORD=<WORLDPAY_PASSWORD> --env WORLDPAY_ENTITY=<WORLDPAY_ENTITY> --env WORLDPAY_ENV=<WORLDPAY_ENV> --env WORLDPAY_API_VERSION=<WORLDPAY_API_VERSION> -- npx -y @codespar/mcp-worldpay
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "worldpay": {
            "command": "npx",
            "args": [
                "-y",
                "@codespar/mcp-worldpay"
            ],
            "env": {
                "WORLDPAY_USERNAME": "<WORLDPAY_USERNAME>",
                "WORLDPAY_PASSWORD": "<WORLDPAY_PASSWORD>",
                "WORLDPAY_ENTITY": "<WORLDPAY_ENTITY>",
                "WORLDPAY_ENV": "<WORLDPAY_ENV>",
                "WORLDPAY_API_VERSION": "<WORLDPAY_API_VERSION>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "worldpay": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@codespar/mcp-worldpay"
            ],
            "env": {
                "WORLDPAY_USERNAME": "<WORLDPAY_USERNAME>",
                "WORLDPAY_PASSWORD": "<WORLDPAY_PASSWORD>",
                "WORLDPAY_ENTITY": "<WORLDPAY_ENTITY>",
                "WORLDPAY_ENV": "<WORLDPAY_ENV>",
                "WORLDPAY_API_VERSION": "<WORLDPAY_API_VERSION>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e WORLDPAY_USERNAME=<WORLDPAY_USERNAME> -e WORLDPAY_PASSWORD=<WORLDPAY_PASSWORD> -e WORLDPAY_ENTITY=<WORLDPAY_ENTITY> -e WORLDPAY_ENV=<WORLDPAY_ENV> -e WORLDPAY_API_VERSION=<WORLDPAY_API_VERSION> worldpay npx -y @codespar/mcp-worldpay
```
Replace <…> with your own values

## When to use it
- validate a card with AVS/CVC before charging it
- authorize a payment, then capture or void it
- refund a payment that has already settled
- store a card as a token for repeat purchases
- answer a chargeback by accepting it or filing evidence

## Example prompts
- Run an AVS/CVC check on this card without charging it
- Authorize a payment for 49.90 and capture it using its `linkData`
- Refund the captured payment and include the reason

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [CCXT](https://affpapa.org/en/nevibecode/mcp/ccxt.md) — MCP server · ★ 44583
- [Finance Toolkit](https://affpapa.org/en/nevibecode/mcp/finance-toolkit.md) — MCP server · ★ 5458
- [EdgarTools](https://affpapa.org/en/nevibecode/mcp/edgartools.md) — MCP server · ★ 2814
- [LetsFG — Flights & Hotels](https://affpapa.org/en/nevibecode/mcp/letsfg-flights-hotels.md) — MCP server · ★ 2188
- [AutoTS](https://affpapa.org/en/nevibecode/mcp/autots.md) — MCP server · ★ 1434

From the same set: [codespar/mcp-dev-latam](https://affpapa.org/en/nevibecode/by/codespar/mcp-dev-latam.md) — 124 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
