Adyen MCP server
Adyen's official MCP server lets agents create payment sessions and links, refund and cancel payments, and manage merchant accounts, terminals, and webhooks.
The Adyen MCP server is Adyen's official integration that exposes its Checkout and Management APIs to AI agents through function calling. On the Checkout side an agent can create a payment session, retrieve its result, and list available payment methods; create, fetch, update, and expire payment links; and run modifications to refund or cancel an authorized payment — so a request like "create a 50 EUR payment link for order ABC" or "refund order 12345" turns directly into the right Adyen API call. On the Management side it can list and inspect merchant accounts, manage point-of-sale terminals (list and reassign terminals, manage Android apps and certificates, read and update terminal settings, and schedule terminal actions), and administer webhooks, payment methods, users, API credentials, and allowed origins.
The server is published on npm as @adyen/mcp and runs locally over stdio with npx; you pass your Adyen API key and target environment as CLI flags (npx -y @adyen/mcp --adyenApiKey=YOUR_KEY --env=TEST), supplying --livePrefix for live traffic and an optional --tools flag to expose only a subset of tools. Because these operations move real money and touch account configuration, Adyen recommends starting against the TEST environment, scoping the API key to only the APIs the agent needs, and keeping a human in the loop for sensitive actions.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| create_payment_session | Creates an Adyen Checkout payment session. |
| get_payment_session | Retrieves the result of a payment session. |
| get_payment_methods | Lists the payment methods available for a transaction. |
| create_payment_links | Creates a Checkout payment link. |
| get_payment_link | Retrieves the status and details of a payment link. |
| update_payment_link | Updates a payment link, including expiring it. |
| refund_payment | Refunds a captured payment. |
| cancel_payment | Cancels an authorized payment. |
| list_merchant_accounts | Lists the merchant accounts on the company account. |
| get_merchant_account | Retrieves details about a specific merchant account. |
| list_terminals | Lists the point-of-sale terminals on the account. |
| create_terminal_action | Schedules an action on one or more terminals. |
| list_terminal_actions | Lists scheduled terminal actions. |
| reassign_terminal | Reassigns a terminal to a different store or merchant account. |
| get_terminal_settings | Retrieves the settings for a terminal. |
| update_terminal_settings | Updates the settings for a terminal. |
| get_android_app | Retrieves an Android app installed on terminals. |
| list_android_apps | Lists the Android apps available for terminals. |
| list_android_certificates | Lists the Android certificates for terminals. |
| list_all_merchant_webhooks | Lists the webhooks configured at the merchant level. |
| get_merchant_webhook | Retrieves a merchant-level webhook. |
| list_all_company_webhooks | Lists the webhooks configured at the company level. |
| get_company_webhook | Retrieves a company-level webhook. |
| test_merchant_webhook | Sends a test event to a merchant-level webhook. |
| test_company_webhook | Sends a test event to a company-level webhook. |
| list_all_payment_methods_merchant | Lists the payment methods configured for a merchant account. |
| get_payment_methods_details_merchant | Retrieves details of a payment method configured for a merchant account. |
| list_company_users | Lists the users on the company account. |
| get_company_user_details | Retrieves details about a company user. |
| list_merchant_users | Lists the users on a merchant account. |
| get_merchant_user_details | Retrieves details about a merchant user. |
| list_all_merchant_api_credentials | Lists the API credentials on a merchant account. |
| list_all_company_api_credentials | Lists the API credentials on the company account. |
| list_all_merchant_allowed_origins | Lists the allowed CORS origins for a merchant's API credential. |
| list_all_company_allowed_origins | Lists the allowed CORS origins for a company's API credential. |
| get_account_holder | Retrieves a balance-platform account holder. |
| get_legal_entity | Retrieves a legal entity from Legal Entity Management. |
| create_hosted_onboarding_link | Creates a link to an Adyen-hosted onboarding page for a legal entity. |
What you can do with it
Generate a payment link on request
An agent turns "create a 50 EUR payment link for order ABC789" into a create_payment_links call and hands back the URL, so a customer can pay without an engineer touching the Adyen dashboard.
Resolve a refund or cancellation
The agent looks up a payment and calls refund_payment or cancel_payment to resolve a support request end to end, against the TEST environment first to verify the flow before going live.
FAQ
- Is it free?
- The MCP server is free and open source under the MIT license. You pay only the normal Adyen processing fees on any real transactions it helps create when pointed at the live environment.
- Does it support remote/OAuth?
- It runs locally over stdio with npx and authenticates with an Adyen API key passed as the --adyenApiKey CLI flag, plus --env to select TEST or LIVE. There is no OAuth flow; scope the API key to only the APIs the agent needs.
- Is it safe to point at production?
- These tools move real money and change account configuration, so Adyen recommends developing against --env=TEST, using a narrowly scoped API key, limiting exposed tools with the --tools flag, and keeping a human in the loop for sensitive actions before switching to LIVE.