# ifthenpay Payments MCP (remote · ai.ifthenpay.com)

Remote MCP for ifthenpay payments: Multibanco, MB WAY and Payshop.

- Trust score: 65/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- remote · `ai.ifthenpay.com`: 65/100 (this document), [markdown](https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments.md), [page](https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments)

## Channel facts

- Endpoint: `https://ai.ifthenpay.com/mcp/payments/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 9 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1756 tokens (~195/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-ifthenpay-payments https://ai.ifthenpay.com/mcp/payments/
```

### Codex

```toml
[mcp_servers.com-ifthenpay-payments]
url = "https://ai.ifthenpay.com/mcp/payments/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-ifthenpay-payments": {
      "type": "remote",
      "url": "https://ai.ifthenpay.com/mcp/payments/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-ifthenpay-payments --url https://ai.ifthenpay.com/mcp/payments/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-ifthenpay-payments:
    url: "https://ai.ifthenpay.com/mcp/payments/"
```

### Other

```json
{
  "mcpServers": {
    "com-ifthenpay-payments": {
      "type": "http",
      "url": "https://ai.ifthenpay.com/mcp/payments/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 63, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 59, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 58)

First indexed and scored.

## MCP tools (9)

### `multibanco_create_reference` (~105 tokens)

Creates a Multibanco payment reference that the customer can use to pay at any ATM or via online banking in Portugal.

Input parameters:

- `amount` (number, required): Payment amount in EUR (e.g. 10.50).
- `expiry_days` (integer): Number of days until the reference expires. Defaults to no expiry if omitted.
- `mb_key` (string, required): ifthenpay Multibanco key.
- `order_id` (string, required): Unique order identifier in your system.

### `mbway_request_payment` (~131 tokens)

Sends an MB WAY payment request to the customer's mobile phone. The customer approves the payment in the MB WAY app. Use mbway_check_status to check the result.

Input parameters:

- `amount` (number, required): Payment amount in EUR (e.g. 10.50).
- `description` (string): Short payment description shown in the MB WAY app.
- `mbway_key` (string, required): ifthenpay MB WAY key.
- `order_id` (string, required): Unique order identifier in your system.
- `phone` (string, required): Customer mobile number in format "351#912345678" (country code # number).

### `mbway_check_status` (~64 tokens)

Checks the status of a previously requested MB WAY payment. Returns pending, paid, declined, timeout, or cancelled.

Input parameters:

- `mbway_key` (string, required): ifthenpay MB WAY key.
- `request_id` (string, required): Request ID returned by mbway_request_payment.

### `payshop_create_reference` (~121 tokens)

Creates a Payshop payment reference that the customer can use to pay at any Payshop agent or CTT (postal service) in Portugal.

Input parameters:

- `amount` (number, required): Payment amount in EUR (e.g. 10.50).
- `expiry_date` (string): Expiry date in YYYYMMDD format (e.g. 20301231). Leave blank for no expiry.
- `order_id` (string, required): Unique order identifier in your system (max 25 characters).
- `payshop_key` (string, required): ifthenpay Payshop key.

### `creditcard_create_payment` (~171 tokens)

Creates a credit/debit card payment session and returns a payment URL. The customer is redirected to a hosted checkout page to complete payment with their card.

Input parameters:

- `amount` (number, required): Payment amount in EUR (e.g. 10.50).
- `cancel_url` (string, required): URL to redirect the customer if they cancel the payment.
- `ccard_key` (string, required): ifthenpay Credit Card key.
- `error_url` (string, required): URL to redirect the customer if the payment fails.
- `language` (string): Language for the checkout page (e.g. "pt", "en"). Defaults to "pt".
- `order_id` (string, required): Unique order identifier in your system (max 15 characters).
- `success_url` (string, required): URL to redirect the customer after a successful payment.

### `pinpay_create_payment` (~404 tokens)

Creates a Pay by Link / PINPAY payment. Returns a shareable payment URL and a PIN code. The hosted checkout supports multiple payment methods including Credit Card, Google Pay, and Apple Pay.

Input parameters:

- `accounts` (string): Payment methods to show in the gateway, separated by semicolons. Format: METHOD|KEY (e.g. "MBWAY|MBWAY-KEY;MB|MB-KEY;PAYSHOP|PAYSHOP-KEY;CCARD|CCARD-KEY"). Leave blank to use gateway defaults.
- `amount` (number, required): Payment amount in EUR (e.g. 10.50).
- `btn_close_label` (string): Label text for the close/back button.
- `btn_close_url` (string): URL for the close/back button on the payment page.
- `cancel_url` (string): URL to redirect the customer if they cancel.
- `description` (string): Short description shown on the payment page (max 200 characters).
- `error_url` (string): URL to redirect the customer if the payment fails.
- `expiry_date` (string): Link expiry date in YYYYMMDD format (e.g. 20301231). Leave blank for no expiry.
- `gateway_key` (string, required): ifthenpay Gateway key for Pay by Link / PINPAY.
- `lang` (string): Language for the payment page: pt, en, es, fr. Defaults to pt.
- `order_id` (string, required): Unique order identifier in your system (max 15 characters).
- `otp` (string): One-time payment: "true" makes the link expire after a single payment.
- `selected_method` (string): Pre-select a payment method: 1=Multibanco, 2=MB WAY, 3=Payshop, 4=Credit Card, 7=Cofidis Pay, 8=Pix.
- `success_url` (string): URL to redirect the customer after a successful payment.

### `cofidis_create_payment` (~194 tokens)

Creates a Cofidis Pay instalment payment. Returns a payment URL where the customer can complete the purchase in instalments.

Input parameters:

- `amount` (number, required): Payment amount in EUR. Cofidis has minimum and maximum limits per customer.
- `cofidis_key` (string, required): ifthenpay Cofidis Pay key.
- `customer_email` (string): Email address of the customer.
- `customer_name` (string): Full name of the customer.
- `customer_phone` (string): Customer phone number including country code (e.g. +351256245560).
- `description` (string): Short description or reference for the payment (e.g. order number).
- `order_id` (string, required): Unique order identifier in your system (max 15 characters).
- `return_url` (string, required): URL to redirect the customer after the payment flow. The API appends &Success=True on approval, or another value on failure.

### `pix_create_payment` (~269 tokens)

Creates a PIX payment for Brazilian customers. Returns a payment URL and a QR code value. Customer must have a CPF number (Brazilian tax ID).

Input parameters:

- `amount` (number, required): Payment amount in BRL (e.g. 50.00).
- `customer_address` (string): Customer street address.
- `customer_city` (string): Customer city.
- `customer_cpf` (string, required): Customer CPF number (Brazilian tax ID), digits only (e.g. 74026594025).
- `customer_email` (string, required): Customer email address.
- `customer_name` (string, required): Full name of the customer (max 150 characters).
- `customer_phone` (string, required): Customer phone number including country code (e.g. +5585912345678).
- `customer_state` (string): Customer state (e.g. CE, SP).
- `customer_zip_code` (string): Customer postal/ZIP code.
- `description` (string): Short description or reference for the payment (max 200 characters).
- `order_id` (string, required): Unique order identifier in your system (max 25 characters).
- `pix_key` (string, required): ifthenpay PIX key.
- `redirect_url` (string, required): URL to redirect the customer after payment. Check payment status via the status API after redirect.

### `payments_list` (~297 tokens)

Lists completed payments using the ifthenpay Backoffice Key. Filter by payment method, date range, order ID, reference or request ID. Returns up to 1000 most recent payments if no filters are applied.

Input parameters:

- `amount` (string): Filter by exact payment amount.
- `bo_key` (string, required): ifthenpay Backoffice Key (provided when signing the contract).
- `date_end` (string): End date/time in format dd-MM-yyyy HH:mm:ss (e.g. 31-01-2024 23:59:59).
- `date_start` (string): Start date/time in format dd-MM-yyyy HH:mm:ss (e.g. 01-01-2024 00:00:00).
- `entity` (string): Payment method entity filter. Use: MB, MBWAY, PAYSHOP, CCARD, COFIDIS, GOOGLE, APPLE, PIX, or a 5-digit Multibanco entity number. Leave blank for all methods.
- `order_id` (string): Filter by order identifier.
- `reference` (string): Filter by payment reference (Multibanco/Payshop reference or orderId for other methods).
- `request_id` (string): Filter by the unique request token returned at payment creation.
- `sub_entity` (string): Payment method key or sub-entity (e.g. MB KEY, MBWAY KEY, PAYSHOP KEY). Leave blank to match all.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments#diagnostics

## Score history

- 2026-08-04: 65
- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 63
- 2026-07-31: 63
- 2026-07-30: 62
- 2026-07-29: 60
- 2026-07-28: 59
- 2026-07-27: 59
- 2026-07-26: 58

## Links

- Remote endpoint: https://ai.ifthenpay.com/mcp/payments/
- Repository: https://github.com/ifthenpay/mcp-payments
- Changelog RSS feed: https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-ifthenpay-payments/mcp-payments
