Skip to main content
Glama
alipay

AlipayPlus MCP Server

Official
by alipay

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 transactions

  • Query Payment (query_payment): Retrieve transaction status and information for submitted payment requests

  • Cancel 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 declaration

  • Query 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

uvx ant-intl-alipayplus-mcp

Install with pip

pip install ant-intl-alipayplus-mcp

Install with uv

uv install ant-intl-alipayplus-mcp

Install from Source

git clone https://github.com/alipay/global-alipayplus-mcp.git
cd global-alipayplus-mcp
uv install

Requirements

  • 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

GATEWAY_URL

AlipayPlus API gateway URL (defaults to https://open-sea-global.alipay.com)

CLIENT_ID

Merchant client ID for identity verification

MERCHANT_PRIVATE_KEY

Merchant RSA private key for request signing

ALIPAY_PUBLIC_KEY

Alipay RSA public key for response verification

PAYMENT_REDIRECT_URL

URL to redirect after payment (defaults to empty string)

PAYMENT_NOTIFY_URL

Payment result notification callback URL (defaults to http://localhost:8080/notify)

SETTLEMENT_CURRENCY

Currency for settlement (defaults to empty string)

MERCHANT_NAME

Merchant name (defaults to "Alipayplus MCP")

MERCHANT_ID

Merchant ID (defaults to "M0000000001")

MERCHANT_MCC

Merchant Category Code (defaults to "5411")

MERCHANT_REGION

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

Available Tools

6 tools
cancel_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
    
ParametersJSON Schema
NameRequiredDescriptionDefault
payment_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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
    
ParametersJSON Schema
NameRequiredDescriptionDefault
order_descriptionYes
order_amount_valueYes
payment_request_idYes
order_amount_currencyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
refund_currencyYes
refund_request_idYes
payment_request_idYes
refund_amount_valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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
    
ParametersJSON Schema
NameRequiredDescriptionDefault
is_splitYes
customs_codeYes
payment_request_idYes
reference_order_idYes
merchant_customs_codeYes
merchant_customs_nameYes
declaration_amount_valueYes
customs_declaration_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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
    
ParametersJSON Schema
NameRequiredDescriptionDefault
declaration_request_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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
    
ParametersJSON Schema
NameRequiredDescriptionDefault
payment_request_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 6 tool updatesv1.0.1
    • First observedcancel_payment
    • First observedcreate_payment
    • First observedcreate_refund
    • First observedcustoms_declare
    • First observedquery_customs_declare
    • First observedquery_payment

TDQS

A4/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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
    -
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) compatible server that integrates Ant International's Antom payment APIs, enabling AI assistants to handle payment and refund operations seamlessly.
    5
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -

Latest Blog Posts

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