The Adyen Model Context Protocol (MCP) server allows you to integrate with Adyen APIs through LLMs function calling utilizing various clients. It currently supports the following tools. Read more on our Blog - Part 1.
- CheckoutAPI - Sessions
- Creates a /sessions payment request - POST
/sessions - Gets the result of a payment session - GET
/sessions/{sessionId} - Gets the available payment methods - POST
/paymentMethods
- Creates a /sessions payment request - POST
- CheckoutAPI - Payment Links
- Creates a payment link - POST
/paymentLinks - Gets the status of a payment link - GET
/paymentLinks/{linkId} - Updates a payment link (force expiry of the link) - PATCH
/paymentLinks/{linkId}
- Creates a payment link - POST
- Checkout API - Modifications
- Cancels an authorized payment - POST
/payments/{paymentPspReference}/cancels - Refunds a captured payment - POST
/payments/{paymentPspReference}/refunds
- Cancels an authorized payment - POST
- Management API - Accounts
- Gets a list of merchant accounts for your company account - GET
/merchants
- Gets a list of merchant accounts for your company account - GET
- Management API - Terminals
- Gets a list of terminals - GET
/terminals - Reassigns a terminal - POST
/terminals/{terminalId}/reassign - Gets a list of Android apps - GET
/companies/{companyId}/androidApps - Gets Android app details - GET
/companies/{companyId}/androidApps/{id} - Gets a list of Android certificates - GET
/companies/{companyId}/androidCertificates - Creates a terminal action - POST
/terminals/scheduleActions - Gets a list of terminal actions - GET
/companies/{companyId}/terminalActions - Gets terminal settings - GET
/companies/{companyId}/terminalSettings/ GET/merchants/{merchantId}/terminalSettings/ GET/merchants/{merchantId}/stores/{reference}/terminalSettings/ GET/terminals/{terminalId}/terminalSettings - Updates terminal settings - PATCH
/companies/{companyId}/terminalSettings/ PATCH/merchants/{merchantId}/terminalSettings/ PATCH/merchants/{merchantId}/stores/{reference}/terminalSettings/ PATCH/terminals/{terminalId}/terminalSettings
- Gets a list of terminals - GET
- Run the MCP server via
npxwith the following command:
npx -y @adyen/mcp --adyenApiKey=YOUR_ADYEN_API_KEY --env=TEST
If you are using the LIVE environment then you must also provide your live URL prefix, for example:
npx -y @adyen/mcp --adyenApiKey=YOUR_ADYEN_API_KEY --env=LIVE --livePrefix=YOUR_PREFIX_URL
Example usage in .vscode:
{
"servers": {
"adyen-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@adyen/mcp", "--adyenApiKey=YOUR_ADYEN_API_KEY", "--env=TEST"],
"env": {
"ADYEN_API_KEY": "${ADYEN_API_KEY}"
}
}
}
}Note: To run certain functionality (tools) in the mcp-server, you need a webservice user with the following roles:
- Management API - Accounts Read
- Management API - Payment methods Read
- Checkout Webservice Role
- Merchant PAL Webservice Role
- Management API - Terminals read
- Management API — Assign Terminal
- Management API — Terminal actions read
- Management API — Terminal actions read and write
- Management API — Android files read
- Management API — Terminal settings read
- Management API — Terminal settings read and write
Adyen recommends creating a new webservice user and generating a new API key for the purpose of this application. Only use the new user’s API key for the MCP application and limit the roles to match the tools you'll be using.
MIT license. For more information, see the LICENSE file.
We strongly encourage you to contribute to our repository. Find out more in our contribution guidelines. If you'd like to run this in Codespaces, follow this guide.
If you have a feature request, or spotted a bug or a technical problem, create a GitHub issue. For other questions, contact: [email protected]