Skip to main content
Glama

maib-mcp

MCP server for MAIB e-commerce payments (Moldova). Supports payments, refunds, recurring billing, one-click payments, and transaction status via OAuth 2.0.

Tools (8)

Tool

Description

create_payment

Create a new MAIB payment

get_payment

Get payment details by ID

refund_payment

Refund a payment

create_recurring

Create recurring payment

get_recurring

Get subscription details

cancel_recurring

Cancel a subscription

create_one_click_payment

One-click payment with saved card

get_transaction_status

Get detailed transaction status

Related MCP server: vnpay-mcp

Quick Start

{
  "mcpServers": {
    "maib": {
      "command": "npx",
      "args": ["-y", "@theyahia/maib-mcp"],
      "env": {
        "MAIB_CLIENT_ID": "<YOUR_CLIENT_ID>",
        "MAIB_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "MAIB_PROJECT_ID": "<YOUR_PROJECT_ID>"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

MAIB_CLIENT_ID

Yes

OAuth client ID from MAIB developer portal

MAIB_CLIENT_SECRET

Yes

OAuth client secret

MAIB_PROJECT_ID

Yes

Project ID from MAIB dashboard

Demo Prompts

  • "Create a payment for 500 MDL for an electronics order"

  • "Check payment status for pay-12345"

  • "Refund 200 MDL from payment pay-67890"

  • "Create a one-click payment of 100 MDL using saved card biller-001"

  • "Set up a recurring payment of 50 MDL"

License

MIT

Available Tools

8 tools
cancel_recurringB

Cancel a recurring subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYesRecurring subscription ID to cancel

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only states the action without disclosing effects (immediate cancellation? prorated refund?), error conditions, or idempotency.

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?

Single sentence is concise and front-loaded with the key action. However, it is too sparse for the required information density, earning a slight penalty.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one param, no output schema), the description lacks critical behavioral context for cancellation, such as idempotency, error handling, or post-cancellation state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the single parameter fully (100% coverage) with a clear description. The tool description adds no additional semantics beyond the schema, resulting in baseline score.

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 action ('cancel') and resource ('recurring subscription'), effectively distinguishing it from sibling tools like create_recurring (opposite) and get_recurring (read-only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., refund_payment) or prerequisites (e.g., subscription must be active). Missing context about cancellation consequences.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_one_click_paymentC

Create a one-click payment with a saved card.

ParametersJSON Schema
NameRequiredDescriptionDefault
biller_idYesSaved card biller ID from initial payment
amountYesPayment amount
currencyNoCurrency codeMDL
descriptionNoPayment description

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It mentions 'with a saved card' but fails to explain that biller_id must come from a previous payment, nor does it describe side effects or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence), but it is too terse for a tool with 4 parameters and important prerequisites. It could be slightly longer to add value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without output schema, the description should explain return values or success indications. It does not address prerequisites or typical usage flow, leaving significant gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and the resource 'one-click payment with a saved card,' distinguishing it from generic payment creation tools. However, it could be more precise about the exact scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like create_payment or create_recurring. The description does not mention prerequisites (e.g., need a prior payment to save the card).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_paymentB

Create a new MAIB e-commerce payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesPayment amount
currencyNoCurrency code (MDL, USD, EUR)MDL
descriptionYesPayment description
callback_urlYesCallback URL for payment notifications
order_idYesYour unique order ID

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description only states 'create a new payment' but does not disclose idempotency, authorization requirements, side effects, or what happens on success/failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence is concise, but it lacks structure (e.g., no bullet points or sections) and may omit critical details for a creation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and minimal description leave the agent without understanding of return values, error states, or integration points like callback handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no additional meaning beyond parameter names and types. Baseline 3 is appropriate because the description does not enhance understanding of how parameters interact.

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 uses a specific verb ('Create') and a clear resource ('MAIB e-commerce payment'), which distinguishes it from sibling tools like refund_payment or cancel_recurring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like create_recurring or create_one_click_payment. The agent must infer context from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_recurringC

Create a recurring payment with a saved card token.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesRecurring payment amount
tokenYesSaved card token from initial payment
descriptionYesPayment description
currencyNoCurrency codeMDL

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. Indicates mutation but fails to disclose side effects (e.g., immediate charge, scheduling details) or permissions needed. Minimal behavioral insight beyond the action itself.

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?

Single sentence, front-loaded with key information. While concise, it sacrifices necessary detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should explain return value (e.g., recurring payment ID). Also lacks context on idempotency, authorization, or scheduling behavior. Given sibling tools and complexity, description is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters (100% coverage), so baseline is 3. Description adds no extra meaning beyond what the schema provides; e.g., does not clarify that amount is in smallest currency unit or token format expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (create) and resource (recurring payment) with a specific requirement (saved card token). However, it does not differentiate from siblings like create_payment or create_one_click_payment, leaving ambiguity about when to choose this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like cancel_recurring or create_payment. No prerequisites mentioned (e.g., requiring an initial payment first).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paymentB

Get payment details by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_idYesMAIB payment ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description gives minimal behavioral information. Does not state that the tool is read-only, lacks details on authentication, error scenarios, or response structure.

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?

Single sentence is very concise with no filler. However, the brevity sacrifices necessary details for completeness. Front-loaded with the core action, but could be expanded slightly.

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?

For a simple get-by-ID tool with one parameter and no output schema, the description is adequate but fails to specify what 'details' entails, potential errors, or pagination. Lacks completeness for safe agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter payment_id, described as 'MAIB payment ID'. The description adds no additional detail beyond what the schema already provides, so baseline score of 3 is appropriate.

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?

Clearly states the verb 'Get' and resource 'payment details by ID', distinguishing it from sibling tools like cancel, create, refund, and get_recurring which operate on different payment resources or actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as get_recurring or get_transaction_status. Lacks information about prerequisites or context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recurringC

Get recurring subscription details.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYesRecurring subscription ID

TDQS

C2.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 full responsibility for behavioral disclosure. It only states 'Get' which implies a read operation, but fails to mention any behavioral traits such as authentication requirements, error handling, rate limits, or response structure.

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 extremely concise at one sentence. While it could include more detail, it is front-loaded with the key action and resource, and has no unnecessary words.

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?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description provides minimal context. It is adequate for a basic retrieval but lacks completeness regarding return values or typical use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the subscription_id parameter has a description in the schema). The tool description does not add extra meaning beyond the schema, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'recurring subscription details', making the purpose unambiguous. It distinguishes from sibling tools like get_payment by focusing on recurring subscriptions, though no explicit sibling comparison is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is given beyond the basic purpose. There is no mention of when to use this tool versus alternatives like cancel_recurring or create_recurring, nor any context about prerequisites or typical scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transaction_statusC

Get detailed transaction status.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesMAIB transaction ID

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose whether the tool is read-only, requires authentication, or has any side effects. The term 'detailed' is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is efficient but lacks detail. It is not overly verbose, but it may be too short to be fully informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description should compensate with more context (e.g., what fields are returned, prerequisites), but it does not. The tool is simple but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'transaction_id' with a concise description. The tool description does not add extra meaning beyond the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb-resource combination ('Get detailed transaction status') distinguishes it from sibling tools like get_payment and get_recurring, though 'detailed' is subjective.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_payment or get_recurring; the description is too minimal to help with tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refund_paymentB

Refund a payment (full or partial).

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_idYesMAIB payment ID to refund
amountYesRefund amount

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It implies a mutation but fails to disclose effects on payment status, required permissions, or reversibility. No details on side effects or error conditions.

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?

A single sentence that is direct and efficient. No wasted words. Front-loaded with purpose and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a simple tool, the description lacks context about output, error handling, constraints (e.g., amount must not exceed original), and post-refund state. Without output schema or annotations, more detail is needed.

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 coverage is 100% with descriptions for both parameters. The description adds the nuance 'full or partial' which clarifies the allowed range for 'amount'. This adds value beyond the schema's 'Refund amount'.

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 'Refund' and the resource 'payment', and adds scope clarification 'full or partial'. This distinguishes it from sibling tools like create_payment (creates) and cancel_recurring (cancels recurring).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives. Does not mention prerequisites (e.g., payment must be settled) or exclusions. Sibling tools like get_payment or cancel_recurring are not differentiated.

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. 8 tool updatesv1.0.1
    • First observedcancel_recurring
    • First observedcreate_one_click_payment
    • First observedcreate_payment
    • First observedcreate_recurring
    • First observedget_payment
    • First observedget_recurring
    • First observedget_transaction_status
    • First observedrefund_payment

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct action (create, get, refund, cancel) on specific resources (payment, recurring, transaction). No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., create_payment, get_recurring), making them predictable.

Tool Count5/5

8 tools cover the essential payment operations without bloat. The scope is appropriate for an e-commerce payment server.

Completeness4/5

Covers core CRUD for payments and recurring, plus refund and status. Missing listing endpoints (e.g., list_payments) but these are not critical for basic workflows.

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

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for T-Kassa (T-Bank/Tinkoff) payment API. Provides 16 tools for payments, refunds, recurring charges, customer management, saved cards, SBP, receipts, and T-Invest portfolio.
    35
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for VNPay payment gateway (Vietnam). Supports payment URL generation, transaction queries, refunds, tokenized payments, and IPN verification with HMAC-SHA512 signing.
    8
    10
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for PayMongo payment gateway (Philippines). Supports payment intents, sources, payments, refunds, and checkout sessions via Basic Auth.
    24
    20
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for JazzCash mobile wallet and payments (Pakistan). Supports wallet payments, mobile account payments, vouchers, refunds, and balance inquiries.
    5
    13
    1
    MIT

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/theYahia/maib-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server