# SumUp MCP Server (npm · @sumup/mcp)

Tools to explore SumUp accounts, payments, customers, and payouts.

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

## Components

- npm · `@sumup/mcp`: 61/100 (this document), [markdown](https://verifymcp.io/servers/sumup-mcp/sumup-mcp.md), [page](https://verifymcp.io/servers/sumup-mcp/sumup-mcp)

## Channel facts

- Registry: `npm`
- Package: `@sumup/mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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-07.

- **Supply Chain Security**: 80/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects langsmith 0.3.87, reached via @sumup/agent-toolkit > @langchain/core > langsmith. A fixed version is available.
  - No install/post-install scripts declared.
  - Dependency health was assessed across the 167 of 171 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 71/100
  - Repository check failed: the declared repository URL redirects; it must resolve directly.
  - Cryptographically verified build provenance (signed, bound to sumup/sumup-agent-toolkit).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 26 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 41/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 4899 tokens (~96/item across 51 items; 49 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 94/100
  - 98% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 85% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add sumup-mcp -- npx -y @sumup/mcp
```

### Codex

```bash
codex mcp add sumup-mcp -- npx -y @sumup/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sumup-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@sumup/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sumup-mcp --command npx --arg -y --arg @sumup/mcp
```

### Hermes

```yaml
mcp_servers:
  sumup-mcp:
    command: "npx"
    args: ["-y", "@sumup/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "sumup-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sumup/mcp"
      ]
    }
  }
}
```

## 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-05 (score 61, +23)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Schema quality: unverified → 0
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 98
- [functional] First check of Schema quality: good
- [functional] First check of Schema quality: pass
- [functional] First check of Tool coverage: 85
- [functional] First check of Schema quality: fail

### 2026-08-02 (score 38, +38)

- [security regression] CVE-2026-41182 affects this package: high
- [security regression] CVE-2026-41907 affects this package: high
- [security regression] CVE-2026-25528 affects this package: high
- [security regression] CVE-2025-9910 affects this package: high
- [security regression] CVE-2026-40190 affects this package: high
- [security regression] CVE-2026-45134 affects this package: high
- [security regression] CVE-2025-48985 affects this package: high
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [security] The attested source repository moved: sumup/sumup-agent-toolkit
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.
- [functional] Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- [functional] Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 0, 0)

- [security] Stability: Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.
- [functional regression] Security disclosure: unverified → fail
- [functional] Capabilities: Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.
- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-31 (score 0, 0)

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

### 2026-07-30 (score 0, −18)

- [security regression] Malware scan: pass → unverified
- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-28 (score 18, 0)

- [functional] Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional] Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.

### 2026-07-27 (score 18)

First indexed and scored.

## MCP tools (49)

### `get_payment_methods` (~86 tokens)

Get payment methods available for the given merchant to use with a checkout.

Input parameters:

- `amount` (number): The amount for which the payment methods should be eligible, in major units. Note that currency must also be provided when filtering by amount.
- `currency` (string): The currency for which the payment methods should be eligible.
- `merchantCode` (string, required): The SumUp merchant code.

### `create_checkout` (~509 tokens)

Creates a new payment checkout resource. The unique `checkout_reference` created by this request, is used for further manipulation of the checkout.

For 3DS checkouts, add the `redirect_url` parameter to your request body schema.

Follow by processing a checkout to charge the provided payment instrument.

Input parameters:

- `amount` (number, required): Amount of the payment.
- `checkout_reference` (string, required): Unique ID of the payment checkout specified by the client application when creating the checkout resource.
- `currency` (string, required): Three-letter [ISO4217](https://en.wikipedia.org/wiki/ISO_4217) code of the currency for the amount. Currently supported currency values are enumerated above.
- `customer_id` (string): Unique identification of a customer. If specified, the checkout session and payment instrument are associated with the referenced customer.
- `date` (string): Date and time of the creation of the payment checkout. Response format expressed according to [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) code.
- `description` (string): Short description of the checkout visible in the SumUp dashboard. The description can contribute to reporting, allowing easier identification of a checkout.
- `id` (string): Unique ID of the checkout resource.
- `merchant_code` (string, required): Unique identifying code of the merchant profile.
- `pay_to_email` (string): Email address of the registered user (merchant) to whom the payment is made.
- `purpose` (string): Purpose of the checkout.
- `redirect_url` (string): __Required__ for [APMs](https://developer.sumup.com/online-payments/apm/introduction) and __recommended__ for card payments. Refers to a url where the end user is redirected once the payment processi…
- `return_url` (string): URL to which the SumUp platform sends the processing status of the payment checkout.
- `status` (string): Current status of the checkout.
- `transactions` (array): List of transactions related to the payment.
- `valid_until` (string): Date and time of the checkout expiration before which the client application needs to send a processing request. If no value is present, the checkout does not have an expiration time.

### `list_checkouts` (~42 tokens)

Lists created checkout resources according to the applied `checkout_reference`.

Input parameters:

- `checkout_reference` (string): Filters the list of checkout resources by the unique ID of the checkout.

### `get_checkout` (~45 tokens)

Retrieves an identified checkout resource. Use this request after processing a checkout to confirm its status and inform the end user respectively.

Input parameters:

- `id` (string, required): Unique ID of the checkout resource.

### `process_checkout` (~208 tokens)

Processing a checkout will attempt to charge the provided payment instrument for the amount of the specified checkout resource initiated in the `Create a checkout` endpoint.

Follow this request with `Retrieve a checkout` to confirm its status.

Input parameters:

- `card` (object): __Required when payment type is `card`.__ Details of the payment card.
- `customer_id` (string): __Required when `token` is provided.__ Unique ID of the customer.
- `id` (string, required): Unique ID of the checkout resource.
- `installments` (integer): Number of installments for deferred payments. Available only to merchant users in Brazil.
- `mandate` (object): Mandate is passed when a card is to be tokenized
- `payment_type` (string, required): Describes the payment method used to attempt processing
- `personal_details` (object): Personal details for the customer.
- `token` (string): __Required when using a tokenized card to process a checkout.__ Unique token identifying the saved payment card for a customer.

### `deactivate_checkout` (~43 tokens)

Deactivates an identified checkout resource. If the checkout has already been processed it can not be deactivated.

Input parameters:

- `id` (string, required): Unique ID of the checkout resource.

### `create_customer` (~51 tokens)

Creates a new saved customer resource which you can later manipulate and save payment instruments to.

Input parameters:

- `customer_id` (string, required): Unique ID of the customer.
- `personal_details` (object): Personal details for the customer.

### `get_customer` (~43 tokens)

Retrieves an identified saved customer resource through the unique `customer_id` parameter, generated upon customer creation.

Input parameters:

- `customerId` (string, required): Unique ID of the saved customer resource.

### `update_customer` (~69 tokens)

Updates an identified saved customer resource's personal details.

The request only overwrites the parameters included in the request, all other parameters will remain with their initially assigned values.

Input parameters:

- `customerId` (string, required): Unique ID of the saved customer resource.
- `personal_details` (object): Personal details for the customer.

### `list_payment_instruments` (~38 tokens)

Lists all payment instrument resources that are saved for an identified customer.

Input parameters:

- `customerId` (string, required): Unique ID of the saved customer resource.

### `deactivate_payment_instrument` (~56 tokens)

Deactivates an identified card payment instrument resource for a customer.

Input parameters:

- `customerId` (string, required): Unique ID of the saved customer resource.
- `token` (string, required): Unique token identifying the card saved as a payment instrument resource.

### `refund_transaction` (~78 tokens)

Refunds an identified transaction either in full or partially.

Input parameters:

- `amount` (number): Amount to be refunded. Eligible amount can't exceed the amount of the transaction and varies based on country and currency. If you do not specify a value, the system performs a full refund of the tra…
- `txnId` (string, required): Unique ID of the transaction.

### `get_transaction_v2_1` (~151 tokens)

Retrieves the full details of an identified transaction. The transaction resource is identified by a query parameter and *one* of following parameters is required:

 \*  `id`
 \*  `internal_id`
 \*  `transaction_code`
 \*  `foreign_transaction_id`
 \*  `client_transaction_id`

Input parameters:

- `id` (string): Retrieves the transaction resource with the specified transaction ID (the `id` parameter in the transaction resource).
- `internal_id` (string): Retrieves the transaction resource with the specified internal transaction ID (the `internal_id` parameter in the transaction resource).
- `merchantCode` (string, required)
- `transaction_code` (string): Retrieves the transaction resource with the specified transaction code.

### `get_transaction` (~139 tokens)

Retrieves the full details of an identified transaction. The transaction resource is identified by a query parameter and *one* of following parameters is required:

 \*  `id`
 \*  `internal_id`
 \*  `transaction_code`
 \*  `foreign_transaction_id`
 \*  `client_transaction_id`

Input parameters:

- `id` (string): Retrieves the transaction resource with the specified transaction ID (the `id` parameter in the transaction resource).
- `internal_id` (string): Retrieves the transaction resource with the specified internal transaction ID (the `internal_id` parameter in the transaction resource).
- `transaction_code` (string): Retrieves the transaction resource with the specified transaction code.

### `list_transactions_v2_1` (~438 tokens)

Lists detailed history of all transactions associated with the merchant profile.

Input parameters:

- `changes_since` (string): Filters the results by the latest modification time of resources and returns only transactions that are modified *at or after* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_…
- `limit` (integer): Specifies the maximum number of results per page. Value must be a positive integer and if not specified, will return 10 results.
- `merchantCode` (string, required)
- `newest_ref` (string): Filters the results by the reference ID of transaction events and returns only transactions with events whose IDs are *smaller* than the specified value. This parameters supersedes the `newest_time`…
- `newest_time` (string): Filters the results by the creation time of resources and returns only transactions that are created *before* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).
- `oldest_ref` (string): Filters the results by the reference ID of transaction events and returns only transactions with events whose IDs are *greater* than the specified value. This parameters supersedes the `oldest_time`…
- `oldest_time` (string): Filters the results by the creation time of resources and returns only transactions that are created *at or after* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format…
- `order` (string): Specifies the order in which the returned results are displayed.
- `payment_types` (array): Filters the returned results by the specified list of payment types used for the transactions.
- `statuses` (array): Filters the returned results by the specified list of final statuses of the transactions.
- `transaction_code` (string): Retrieves the transaction resource with the specified transaction code.
- `types` (array): Filters the returned results by the specified list of transaction types.
- `users` (array): Filters the returned results by user email.

### `list_transactions` (~426 tokens)

Lists detailed history of all transactions associated with the merchant profile.

Input parameters:

- `changes_since` (string): Filters the results by the latest modification time of resources and returns only transactions that are modified *at or after* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_…
- `limit` (integer): Specifies the maximum number of results per page. Value must be a positive integer and if not specified, will return 10 results.
- `newest_ref` (string): Filters the results by the reference ID of transaction events and returns only transactions with events whose IDs are *smaller* than the specified value. This parameters supersedes the `newest_time`…
- `newest_time` (string): Filters the results by the creation time of resources and returns only transactions that are created *before* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).
- `oldest_ref` (string): Filters the results by the reference ID of transaction events and returns only transactions with events whose IDs are *greater* than the specified value. This parameters supersedes the `oldest_time`…
- `oldest_time` (string): Filters the results by the creation time of resources and returns only transactions that are created *at or after* the specified timestamp (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format…
- `order` (string): Specifies the order in which the returned results are displayed.
- `payment_types` (array): Filters the returned results by the specified list of payment types used for the transactions.
- `statuses` (array): Filters the returned results by the specified list of final statuses of the transactions.
- `transaction_code` (string): Retrieves the transaction resource with the specified transaction code.
- `types` (array): Filters the returned results by the specified list of transaction types.
- `users` (array): Filters the returned results by user email.

### `list_payouts_v1` (~109 tokens)

Lists ordered payouts for the merchant profile.

Input parameters:

- `end_date` (string, required): End date (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).
- `format` (string)
- `limit` (integer)
- `merchantCode` (string, required)
- `order` (string)
- `start_date` (string, required): Start date (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).

### `list_payouts` (~99 tokens)

Lists ordered payouts for the merchant profile.

Input parameters:

- `end_date` (string, required): End date (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).
- `format` (string)
- `limit` (integer)
- `order` (string)
- `start_date` (string, required): Start date (in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format).

### `get_receipt` (~68 tokens)

Retrieves receipt specific data for a transaction.

Input parameters:

- `id` (string, required): SumUp unique transaction ID or transaction code, e.g. TS7HDYLSKD.
- `mid` (string, required): Merchant code.
- `tx_event_id` (integer): The ID of the transaction event (refund).

### `get_account` (~13 tokens)

Returns user profile information.

### `get_personal_profile` (~15 tokens)

Retrieves personal profile data.

### `get_merchant_profile` (~15 tokens)

Retrieves merchant profile data.

### `get_doing_business_as` (~17 tokens)

Retrieves Doing Business As profile.

### `list_bank_accounts_v11` (~50 tokens)

Retrieves bank accounts of the merchant.

Input parameters:

- `merchantCode` (string, required)
- `primary` (boolean): If true only the primary bank account (the one used for payouts) will be returned.

### `list_bank_accounts` (~40 tokens)

Retrieves bank accounts of the merchant.

Input parameters:

- `primary` (boolean): If true only the primary bank account (the one used for payouts) will be returned.

### `get_settings` (~12 tokens)

Retrieves merchant settings.

### `list_sub_accounts` (~80 tokens)

Returns list of operators for currently authorized user's merchant.

Input parameters:

- `include_primary` (boolean): If true the list of operators will include also the primary user.
- `query` (string): Search query used to filter users that match given query term. Current implementation allow querying only over the email address. All operators whos email address contains the query string are retur…

### `create_sub_account` (~47 tokens)

Creates new operator for currently authorized users' merchant.

Input parameters:

- `nickname` (string)
- `password` (string, required)
- `permissions` (object)
- `username` (string, required)

### `compat_get_operator` (~21 tokens)

Returns specific operator.

Input parameters:

- `operatorId` (integer, required)

### `update_sub_account` (~71 tokens)

Updates operator. If the operator was disabled and their password is updated they will be unblocked.

Input parameters:

- `disabled` (boolean)
- `nickname` (string)
- `operatorId` (integer, required)
- `password` (string)
- `permissions` (object)
- `username` (string)

### `deactivate_sub_account` (~19 tokens)

undefined

Input parameters:

- `operatorId` (integer, required)

### `list_merchant_members` (~106 tokens)

Lists merchant members.

Input parameters:

- `email` (string): Filter the returned members by email address prefix.
- `limit` (integer): Maximum number of members to return.
- `merchantCode` (string, required): Merchant code.
- `offset` (integer): Offset of the first member to return.
- `roles` (array): Filter the returned members by role.
- `scroll` (boolean): Indicates to skip count query.
- `status` (string): Filter the returned members by the membership status.

### `create_merchant_member` (~257 tokens)

Create a merchant member.

Input parameters:

- `attributes` (object): Object attributes that modifiable only by SumUp applications.
- `email` (string, required): Email address of the member to add.
- `is_managed_user` (boolean): True if the user is managed by the merchant. In this case, we'll created a virtual user with the provided password and nickname.
- `is_service_account` (boolean): True if the user is a service account. It can later be used to create OAuth2 clients.
- `merchantCode` (string, required): Merchant code.
- `metadata` (object): Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata.
- `nickname` (string): Nickname of the member to add. Only used if `is_managed_user` is true. Used for display purposes only.
- `password` (string): Password of the member to add. Only used if `is_managed_user` is true. In the case of service accounts, the password is not used and can not be defined by the caller.
- `roles` (array, required): List of roles to assign to the new member. In the case of service accounts, the roles are predefined.

### `get_merchant_member` (~40 tokens)

Retrieve a merchant member.

Input parameters:

- `memberId` (string, required): The ID of the member to retrieve.
- `merchantCode` (string, required): Merchant code.

### `update_merchant_member` (~112 tokens)

Update the merchant member.

Input parameters:

- `attributes` (object): Object attributes that modifiable only by SumUp applications.
- `memberId` (string, required): The ID of the member to retrieve.
- `merchantCode` (string, required): Merchant code.
- `metadata` (object): Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata.
- `roles` (array)
- `user` (object): Allows you to update user data of managed users.

### `delete_merchant_member` (~40 tokens)

Deletes a merchant member.

Input parameters:

- `memberId` (string, required): The ID of the member to retrieve.
- `merchantCode` (string, required): Merchant code.

### `list_memberships` (~55 tokens)

List memberships of the current user.

Input parameters:

- `kind` (string): Filter memberships by resource kind.
- `limit` (integer): Maximum number of members to return.
- `offset` (integer): Offset of the first member to return.

### `list_merchant_roles` (~26 tokens)

List merchant's custom roles.

Input parameters:

- `merchantCode` (string, required): Merchant code.

### `create_merchant_role` (~116 tokens)

Create a custom role for the merchant. Roles are defined by the set of permissions that they grant to the members that they are assigned to.

Input parameters:

- `description` (string): User-defined description of the role.
- `merchantCode` (string, required): Merchant code.
- `metadata` (object): Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata.
- `name` (string, required): User-defined name of the role.
- `permissions` (array, required): User's permissions.

### `get_merchant_role` (~42 tokens)

Retrieve a custom role by ID.

Input parameters:

- `merchantCode` (string, required): Merchant code.
- `roleId` (string, required): The ID of the role to retrieve.

### `delete_merchant_role` (~40 tokens)

Delete a custom role.

Input parameters:

- `merchantCode` (string, required): Merchant code.
- `roleId` (string, required): The ID of the role to retrieve.

### `update_merchant_role` (~76 tokens)

Update a custom role.

Input parameters:

- `description` (string): User-defined description of the role.
- `merchantCode` (string, required): Merchant code.
- `name` (string): User-defined name of the role.
- `permissions` (array): User's permissions.
- `roleId` (string, required): The ID of the role to retrieve.

### `create_reader_checkout` (~384 tokens)

Create a Checkout for a Reader.

This process is asynchronous and the actual transaction may take some time to be stared on the device.


There are some caveats when using this endpoint:
\* The target device must be online, otherwise checkout won't be accepted
\* After the checkout is accepted, the system has 60 seconds to start the payment on the target device. During this time, any other checkout for the same device will be rejected.

\**Note**: If the target device is a Solo, it must be in version 3.3.24.3 or higher.

Input parameters:

- `affiliate` (object): Affiliate metadata for the transaction. It is an optional field that allow for integrators to track the source of the transaction.
- `card_type` (string): The card type of the card used for the transaction. Is is required only for some countries (e.g: Brazil).
- `description` (string): Description of the checkout to be shown in the Merchant Sales
- `id` (string, required): The unique identifier of the reader.
- `installments` (integer): Number of installments for the transaction. It may vary according to the merchant country. For example, in Brazil, the maximum number of installments is 12.
- `merchantCode` (string, required)
- `return_url` (string): Webhook URL to which the payment result will be sent. It must be a HTTPS url.
- `tip_rates` (array): List of tipping rates to be displayed to the cardholder. The rates are in percentage and should be between 0.01 and 0.99. The list should be sorted in ascending order.
- `total_amount` (object, required): Amount of the transaction. The amount is represented as an integer value altogether with the currency and the minor unit. For example, EUR 1.00 is represented as value 100 with minor unit of 2.

### `create_reader_terminate` (~190 tokens)

Create a Terminate action for a Reader.

It stops the current transaction on the target device.

This process is asynchronous and the actual termination may take some time to be performed on the device.


There are some caveats when using this endpoint:
\* The target device must be online, otherwise terminate won't be accepted
\* The action will succeed only if the device is waiting for cardholder action: e.g: waiting for card, waiting for PIN, etc.
\* There is no confirmation of the termination.

If a transaction is successfully terminated and `return_url` was provided on Checkout, the transaction status will be sent as `failed` to the provided URL.

\**Note**: If the target device is a Solo, it must be in version 3.3.28.0 or higher.

Input parameters:

- `id` (string, required): The unique identifier of the reader.
- `merchantCode` (string, required)

### `list_readers` (~30 tokens)

List all readers of the merchant.

Input parameters:

- `merchantCode` (string, required): Unique identifier of the merchant account.

### `create_reader` (~116 tokens)

Create a new Reader for the merchant account.

Input parameters:

- `merchantCode` (string, required): Unique identifier of the merchant account.
- `meta` (object): Set of user-defined key-value pairs attached to the object.
- `name` (string): Custom human-readable, user-defined name for easier identification of the reader.
- `pairing_code` (string, required): The pairing code is a 8 or 9 character alphanumeric string that is displayed on a SumUp Device after initiating the pairing. It is used to link the physical device to the created pairing.

### `get_reader` (~39 tokens)

Retrieve a Reader.

Input parameters:

- `id` (string, required): The unique identifier of the reader.
- `merchantCode` (string, required): Unique identifier of the merchant account.

### `delete_reader` (~39 tokens)

Delete a reader.

Input parameters:

- `id` (string, required): The unique identifier of the reader.
- `merchantCode` (string, required): Unique identifier of the merchant account.

### `update_reader` (~77 tokens)

Update a Reader.

Input parameters:

- `id` (string, required): The unique identifier of the reader.
- `merchantCode` (string, required): Unique identifier of the merchant account.
- `meta` (object): Set of user-defined key-value pairs attached to the object.
- `name` (string): Custom human-readable, user-defined name for easier identification of the reader.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/sumup-mcp/sumup-mcp#diagnostics

## Score history

- 2026-08-07: 61
- 2026-08-06: 61
- 2026-08-05: 61
- 2026-08-04: 38
- 2026-08-03: 38
- 2026-08-02: 38
- 2026-08-01: 0
- 2026-07-31: 0
- 2026-07-30: 0
- 2026-07-28: 18
- 2026-07-27: 18

## Links

- npm package: https://www.npmjs.com/package/@sumup/mcp
- Socket report: https://socket.dev/npm/package/@sumup/mcp
- Changelog RSS feed: https://verifymcp.io/servers/sumup-mcp/sumup-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/sumup-mcp/sumup-mcp.json
- HTML version of this page: https://verifymcp.io/servers/sumup-mcp/sumup-mcp
