Netherlands Payments (Mollie — iDEAL)
Server Details
Netherlands payments for AI agents — iDEAL via Mollie. Never holds funds.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 7 of 7 tools scored.
Each tool targets a distinct action or resource: payments vs subscriptions, creation vs activation vs cancellation, and separate query and refund operations. No overlap in purpose.
All tool names consistently use the verb_noun pattern with underscores (e.g., create_payment_link, query_subscription), making them predictable for an agent.
With 7 tools, the server is well-scoped for Netherlands payments via Mollie, covering both one-time payments and subscriptions without being too sparse or bloated.
Core CRUD-like operations are present for payments (create, status, refund) and subscriptions (create link, activate, cancel, query). Minor gaps: no listing of all payments or subscriptions, and no update for subscription parameters.
Available Tools
7 toolsactivate_subscriptionAIdempotentInspect
Second step of the Mollie subscription flow. After the buyer has opened the create_subscription_link URL and paid the first payment (which authorizes the mandate), call this with the customer_id and payment_id that create_subscription_link returned. If the mandate is now valid it creates the recurring subscription (for the periods after the first payment) and returns subscription_id (sub_...). If the buyer has NOT finished authorizing yet, it does NOT error — it returns activated=false with a readable mandate_status so you can keep polling (call query_subscription, wait ~20s, then call activate_subscription again). Idempotent: if the subscription already exists it returns the existing one. The plan parameters (amount / period / interval / total_count) were stored on the first payment, so you do not re-supply them here.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_id | Yes | The payment_id (tr_...) returned by create_subscription_link (it carries the stored plan parameters). | |
| customer_id | Yes | The customer_id (cst_...) returned by create_subscription_link. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes behavior beyond annotations: explains that it does not error if buyer hasn't finished authorizing, instead returns activated=false with readable mandate_status. Confirms idempotency (returns existing subscription) and that plan parameters are not re-supplied. No contradiction with annotations (idempotentHint=true, etc.).
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 fairly detailed but each sentence serves a purpose. It is front-loaded with the core function and flow. Minor redundancy (e.g., 'call this with the customer_id and payment_id') but overall 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?
Thoroughly explains the two-step activation, polling behavior, idempotency, and parameter origins. Although there is no output schema, the description explicitly states the possible return values (subscription_id or activated=false with mandate_status), which is sufficient for the agent to handle both outcomes.
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. Description adds context: payment_id carries stored plan parameters, and both IDs come from create_subscription_link. This helps the agent understand the source and role of each parameter.
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 it is the second step of the Mollie subscription flow, activates the subscription after first payment. Distinguishes from 'create_subscription_link' (first step) and 'query_subscription' (for polling).
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?
Explicitly says when to use: after buyer has opened the create_subscription_link URL and paid the first payment. Provides a clear flow: if mandate valid, creates subscription; if not, returns activated=false and instructs to poll with query_subscription and retry after ~20s. Also mentions idempotency and that plan parameters are already stored.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_subscriptionADestructiveInspect
Cancel a the Netherlands subscription so it stops charging. Pass the customer_id (cst_...) and the subscription_id (sub_...) from activate_subscription / query_subscription. Mollie cancellation is immediate — no further billing periods are charged. (If the buyer never authorized the mandate, there is nothing to cancel; just let the first payment expire.)
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | The customer_id (cst_...) the subscription belongs to. | |
| subscription_id | Yes | The subscription_id (sub_...) to cancel — get it from activate_subscription or query_subscription. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description adds critical behavioral details: 'Mollie cancellation is immediate — no further billing periods are charged' and the note about mandate expiration. This goes beyond annotations by disclosing the exact nature and consequences of the destructive action.
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?
Three sentences with no fluff: first sentence states purpose and effect, second provides parameter guidance, third adds a conditional note. Front-loaded with the most important information, every sentence earns its place.
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?
Covers the key behavioral aspects (immediate cancellation, no further charges, special case for unauthorized mandates). Lacks mention of return values or error states, but given no output schema and the tool's simplicity, it is largely complete for 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% with clear descriptions for both parameters. The description reinforces the ID format (cst_..., sub_...) and tells where to obtain them (from activate_subscription/query_subscription), adding useful usage context beyond the 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 verb (cancel) and resource (the Netherlands subscription), specifies the effect (stops charging, immediate cancellation), and distinguishes from siblings like activate_subscription and query_subscription. The phrase 'Cancel a the Netherlands subscription so it stops charging' is direct and unambiguous.
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?
Provides clear context by specifying the source of IDs (from activate_subscription/query_subscription) and includes a conditional note about mandate authorization (when not to use). While it doesn't explicitly contrast with siblings, it gives practical guidance for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_payment_linkAInspect
Create a payment link in EUR for the Netherlands via Mollie. Buyer pays with iDEAL (the rail Dutch buyers actually use), cards, Bancontact, and other methods enabled on the Mollie account. Returns a hosted checkout URL the buyer opens to pay — payment completes automatically, no confirm step. Bring your own credentials via HTTP header (x-mollie-api-key; free test credentials from my.mollie.com never move real money). Money always flows buyer→Mollie→merchant; this service never touches funds.
| Name | Required | Description | Default |
|---|---|---|---|
| amount_eur | Yes | Amount in EUR (decimals allowed), e.g. 10. Minimum 1. | |
| description | Yes | What this payment is for (shown to the buyer, ≤200 chars) | |
| success_url | No | Optional https URL to send the buyer to after payment. | |
| customer_email | No | Optional buyer email. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the payment flow, automatic completion, money transfer path, and credential requirement, adding significant behavioral context beyond annotations (readOnlyHint=false, destructiveHint=false) without contradiction.
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?
Two sentences with essential information front-loaded, but could be slightly more concise. Still efficiently conveys key details.
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?
Covers payment flow, credential requirement, and parameter context adequately for a tool with 4 parameters, 100% schema coverage, and no output schema. No major gaps.
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 baseline is 3. Description adds minimal extra meaning beyond schema descriptions (e.g., 'shown to buyer' for description, 'decimals allowed' for amount_eur).
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 ('Create a payment link') with specific context (EUR, Netherlands, Mollie, iDEAL), distinguishing it from the sibling tool 'query_payment_status' which focuses on status queries.
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?
Provides context on payment methods and credential requirements, but does not explicitly state when to prefer this tool over alternatives or exclude other currencies/regions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subscription_linkAInspect
Create a recurring subscription in EUR for the Netherlands via Mollie (SEPA Direct Debit set up via iDEAL, cards, PayPal — whatever recurring methods are enabled on the Mollie account). Mollie recurring is a two-step, honest flow (there is no single call that returns a ready subscription, because the buyer must authorize a mandate first): this tool creates a Mollie customer and a FIRST payment (sequenceType=first) and returns a hosted checkout URL. The buyer opens it once and pays — that first payment IS the first billing period AND authorizes the mandate. Then call activate_subscription with the returned customer_id and payment_id to start the recurring plan for the remaining periods. amount_eur is charged PER billing period. Requires x-mollie-api-key. Respects the same owner policy guardrails (x-agentpay-max-amount / x-agentpay-approval-above) as payments — the per-period amount is checked before anything is created. Money always flows buyer→Mollie→merchant; this service never touches funds.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Billing period. Default "monthly". | |
| interval | No | Charge every N periods (period=monthly, interval=3 = every 3 months). Default 1. (Yearly is billed as 12-month intervals; interval multiplies that.) | |
| amount_eur | Yes | Amount charged PER billing period, in EUR (decimals allowed), e.g. 9.99. Minimum 1. | |
| description | Yes | What the subscription is for (shown to the buyer; also used as the Mollie subscription description, ≤200 chars). | |
| success_url | No | Optional https URL to send the buyer to after they authorize/pay the first payment. | |
| total_count | No | Total number of billing periods to charge, INCLUDING the first payment (e.g. 12 monthly = one year). Omit for an open-ended subscription that renews until cancelled. | |
| customer_name | No | Optional buyer name (stored on the Mollie customer). | |
| customer_email | No | Optional buyer email (Mollie sends receipts there). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses two-step flow, creation of Mollie customer and first payment, return of hosted checkout URL, auth requirements, and money flow. No contradiction with annotations (readOnlyHint false, destructiveHint false).
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?
Somewhat long but every sentence adds unique value. Front-loaded with core purpose. Could be slightly streamlined but not wasteful.
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?
Extremely detailed given 8 params and no output schema. Covers the full flow, prerequisites, constraints, and what the tool returns (hosted checkout URL, customer_id, payment_id). No gaps.
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%, but description adds value: explains amount_eur per billing period, interval multiplies period, total_count includes first payment, and purpose of each param. Provides context beyond 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 creates a recurring subscription via Mollie for the Netherlands. It specifies the two-step honest flow, distinguishes from sibling tools like create_payment_link and activate_subscription, and uses specific verb+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?
Explicit guidance on when to use this tool (initiate subscription) and follow-up step (call activate_subscription). It mentions prerequisites (x-mollie-api-key, owner policy) and excludes the notion of a single-call subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_payment_statusARead-onlyInspect
Check whether a the Netherlands payment (created by create_payment_link) has been paid. Queries Mollie directly — pull-based, no webhook needed. paid=true when status is PAID.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_id | Yes | The payment_id (tr_...) returned by create_payment_link |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, openWorldHint), description adds that it queries Mollie directly, is pull-based, and indicates the output condition 'paid=true when status is PAID'. No contradictions.
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?
Two sentences with no waste; front-loaded verb and resource. Every word serves a purpose.
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?
Complete for a simple tool with one parameter and no output schema. Explains purpose, method (pull-based), and result interpretation. References sibling for clarity.
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 parameter description tying payment_id to create_payment_link. Description contextualizes with 'the Netherlands payment', adding slight value beyond 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?
Description clearly states the tool checks payment status for Netherlands payments created by sibling create_payment_link. Verb 'check' and resource 'payment status' are specific, and it distinguishes from create_payment_link which creates payments.
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?
Provides context that it queries Mollie directly and is pull-based, implying use when you need immediate status without waiting for a webhook. Could explicitly state 'when not to use', but the guidance is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_subscriptionARead-onlyInspect
Check a the Netherlands subscription. Pass customer_id alone for an overview: status AWAITING_AUTHORIZATION (buyer has not authorized the mandate yet — keep polling / call activate_subscription), MANDATE_VALID (buyer authorized; call activate_subscription now to start the recurring plan), or ACTIVE (a subscription is running; subscription_id is returned). Pass customer_id AND subscription_id (sub_...) to check one subscription directly: ACTIVE | PENDING | CANCELED | SUSPENDED | COMPLETED, with next_charge_date. Pull-based — no webhook needed.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | The customer_id (cst_...) returned by create_subscription_link. | |
| subscription_id | No | Optional subscription_id (sub_...) from activate_subscription to check one subscription directly. Omit for a mandate + subscription overview. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. Description adds valuable behavioral details: status values with explanations, that it's pull-based, and no webhook needed. No contradictions with annotations.
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?
Well-structured with a logical flow from overview to specific check. Contains some detail on statuses, but each sentence adds value. Could be slightly more concise, but overall 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?
Comprehensive for a read tool with no output schema: covers two parameter modes, all relevant statuses, and mentions pull-based nature. Lacks error handling or edge cases, but sufficient for typical usage.
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 baseline is 3. Description adds significant meaning: explains the two usage modes, provides example statuses for each mode, and clarifies the difference between an overview and a direct subscription check.
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 'Check' and the resource 'the Netherlands subscription'. Distinguishes between two modes: overview with only customer_id and specific check with subscription_id, differentiating it from sibling tools like activate_subscription or cancel_subscription.
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?
Provides explicit when to use each parameter combination: overview vs specific subscription check. Mentions related tools like activate_subscription for context. Lacks explicit 'when not to use', but the purpose and sibling list make it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refund_paymentADestructiveInspect
Refund a paid payment (created by create_payment_link). Full refund by default; pass amount for a partial refund where supported. Refunds respect the same owner policy guardrails (x-agentpay-max-amount) as payments — the amount is checked before anything is sent to the gateway.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Optional partial-refund amount in the local currency major unit. Omit for a full refund. | |
| payment_id | Yes | The payment_id of the paid payment (same id used by query_payment_status) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that refunds respect owner policy guardrails and that the amount is checked before gateway interaction. Annotations already set destructiveHint=true and readOnlyHint=false; description adds operational detail without contradiction.
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?
Two sentences covering purpose, default behavior, partial refund option, and guardrails. No redundant or extraneous content. Front-loaded with the core action.
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?
With 2 parameters, no output schema, and annotations present, the description adequately covers what the tool does, how to use it (full vs partial), and safety checks. Lacks information about return values or error states, but this is acceptable without an output schema.
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 both parameters with descriptions (100% coverage). The tool description adds little beyond the schema: it reiterates that amount is optional for partial refunds. Baseline 3 is appropriate as the schema already provides sufficient meaning.
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 begins with 'Refund a paid payment (created by create_payment_link)', clearly identifying the verb (Refund) and resource (paid payment). It distinguishes from siblings by referencing the creation tool and omitting query/status operations.
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?
States when to use: refund of a paid payment. Provides default behavior (full refund) and variant (partial via amount). Mentions guardrails (x-agentpay-max-amount). Does not explicitly list when not to use, but context with sibling tools implies no overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!