Skip to main content
Glama

Germany Payments (Mollie — Klarna / SEPA)

Server Details

Germany payments for AI agents — Klarna / SEPA via Mollie. Never holds funds.

Status
Unhealthy
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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool addresses a distinct action: subscription activation, cancellation, payment link creation, subscription link creation, status queries for both payments and subscriptions, and refunds. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., activate_subscription, create_payment_link, query_payment_status), making them predictable and easy to understand.

Tool Count5/5

With 7 tools, the set is well-scoped for handling both one-time payments and recurring subscriptions, covering creation, activation, querying, cancellation, and refunds without unnecessary bloat.

Completeness4/5

The tool surface covers the full lifecycle of payments and subscriptions except for listing tools (e.g., list_subscriptions or list_payments) and potentially updating subscriptions, but these are not critical for core workflows.

Available Tools

7 tools
activate_subscriptionA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_idYesThe payment_id (tr_...) returned by create_subscription_link (it carries the stored plan parameters).
customer_idYesThe customer_id (cst_...) returned by create_subscription_link.
Behavior5/5

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

The description goes beyond annotations by explaining non-error behavior on unready state (returns activated=false), idempotency (returns existing subscription), that plan parameters are stored on first payment, and that it returns subscription_id. 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.

Conciseness4/5

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

The description is well-structured and front-loaded, with each sentence providing useful information. While slightly verbose in the idempotency note, it remains efficient.

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

Completeness5/5

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

Covers all necessary context: prerequisites, two-step flow, polling behavior with timeout, idempotency, return values, and what not to supply. Despite no output schema, the description explains the return format adequately.

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?

Both parameters are described as coming from create_subscription_link, with payment_id explicitly noted as containing stored plan parameters. This adds context beyond the 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 positions this as the second step in the subscription flow, detailing its function (trigger recurring subscription creation after first payment). It distinguishes from sibling tools like create_subscription_link and query_subscription by specifying when to call it.

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

Usage Guidelines5/5

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

Explicitly states when to call (after buyer paid and authorized mandate) and when not to (if not finished, it returns activated=false, so keep polling with query_subscription and wait ~20s). Also highlights idempotency, so no need to worry about calling multiple times.

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

cancel_subscriptionA
Destructive
Inspect

Cancel a Germany 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.)

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYesThe customer_id (cst_...) the subscription belongs to.
subscription_idYesThe subscription_id (sub_...) to cancel — get it from activate_subscription or query_subscription.
Behavior5/5

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

Annotations already indicate destructive, non-read-only, non-idempotent behavior. The description adds that cancellation is immediate with no further billing, and handles the mandate edge case. No contradiction.

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?

Three sentences, front-loaded with main action, no redundancy. Every sentence adds necessary information.

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

Completeness5/5

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

Despite no output schema, the description fully covers the mutation's effect (immediate cancellation) and edge case (unauthorized mandate). Complete for agent to understand tool behavior.

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 covers both parameters with 100% description coverage. The description adds value by specifying exactly where to obtain the IDs (from activate_subscription or query_subscription), which aids agent in parameter resolution.

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 Germany subscription to stop charging, with specific required IDs and sourcing instructions. It distinguishes from siblings like activate_subscription and query_subscription.

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

Usage Guidelines5/5

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

Explicitly states when to use (pass customer_id and subscription_id from other tools) and when not to (if mandate not authorized, let payment expire). Provides clear context for appropriate invocation.

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

query_payment_statusA
Read-only
Inspect

Check whether a Germany payment (created by create_payment_link) has been paid. Queries Mollie directly — pull-based, no webhook needed. paid=true when status is PAID.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_idYesThe payment_id (tr_...) returned by create_payment_link
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds that it queries Mollie directly and specifies the condition for paid=true, providing behavioral context beyond annotations.

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 extremely concise with two sentences, front-loading the purpose. Every word adds value with no redundancy.

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

Completeness5/5

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

Given no output schema, the description adequately explains the return semantics (paid=true when status is PAID). It also specifies the Germany context, making it complete for this simple query tool.

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 100%, so baseline is 3. The description adds value by explicitly stating that payment_id is the one returned by create_payment_link, clarifying the expected input.

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 checks whether a Germany payment has been paid, specifying the verb (check/query) and resource (payment). It distinguishes from the sibling tool create_payment_link by indicating it's a query tool.

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 usage guidance by stating 'pull-based, no webhook needed,' implying when to use this tool instead of relying on webhooks. It also mentions the payment is created by create_payment_link, setting context.

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

query_subscriptionA
Read-only
Inspect

Check a Germany 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYesThe customer_id (cst_...) returned by create_subscription_link.
subscription_idNoOptional subscription_id (sub_...) from activate_subscription to check one subscription directly. Omit for a mandate + subscription overview.
Behavior5/5

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

Description fully aligns with annotations (readOnlyHint=true) and adds behavioral details: no side effects, returns statuses with actions, and includes next_charge_date for specific subscriptions. 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.

Conciseness4/5

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

Description is slightly long but well-structured: first sentence states purpose, then explains modes with statuses and actions. Every sentence provides useful information, but minor redundancy could be trimmed.

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

Completeness5/5

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

Despite no output schema, the description fully explains return values (statuses and next_charge_date) for both modes, along with follow-up actions. Complete for a read-only tool with two parameters.

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%, baseline 3. Description adds value by explaining the origin of each parameter (create_subscription_link for customer_id, activate_subscription for subscription_id) and their role in the two calling patterns, exceeding schema meaning.

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?

Description clearly states the tool checks Germany subscription status, with two distinct modes (overview vs. specific subscription) and lists possible statuses. It distinguishes from siblings by explaining when to use each mode and what actions to take based on status.

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

Usage Guidelines5/5

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

Explicitly tells when to use each parameter combination: customer_id alone for overview, both IDs for specific subscription. Provides guidance on what to do based on returned status (e.g., 'keep polling / call activate_subscription', 'call activate_subscription now'). Also notes it's pull-based, no webhook needed.

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

refund_paymentA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoOptional partial-refund amount in the local currency major unit. Omit for a full refund.
payment_idYesThe payment_id of the paid payment (same id used by query_payment_status)
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds context about the same owner policy guardrails (x-agentpay-max-amount) and that the amount is checked before gateway. It also notes partial refund support is conditional ('where supported').

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?

Two sentences, no redundant words. The main action is front-loaded. Every sentence adds necessary information.

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 2 parameters and no output schema, the description covers purpose, partial refund, and guardrails. It lacks mention of return values or failure behavior, but overall is fairly complete.

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?

Both parameters are fully described in the schema (100% coverage). The description adds value by clarifying 'Omit for a full refund' for amount and linking payment_id to query_payment_status, providing relational context.

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 specifies the verb 'Refund' and the resource 'paid payment (created by create_payment_link)'. It clearly distinguishes from sibling tools: create_payment_link creates, query_payment_status queries, refund_payment refunds.

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 states 'Full refund by default; pass amount for a partial refund where supported', and mentions that refunds respect owner policy guardrails. While it does not explicitly list when not to use, the context with siblings makes it clear that this is for refunding paid payments.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources