---
description: >-
  Install and configure the Inyo Payments Gateway MCP server to process payments, manage transactions, and check accounts through AI assistants like Claude, Cursor, VS Code, and Windsurf.
---

# Payments Gateway MCP

The Payments Gateway MCP server exposes Inyo's Gateway APIs as AI-ready tools. It handles OAuth authentication automatically, caching and refreshing tokens as needed.

**Package:** [@inyo-global/gateway-mcp](https://www.npmjs.com/package/@inyo-global/gateway-mcp)

## Install

Choose your client to get started:

<div class="mcp-tabs">
<div class="mcp-tab-buttons">
<button class="mcp-tab-btn active" data-tab="cursor" type="button">Cursor</button>
<button class="mcp-tab-btn" data-tab="vscode" type="button">VS Code</button>
<button class="mcp-tab-btn" data-tab="windsurf" type="button">Windsurf</button>
<button class="mcp-tab-btn" data-tab="claude-desktop" type="button">Claude Desktop</button>
<button class="mcp-tab-btn" data-tab="claude-code" type="button">Claude Code (CLI)</button>
</div>

<div class="mcp-tab-content active" data-tab-content="cursor">

### Cursor

<a href="cursor://anysphere.cursor-deeplink/mcp/install?name=inyo-gateway&config=eyJlbnYiOnsiR0FURVdBWV9CQVNFX1VSTCI6IiIsIkdBVEVXQVlfQ0xJRU5UX0lEIjoiIiwiR0FURVdBWV9DTElFTlRfU0VDUkVUIjoiIn0sImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiQGlueW8tZ2xvYmFsL2dhdGV3YXktbWNwQGxhdGVzdCJdfQ==" class="mcp-install-btn">Install in Cursor</a>

<div class="mcp-install-divider">or configure manually</div>

Add to your Cursor MCP configuration at `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "inyo-gateway": {
      "command": "npx",
      "args": ["-y", "@inyo-global/gateway-mcp@latest"],
      "env": {
        "GATEWAY_BASE_URL": "your-gateway-url",
        "GATEWAY_CLIENT_ID": "your-client-id",
        "GATEWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

Or go to **Settings → MCP Servers** in Cursor and add the configuration there.

</div>

<div class="mcp-tab-content" data-tab-content="vscode">

### VS Code

<a href="https://vscode.dev/redirect/mcp/install?name=inyo-gateway&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22gateway_base_url%22%2C%22description%22%3A%22Gateway%20API%20endpoint%20URL%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22gateway_client_id%22%2C%22description%22%3A%22OAuth%20client%20identifier%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22gateway_client_secret%22%2C%22description%22%3A%22OAuth%20client%20secret%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40inyo-global%2Fgateway-mcp%40latest%22%5D%2C%22env%22%3A%7B%22GATEWAY_BASE_URL%22%3A%22%24%7Binput%3Agateway_base_url%7D%22%2C%22GATEWAY_CLIENT_ID%22%3A%22%24%7Binput%3Agateway_client_id%7D%22%2C%22GATEWAY_CLIENT_SECRET%22%3A%22%24%7Binput%3Agateway_client_secret%7D%22%7D%7D" class="mcp-install-btn">Install in VS Code</a>

<div class="mcp-install-divider">or configure manually</div>

Add to `.vscode/mcp.json` in your project root:

```json
{
  "mcpServers": {
    "inyo-gateway": {
      "command": "npx",
      "args": ["-y", "@inyo-global/gateway-mcp@latest"],
      "env": {
        "GATEWAY_BASE_URL": "your-gateway-url",
        "GATEWAY_CLIENT_ID": "your-client-id",
        "GATEWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

</div>

<div class="mcp-tab-content" data-tab-content="windsurf">

### Windsurf

Add to your Windsurf MCP configuration at `~/.windsurf/mcp.json`:

```json
{
  "mcpServers": {
    "inyo-gateway": {
      "command": "npx",
      "args": ["-y", "@inyo-global/gateway-mcp@latest"],
      "env": {
        "GATEWAY_BASE_URL": "your-gateway-url",
        "GATEWAY_CLIENT_ID": "your-client-id",
        "GATEWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

</div>

<div class="mcp-tab-content" data-tab-content="claude-desktop">

### Claude Desktop

Add to your Claude Desktop configuration:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "inyo-gateway": {
      "command": "npx",
      "args": ["-y", "@inyo-global/gateway-mcp@latest"],
      "env": {
        "GATEWAY_BASE_URL": "your-gateway-url",
        "GATEWAY_CLIENT_ID": "your-client-id",
        "GATEWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

Restart Claude Desktop after saving the configuration.

</div>

<div class="mcp-tab-content" data-tab-content="claude-code">

### Claude Code (CLI)

Run the following command to add the MCP server:

```bash
claude mcp add inyo-gateway \
  -e GATEWAY_BASE_URL=your-gateway-url \
  -e GATEWAY_CLIENT_ID=your-client-id \
  -e GATEWAY_CLIENT_SECRET=your-client-secret \
  -- npx -y @inyo-global/gateway-mcp@latest
```

Or add to `.mcp.json` in your project root (or `~/.claude/mcp.json` globally):

```json
{
  "mcpServers": {
    "inyo-gateway": {
      "command": "npx",
      "args": ["-y", "@inyo-global/gateway-mcp@latest"],
      "env": {
        "GATEWAY_BASE_URL": "your-gateway-url",
        "GATEWAY_CLIENT_ID": "your-client-id",
        "GATEWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

</div>
</div>

## Environment Variables

| Variable | Description |
|----------|-------------|
| `GATEWAY_BASE_URL` | Gateway API endpoint URL |
| `GATEWAY_CLIENT_ID` | OAuth client identifier |
| `GATEWAY_CLIENT_SECRET` | OAuth client secret |

Contact your Inyo account representative to obtain your credentials. For sandbox testing, use your sandbox environment URL and credentials.

## Available Tools

### Payment Operations

| Tool | Description |
|------|-------------|
| `create-payment` | Create a new payment (PULL, PUSH, PULLPUSH, or CHECK) |
| `capture-payment` | Capture a previously authorized payment |
| `void-payment` | Void a payment before settlement |
| `refund-payment` | Refund a settled payment |

### Account Verification

| Tool | Description |
|------|-------------|
| `check-card-account` | Verify card account details (ANI check) |
| `check-bank-account` | Verify bank account details |

### Read Operations

| Tool | Description |
|------|-------------|
| `authenticate` | Manually trigger OAuth authentication |
| `get-payment` | Retrieve payment details by ID |

### Additional Services

| Tool | Description |
|------|-------------|
| `create-fx` | Generate a foreign exchange quote |
| `create-plaid-link` | Create a Plaid Link token for bank account linking |
| `get-plaid-link` | Retrieve Plaid Link session details |

## Payment Types

The `create-payment` tool supports multiple payment types:

| Type | Description |
|------|-------------|
| PULL | Pull funds from a payment source (card charge, ACH debit) |
| PUSH | Push funds to a recipient (OCT, payout) |
| PULLPUSH | Pull and push in a single operation |
| CHECK | Account verification without charging |

## Supported Payment Methods

- **Cards** — Visa, Mastercard, credit and debit
- **Bank accounts** — ACH direct debit
- **PIX** — Brazilian instant payments
- **Digital wallets** — Where supported

## Authentication

The MCP server handles OAuth token management automatically:

1. On the first tool call, the server authenticates using your client credentials
2. The access token is cached in memory
3. Tokens are refreshed automatically 60 seconds before expiration
4. No manual token management required

## Example Usage

Once configured, you can interact with the Gateway through natural language in your AI assistant:

- *"Create a $50 card payment using token tk_abc123"*
- *"Check the status of payment pay_xyz789"*
- *"Refund payment pay_xyz789 for $25"*
- *"Void the authorization on payment pay_abc456"*
- *"Verify this card account: 4111111111111111"*

The AI assistant translates your request into the appropriate tool call, executes it against the Gateway API, and returns the structured response.
