maib-mcp
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., "@maib-mcpCreate a payment for 250 MDL for a book purchase"
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.
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 a new MAIB payment |
| Get payment details by ID |
| Refund a payment |
| Create recurring payment |
| Get subscription details |
| Cancel a subscription |
| One-click payment with saved card |
| 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 |
| Yes | OAuth client ID from MAIB developer portal |
| Yes | OAuth client secret |
| 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 toolscancel_recurringB
Cancel a recurring subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_id | Yes | Recurring subscription ID to cancel |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| biller_id | Yes | Saved card biller ID from initial payment | |
| amount | Yes | Payment amount | |
| currency | No | Currency code | MDL |
| description | No | Payment description |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Payment amount | |
| currency | No | Currency code (MDL, USD, EUR) | MDL |
| description | Yes | Payment description | |
| callback_url | Yes | Callback URL for payment notifications | |
| order_id | Yes | Your unique order ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Recurring payment amount | |
| token | Yes | Saved card token from initial payment | |
| description | Yes | Payment description | |
| currency | No | Currency code | MDL |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_id | Yes | MAIB payment ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_id | Yes | Recurring subscription ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_id | Yes | MAIB transaction ID |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| payment_id | Yes | MAIB payment ID to refund | |
| amount | Yes | Refund amount |
TDQS
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.
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.
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.
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.
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.
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.
8 tool updates
v1.0.1- First observed
cancel_recurring - First observed
create_one_click_payment - First observed
create_payment - First observed
create_recurring - First observed
get_payment - First observed
get_recurring - First observed
get_transaction_status - First observed
refund_payment
TDQS
Each tool targets a distinct action (create, get, refund, cancel) on specific resources (payment, recurring, transaction). No overlap or ambiguity.
All tools follow a consistent verb_noun snake_case pattern (e.g., create_payment, get_recurring), making them predictable.
8 tools cover the essential payment operations without bloat. The scope is appropriate for an e-commerce payment server.
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
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
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP 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.35MIT
- AlicenseBqualityDmaintenanceMCP server for VNPay payment gateway (Vietnam). Supports payment URL generation, transaction queries, refunds, tokenized payments, and IPN verification with HMAC-SHA512 signing.810MIT
- AlicenseAqualityBmaintenanceMCP server for PayMongo payment gateway (Philippines). Supports payment intents, sources, payments, refunds, and checkout sessions via Basic Auth.24202MIT
- AlicenseAqualityAmaintenanceMCP server for JazzCash mobile wallet and payments (Pakistan). Supports wallet payments, mobile account payments, vouchers, refunds, and balance inquiries.5131MIT
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/theYahia/maib-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server