AlipayPlus MCP Server
OfficialProvides tools for creating, querying, and canceling payments, as well as initiating refunds and customs declarations through AlipayPlus APIs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AlipayPlus MCP ServerCreate a payment of 99.99 USD to customer order #12345"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AlipayPlus MCP Server
A Model Context Protocol (MCP) compatible server that integrates Ant International's AlipayPlus payment APIs, enabling AI assistants to handle payment and refund operations seamlessly.
Overview
The AlipayPlus MCP Server wraps Ant International's AlipayPlus payment APIs into standardized MCP tools, allowing AI assistants to securely process payment-related operations during conversations. With this server, you can create payments, query transaction status, handle refunds, and more directly through AI interactions.
Related MCP server: Antom MCP Server
Features
💳 Payment Operations
Create Payment (
create_payment): Generate payment requests for processing transactionsQuery Payment (
query_payment): Retrieve transaction status and information for submitted payment requestsCancel Payment (
cancel_payment): Cancel payments when results are not returned within expected timeframes
💰 Refund Operations
Create Refund (
create_refund): Initiate full or partial refunds against successful payments
🛃 Customs Operations
Customs Declare (
customs_declare): Declare a payment to customs or update an existing declarationQuery Customs Declaration (
query_customs_declare): Inquire about the status of declared payments
Prerequisites
Before using the AlipayPlus MCP Server, ensure you have:
Python 3.11 or higher
uv (recommended package manager) or pip
Valid AlipayPlus Merchant Account with:
Merchant Client ID (CLIENT_ID)
Merchant RSA Private Key (MERCHANT_PRIVATE_KEY)
Alipay RSA Public Key (ALIPAY_PUBLIC_KEY)
Payment Notification Callback URL (PAYMENT_NOTIFY_URL)
Quick Start
1. Installation
Direct Usage with uvx (Recommended)
uvx ant-intl-alipayplus-mcpInstall with pip
pip install ant-intl-alipayplus-mcpInstall with uv
uv install ant-intl-alipayplus-mcpInstall from Source
git clone https://github.com/alipay/global-alipayplus-mcp.git
cd global-alipayplus-mcp
uv installRequirements
Python 3.11 or higher
Dependencies:
cryptography==44.0.3
mcp[cli]>=1.9.1
pycryptodome==3.22.0
rsa>=4.9.1
2. MCP Client Configuration
Add the following configuration to your MCP client:
{
"mcpServers": {
"alipayplus-mcp": {
"command": "uvx",
"args": ["ant-intl-alipayplus-mcp"],
"env": {
"GATEWAY_URL": "https://open-sea-global.alipay.com",
"CLIENT_ID": "your_client_id_here",
"MERCHANT_PRIVATE_KEY": "your_merchant_private_key_here",
"ALIPAY_PUBLIC_KEY": "your_alipay_public_key_here",
"PAYMENT_NOTIFY_URL": "https://your-domain.com/payment/notify",
"SETTLEMENT_CURRENCY": "USD",
"MERCHANT_NAME": "Your Merchant Name",
"MERCHANT_ID": "Your Merchant ID",
"MERCHANT_MCC": "5411",
"MERCHANT_REGION": "US"
}
}
}
}3. Environment Variables
Variable | Required | Description |
| ❌ | AlipayPlus API gateway URL (defaults to https://open-sea-global.alipay.com) |
| ✅ | Merchant client ID for identity verification |
| ✅ | Merchant RSA private key for request signing |
| ✅ | Alipay RSA public key for response verification |
| ❌ | URL to redirect after payment (defaults to empty string) |
| ❌ | Payment result notification callback URL (defaults to http://localhost:8080/notify) |
| ❌ | Currency for settlement (defaults to empty string) |
| ❌ | Merchant name (defaults to "Alipayplus MCP") |
| ❌ | Merchant ID (defaults to "M0000000001") |
| ❌ | Merchant Category Code (defaults to "5411") |
| ❌ | Merchant region code (defaults to "CN") |
Integration Example
Here's how you can integrate the AlipayPlus MCP Server with your AI agent (using QwenAgent as an example):
import os
from qwen_agent.agents import Assistant
# Configure the MCP server as a tool
tools = [{
"mcpServers": {
"alipayplus-mcp": {
"command": "uvx",
"args": ["ant-intl-alipayplus-mcp"],
"env": {
"CLIENT_ID": os.getenv('CLIENT_ID'),
"MERCHANT_PRIVATE_KEY": os.getenv('MERCHANT_PRIVATE_KEY'),
"ALIPAY_PUBLIC_KEY": os.getenv('ALIPAY_PUBLIC_KEY'),
"GATEWAY_URL": "https://open-sea-global.alipay.com",
"PAYMENT_NOTIFY_URL": "https://your-domain.com/notify"
}
}
}
}]
# Create your AI assistant with payment capabilities
bot = Assistant(
llm={'model': 'qwen-max', 'api_key': 'your-api-key'},
function_list=tools,
)Changelog
See CHANGELOG.md for a detailed history of changes.
License
This project is licensed under the MIT License.
Acknowledgments
Model Context Protocol for the standard
AlipayPlus Integration for the AlipayPlus payment platform
Available Tools
6 toolscancel_paymentA
The tool is used by the Acquiring Service Provider (ACQP) to proactively cancel a payment when no payment result is received after the payment expires, or when the ACQP closes the payment before receiving the payment result.
Args:
payment_request_id: The request ID of the payment to be canceled, assigned by the ACQP to identify the original payment order.Maximum length: 64 characters
| Name | Required | Description | Default |
|---|---|---|---|
| payment_request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the purpose but not side effects, idempotency, what happens if the payment already completed, or error conditions. This is a significant gap for a cancellation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences: one for purpose and one for the parameter. No fluff or repetition, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, output schema exists), and the purpose is clear. However, it lacks behavioral details like idempotency, reversibility, or error handling, which is expected for a cancellation action. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, so the description compensates fully by explaining that `payment_request_id` is assigned by the ACQP, identifies the original payment order, and has a maximum length of 64 characters. This adds meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels a payment, and specifies the exact conditions (no payment result received after expiry, or ACQP closes before result). This distinguishes it from sibling tools like create_payment, query_payment, and create_refund.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (proactive cancellation after expiry or early closure) but does not explicitly mention when not to use it or alternatives. It implies usage but lacks direct exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_paymentA
The tool is used by the Acquiring Service Provider (ACQP) to send a request to Alipay+ to place orders.
Args:
payment_request_id: TThe unique ID assigned by a merchant to identify a payment request. Maximum length: 64 characters
order_amount_currency: The transaction currency that is specified in the contract. A 3-letter currency code that follows the ISO 4217 standard.Maximum length: 3 characters
order_amount_value: The amount to charge as a positive integer in the smallest currency unit. (That is, 100 cents to charge $1.00, or 100 to charge JPY 100, a 0-decimal currency).Value range: 1 - unlimited
order_description: Summary description of the order, which is used for user consumption records display or other further actions.Maximum length: 256 characters
| Name | Required | Description | Default |
|---|---|---|---|
| order_description | Yes | ||
| order_amount_value | Yes | ||
| payment_request_id | Yes | ||
| order_amount_currency | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states the action (sending a request to place orders) without mentioning side effects, error scenarios, idempotency, or whether the operation is synchronous. This is insufficient for a payment creation tool that likely has significant side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description opens with a clear purpose statement and follows with structured parameter documentation. It is appropriately sized for four parameters, with no wasted sentences. Minor issues like the typo 'TThe' and the slightly verbose example in order_amount_value slightly detract from an otherwise clean structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose and all parameters, and an output schema exists to explain return values. However, it lacks usage guidelines and deeper behavioral transparency, such as when to use this tool versus siblings or what side effects to expect. This makes it only partially complete for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section provides detailed semantics for all four parameters, including format constraints (ISO 4217, max lengths), value ranges, and examples (e.g., smallest currency unit). This fully compensates for the 0% schema description coverage, adding significant meaning beyond the plain parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool sends a request to Alipay+ to place orders, specifying the actor (ACQP) and the resource (orders). This distinguishes it from sibling tools like query_payment and cancel_payment, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a payment order via Alipay+, but it does not explicitly state when to use this tool versus alternatives like query_payment or create_refund. No exclusions, prerequisites, or alternative tool references are provided, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_refundA
The tool is used by the Acquiring Service Provider (ACQP) to initiate a refund of a successful payment.The refund can be full or partial. A transaction can have multiple refunds as long as the total refund amount is less than or equal to the original transaction amount.
Args:
payment_request_id: The request ID of the payment to be refunded, assigned by the ACQP to identify the original payment order.Maximum length: 64 characters
refund_request_id: The unique ID that is assigned by the ACQP to identify a refund request. Maximum length: 64 characters.
refund_amount_value: The amount to charge as a positive integer in the smallest currency unit. (That is, 100 cents to charge $1.00, or 100 to charge JPY 100, a 0-decimal currency).Value range: 1 - unlimited
refund_currency: The currency code of the amount. The value of this parameter must be an alphabetic code that follows the ISO 4217 standard, for example, "EUR" for Euros.
| Name | Required | Description | Default |
|---|---|---|---|
| refund_currency | Yes | ||
| refund_request_id | Yes | ||
| payment_request_id | Yes | ||
| refund_amount_value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains key behavior: refunds can be full or partial, multiple refunds are allowed, and total refunds cannot exceed the original amount. However, it omits details like authorization requirements, error conditions, or reversibility, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a concise overview of purpose and behavior followed by a clear Args list. It is slightly verbose due to parameter details, but every sentence adds value, and the structure aids scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 required parameters and no enums or nesting, the description covers the core semantics and business rules. An output schema exists, so return values need not be described. Minor gaps remain (e.g., error handling), but the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a detailed Args section that explains every parameter: purpose, assignment, maximum length, value ranges, and currency standard. Since schema coverage is 0%, this fully compensates and adds significant meaning beyond the bare property titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'initiate a refund of a successful payment.' It names the actor (ACQP), the resource (payment refund), and the action (initiate), distinguishing it from siblings like create_payment and cancel_payment. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: it is for refunds of successful payments, and it specifies constraints (full or partial, total refunds <= original amount). It does not explicitly mention alternatives or exclusions, but the context is sufficient to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customs_declareA
The tool is used by the Acquiring Service Provider (ACQP) to declare a payment to customs or update an existing declaration.
Args:
payment_request_id: The unique ID that is assigned by the ACQP to identify a payment request for the order.Maximum length: 64 characters
customs_declaration_request_id: The unique ID that is assigned by the merchant to identify a customs declaration request. This parameter is not provided for the customs. Maximum length: 64 characters
declaration_amount_value: The customs declaration amount as a natural number.Value range: 1 - unlimited
customs_code: The customs code (in either uppercase or lowercase). Maximum length: 128 characters
merchant_customs_code: The merchant code that is registered in the customs system. Maximum length: 128 characters
merchant_customs_name: The merchant name that is registered in the customs system. Maximum length: 256 characters
is_split: This parameter indicates whether the payment order needs to be split for declaration. Valid values are:
true: indicates that order splitting is needed.
false: indicates that order splitting is not needed.
reference_order_id: The unique ID that is assigned by the merchant to identify an order that needs to be declared to the customs. Maximum length: 64 characters
| Name | Required | Description | Default |
|---|---|---|---|
| is_split | Yes | ||
| customs_code | Yes | ||
| payment_request_id | Yes | ||
| reference_order_id | Yes | ||
| merchant_customs_code | Yes | ||
| merchant_customs_name | Yes | ||
| declaration_amount_value | Yes | ||
| customs_declaration_request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the operation ('declare or update') but does not disclose potential side effects, required permissions, reversibility, or consequences of updating. This is a significant gap for a mutation-oriented tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: it opens with a clear purpose statement, then lists each parameter in a compact but informative format. Every sentence contributes value, and there is no filler or redundancy. The formatting is consistent and readable despite the length needed for 8 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 required parameters) and the lack of annotations, the description is largely complete: it covers all parameters thoroughly, specifies value constraints, and defines the operation. However, it does not address edge cases such as error handling, idempotency, or how 'update' interacts with an existing declaration, which would round out completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description coverage (0%), but the tool description compensates thoroughly. Every parameter is explained with meaningful details: value ranges ('1 - unlimited'), maximum lengths, valid boolean values ('true'/'false'), and ownership context ('assigned by the ACQP', 'assigned by the merchant'). This fully adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'used by the Acquiring Service Provider (ACQP) to declare a payment to customs or update an existing declaration.' This provides a specific verb ('declare'/'update') and resource ('payment to customs'), distinguishing it from sibling tools like query_customs_declare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (declaring or updating customs declarations) but does not explicitly state when to prefer this tool over alternatives, nor does it mention exclusions. For example, no guidance like 'use query_customs_declare for retrieving declaration status' is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_customs_declareA
The tool is used by the Acquiring Service Provider (ACQP) to inquire about the status of declared payments.
Args:
declaration_request_ids: The unique declaration request IDs that are assigned by the merchant to identify declaration requests. Up to 10 declaration request IDs are supported at a time. Maximum length: 64 characters. Maximum size: 10 elements
| Name | Required | Description | Default |
|---|---|---|---|
| declaration_request_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states this is an inquiry (implying read-only) and provides constraints on request IDs. It does not explicitly confirm non-mutating behavior or describe error handling, but the inquiry nature is clear. This is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short and front-loaded with purpose, followed by parameter details. The 'Args:' section is useful and not redundant. There is minor awkwardness in the first sentence but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter query tool with an output schema, the description covers purpose, usage context, and parameter constraints. It does not discuss alternative tools, but that is not required for completeness of the tool's own operation. The presence of an output schema means return values are already specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only specifies an array of strings, but the description explains the IDs are merchant-assigned declaration request IDs, unique, with a maximum length of 64 characters and maximum 10 elements. This fully compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'inquire about the status of declared payments' for the Acquiring Service Provider. The verb 'inquire' and resource 'declared payments' are specific, and the tool name query_customs_declare distinguishes it from sibling tools like create_payment or customs_declare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to inquire about the status of declared payments, which is distinct from sibling tools like query_payment for regular payments. However, it does not explicitly state when not to use it or mention alternatives, so it misses the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_paymentA
The tool is used by the Acquiring Service Provider (ACQP) to query the payment result if no payment result is received after a certain period of time.
Args:
payment_request_id: The unique ID that is assigned by a merchant to identify a payment request.Maximum length: 64 characters
| Name | Required | Description | Default |
|---|---|---|---|
| payment_request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'query' implies a read-only operation, but it does not explicitly state side effects, permissions, or error behavior. It adds context about polling after timeout, but misses details about return format or idempotency, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, each earning its place. The first sentence states purpose and usage context; the second describes the parameter. No unnecessary fluff, and the structure is clean and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with one parameter and an output schema present, the description covers purpose, parameter, and usage context. It does not explain return values, but the output schema likely covers that. It could mention permission requirements or example usage, but the current level is sufficient for a straightforward polling query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the tool description fully explains the only parameter: payment_request_id, including its role (assigned by merchant) and maximum length (64 characters). This adds significant meaning beyond the bare schema field name, compensating well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'query' and the resource 'payment result', and specifies the context (when no payment result is received). This distinguishes it from sibling tools like create_payment and cancel_payment, which are mutations, and query_customs_declare, which targets a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear when-to-use condition: 'if no payment result is received after a certain period of time'. It does not explicitly name alternatives or exclusions, but the condition effectively frames appropriate usage. Sibling tool names provide contextual differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.1- First observed
cancel_payment - First observed
create_payment - First observed
create_refund - First observed
customs_declare - First observed
query_customs_declare - First observed
query_payment
TDQS
Each tool targets a distinct operation: payment creation, payment query, payment cancellation, refund creation, customs declaration, and customs query. No overlap exists, and the purposes are clearly separated.
Most tools follow a clear verb_noun pattern (create_payment, query_payment, cancel_payment, create_refund). However, 'customs_declare' and 'query_customs_declare' use a different structure, deviating from the pattern established by the other tools.
With 6 tools, the set is well-scoped for a payment processing server. Each tool covers a distinct aspect of the payment lifecycle, and the number is neither too small nor excessive.
The server covers the main payment operations (create, query, cancel) and refunds, but lacks a dedicated refund query tool. While refunds can be initiated, agents cannot independently verify refund status, which is a notable gap in lifecycle coverage.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hong Kong payments for AI agents — Alipay / WeChat Pay via Stripe. Never holds funds.
Taiwan payments (ECPay 綠界 + NewebPay 藍新) & e-invoices for AI agents. Stateless, never holds funds.
First AI Agent e-commerce marketplace with 74+ AI products, MCP protocol, and Alipay payments
Vietnam payments for AI agents — MoMo wallet QR, ATM, cards. Zero-setup sandbox. Never holds funds.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with multiple payment providers (Stripe, Paystack) through a unified API. Supports payment initialization, verification, refunds, customer management, and invoicing without requiring knowledge of specific provider implementations.2-

Antom MCP Serverofficial
AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) compatible server that integrates Ant International's Antom payment APIs, enabling AI assistants to handle payment and refund operations seamlessly.57MIT- FlicenseNot gradedqualityDmaintenanceEnables AI agents to integrate the SIBS payment gateway, providing tools for creating checkouts, checking payment status, issuing refunds, and generating Multibanco references directly through natural language.-
- AlicenseAqualityBmaintenanceAn MCP server that exposes Alipay AI Pay capabilities to AI agents, enabling skill discovery, payment integration guides, and merchant onboarding workflows via Alipay's payment APIs.4114MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alipay/global-alipayplus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server