npm package: @moneygraph/mcp-server
Description: MCP server for cross-border payments, cards, and crypto — 78 tools, 82+ countries via Claude, Cursor, VS Code
Author: MoneyGraph
Latest version: 1.1.1

# MoneyGraph MCP Server

**Send money to 82+ countries from any AI agent.**

The first MCP server for real cross-border money movement. 328 FX pairs, 4 base currencies, bank transfers, mobile money, SWIFT — all through natural language.

```
npx @moneygraph/mcp-server
```

## Quick Start

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "moneygraph": {
      "command": "npx",
      "args": ["-y", "@moneygraph/mcp-server"],
      "env": {
        "MONEYGRAPH_API_KEY": "sk_sandbox_demo"
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add moneygraph -- npx -y @moneygraph/mcp-server
```

### Cursor

Add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "moneygraph": {
      "command": "npx",
      "args": ["-y", "@moneygraph/mcp-server"],
      "env": {
        "MONEYGRAPH_API_KEY": "sk_sandbox_demo"
      }
    }
  }
}
```

### VS Code

Add to `.vscode/settings.json`:

```json
{
  "mcp.servers": {
    "moneygraph": {
      "command": "npx",
      "args": ["-y", "@moneygraph/mcp-server"],
      "env": {
        "MONEYGRAPH_API_KEY": "sk_sandbox_demo"
      }
    }
  }
}
```

## Demo

> **You:** Send $500 to Friday Okoro at GTBank Nigeria, account 0123456789

> **Claude:**
> 1. Looked up USD→NGN corridor — rate: 1,580.50, fee: 1.5%
> 2. Created recipient at GTBank (SWIFT: GTBINGLA)
> 3. Created payout for 50000 minor units ($500.00)
> 4. ✅ Transaction `txn_abc123` — estimated delivery: 1-2 business days

All without writing a single line of code.

## Tools (45)

### Customers
| Tool | Description |
|------|-------------|
| `create_customer` | Create a personal customer |
| `create_business_customer` | Create a business customer with company details |
| `get_customer` | Get customer details by ID |
| `list_customers` | List all customers |
| `update_customer` | Update customer KYC data |
| `submit_kyc` | Submit KYC for review (auto-approves in sandbox) |
| `get_customer_wallets` | Get wallets for a customer |

### Directors (KYB)
| Tool | Description |
|------|-------------|
| `create_director` | Add a director to a business customer |
| `list_directors` | List directors for a customer |
| `delete_director` | Remove a director |

### Currencies & Rates
| Tool | Description |
|------|-------------|
| `get_currencies` | **THE critical tool** — returns FX rates, corridor UUIDs, delivery windows, fees, limits |
| `list_countries` | List all supported countries |

### Recipients
| Tool | Description |
|------|-------------|
| `create_recipient` | Create a payment recipient |
| `list_recipients` | List all recipients |
| `get_recipient` | Get recipient details |
| `update_recipient` | Update recipient |
| `delete_recipient` | Delete recipient |

### Payouts
| Tool | Description |
|------|-------------|
| `create_payout` | Create a payout to an existing recipient |
| `send_bank_payout` | **HERO** — one-call bank transfer (creates recipient + payout) |
| `send_mobile_money_payout` | **HERO** — one-call mobile money transfer |
| `simulate_payout_success` | Sandbox: mark payout as successful |
| `simulate_payout_decline` | Sandbox: mark payout as declined |
| `verify_bank` | Verify a bank by routing code |

### Wallets
| Tool | Description |
|------|-------------|
| `list_wallets` | List merchant wallets with balances |
| `swap_funds` | Swap currency between wallets |
| `transfer_to_customer` | Fund a customer wallet |
| `transfer_from_customer` | Pull funds from customer |

### Payments
| Tool | Description |
|------|-------------|
| `initiate_payment` | Start collecting a payment (returns checkout URL) |
| `verify_payment` | Check payment status |

### Recurring Plans
| Tool | Description |
|------|-------------|
| `create_plan` | Create a recurring payment plan |
| `list_plans` | List all plans |
| `get_plan` | Get plan details |
| `update_plan` | Update a plan |
| `delete_plan` | Delete a plan |

### Transactions
| Tool | Description |
|------|-------------|
| `list_transactions` | List all transactions |
| `get_transaction` | Get transaction details |
| `get_wallet_transactions` | Get transactions for a wallet |

### Reference Data
| Tool | Description |
|------|-------------|
| `list_transfer_purposes` | Transfer purpose codes |
| `list_source_of_funds` | Source of funds options |
| `list_mcc_codes` | MCC codes for businesses |
| `list_business_registration_types` | Business registration types |
| `list_mobile_networks` | Mobile money networks by country |
| `list_cash_pickup_agents` | Cash pickup agents by country |

### Blockchain Ledger
| Tool | Description |
|------|-------------|
| `create_ledger_entity` | Create an on-chain audit entity |
| `get_ledger_entity` | Get entity details |
| `ledger_credit` | Credit an entity |
| `ledger_debit` | Debit an entity |
| `ledger_transfer` | Transfer between entities |

## Resources (6)

| URI | Description |
|-----|-------------|
| `moneygraph://status` | Server mode, API health, rate limits |
| `moneygraph://wallets` | Live wallet balances (USD, GBP, EUR, CAD) |
| `moneygraph://rates/{base}` | All FX rates from a base currency |
| `moneygraph://rates/{from}/{to}` | Specific corridor rate |
| `moneygraph://corridors/{base}` | Remittance corridors with UUIDs |
| `moneygraph://delivery-windows/{currency}` | Delivery windows and speeds |

## Prompts (4)

| Prompt | Description |
|--------|-------------|
| `send-money` | Guided cross-border payment flow |
| `onboard-customer` | Customer creation + KYC walkthrough |
| `check-rates` | FX rate comparison |
| `track-payout` | Payout status check |

## Configuration

| Variable | Description | Default |
|----------|-------------|---------|
| `MONEYGRAPH_API_KEY` | Your MoneyGraph API key | Sandbox mode |

- **No key** or `sk_sandbox_*` / `sk_test_*` → Sandbox mode (in-memory data, auto-KYC, test rates)
- `sk_live_*` → Production mode (real money, real compliance, 30 req/min)

## Key Concepts

- **Amounts are in minor units**: $500.00 = `50000`. Always multiply by 100.
- **Two-step payout flow**: Create recipient → Create payout. Or use `send_bank_payout` / `send_mobile_money_payout` for one step.
- **`get_currencies` first**: Always call this before any payout to get corridor UUIDs and delivery window UUIDs.
- **KYC required**: Only APPROVED customers can send payouts. In sandbox, `submit_kyc` auto-approves.

## Links

- [MoneyGraph Docs](https://docs.moneygraph.ai)
- [MoneyGraph SDK](https://www.npmjs.com/package/@moneygraph/sdk)
- [MoneyGraph Dashboard](https://app.moneygraph.ai)
- [Pricing](https://moneygraph.ai/pricing)

## License

MIT