Skip to main content
Glama
RobsonAdvincula

SIBS Payment MCP

SIBS Payment MCP

A Model Context Protocol (MCP) server that exposes the SIBS payment gateway as tools for AI agents — enabling LLMs to create checkouts, verify payments, issue refunds, and generate Multibanco references natively in any MCP-compatible environment.

MCP TypeScript SIBS License


What It Does

Bridges the SIBS payment gateway to the MCP ecosystem. Any AI agent or LLM-powered tool running in an MCP-compatible host (Claude Desktop, n8n, custom agents) can:

  • Check payment status in real time

  • Create checkout sessions with configurable payment methods

  • Capture, refund, or cancel authorised payments

  • Generate Multibanco references for ATM/homebanking payment

  • Initiate MB WAY push notifications to a customer's phone


Related MCP server: Magpie MCP Server

Architecture

flowchart LR
    A[AI Agent\nClaude / n8n] -->|MCP tool call| B[sibs-payment-mcp\nMCP Server]
    B -->|REST API| C[SIBS Gateway\nAPI]
    C -->|response| B
    B -->|structured result| A

    subgraph Tools
        T1[sibs_create_checkout]
        T2[sibs_payment_status]
        T3[sibs_capture_payment]
        T4[sibs_refund_payment]
        T5[sibs_cancel_payment]
        T6[sibs_generate_mb_reference]
        T7[sibs_mbway_payment]
        T8[sibs_test]
    end

Tools (8 total)

Tool

Description

sibs_create_checkout

Create a new checkout. Returns transactionID and hosted checkout URL

sibs_payment_status

Get payment state, amount, method, and timestamps by transaction ID

sibs_capture_payment

Capture an authorised payment — full or partial

sibs_refund_payment

Refund a captured payment — full or partial

sibs_cancel_payment

Cancel an authorised payment before capture

sibs_generate_mb_reference

Generate a Multibanco entity/reference for ATM payment

sibs_mbway_payment

Send MB WAY push to customer phone (351#912345678 format)

sibs_test

Validate credentials and connectivity


Stack

Component

Tool

Protocol

Model Context Protocol SDK

Language

TypeScript 5 + Node.js

Schema validation

Zod

Payment gateway

SIBS API (Portugal)

Build

tscdist/


Setup

Prerequisites

  • Node.js 18+

  • SIBS merchant account with API credentials

  • MCP-compatible host (Claude Desktop, n8n, custom agent)

1. Install

git clone https://github.com/RobsonAdvincula/sibs-payment-mcp.git
cd sibs-payment-mcp
npm install
npm run build

2. Configure environment

SIBS_BASE_URL=https://stargate.sibs.pt/m001/v1
SIBS_BEARER_TOKEN=your_bearer_token
SIBS_CLIENT_ID=your_client_id
SIBS_TERMINAL_ID=your_terminal_id

3. Add to MCP host

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "sibs-payment": {
      "command": "node",
      "args": ["/path/to/sibs-payment-mcp/dist/index.js"],
      "env": {
        "SIBS_BEARER_TOKEN": "...",
        "SIBS_CLIENT_ID": "...",
        "SIBS_TERMINAL_ID": "..."
      }
    }
  }
}

n8n MCP Client node: point to the compiled dist/index.js with the same env vars.


Example Interactions

Create a payment and send MB WAY:

Agent: "Create a €29.99 checkout for customer +351912345678"

→ sibs_create_checkout({ amount: 2999, currency: "EUR", paymentMethods: ["MBWAY"] })
→ sibs_mbway_payment({ transactionId: "txn_xxx", amount: 2999, customerPhone: "351#912345678" })

Result: "MB WAY notification sent. Customer has 4 minutes to confirm."

Verify and refund:

Agent: "Check transaction txn_abc and refund if paid"

→ sibs_payment_status({ transactionId: "txn_abc" })
  ← { status: "Success", amount: 4999 }
→ sibs_refund_payment({ transactionId: "txn_abc" })
  ← { refunded: true }

Payment Methods Supported

  • CARD — Visa / Mastercard

  • MBWAY — MB WAY mobile payment

  • REFERENCE — Multibanco ATM reference

  • COFIDIS — Instalments

  • PAYPAL — PayPal


License

MIT — free to use, adapt, and build on.


Built by Robson Advincula — AI & Automation Consultant

Available Tools

8 tools
sibs_cancel_paymentA

Cancel a SIBS payment authorization. Only works for payments not yet captured.

ParametersJSON Schema
NameRequiredDescriptionDefault
transactionIdYesSIBS transaction ID to cancel

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates a cancellation (mutation) and a key precondition. However, it does not disclose whether cancellation is reversible, idempotent, requires specific permissions, or what happens if called on a captured payment. Minimal but not misleading.

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 concise sentences, with the core purpose front-loaded and the key constraint immediately following. No wasted words; every part adds essential 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 simple one-parameter tool with no output schema, the description covers the main purpose and a critical usage constraint. It does not describe return values or error behavior, but the operation is straightforward and the key limitation is stated. Adequate for the tool's complexity.

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 the 'transactionId' parameter is already well-documented in the schema. The tool description adds no additional parameter meaning beyond what the schema provides. Baseline 3 applies.

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 'Cancel' and the resource 'SIBS payment authorization'. It also includes a scoping condition ('Only works for payments not yet captured') that helps differentiate it from post-capture operations like capture or refund. However, it does not explicitly name sibling tools, so differentiation is implied rather than direct.

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 a clear context for when the tool is applicable: payments not yet captured. This implies it is not meant for captured payments, but it does not explicitly mention alternatives or when-not-to-use cases. It gives the essential precondition without routing to siblings.

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

sibs_capture_paymentA

Capture a previously authorized SIBS payment. Omit amount for full capture, or specify partial amount in minor units.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoAmount to capture in minor units (omit for full capture)
currencyNoCurrency code (default: EUR)EUR
transactionIdYesSIBS transaction ID to capture

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It explains that the tool captures an authorized payment and supports full or partial amounts, but it does not mention side effects such as settlement, irreversibility, capture windows, 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.

Conciseness5/5

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

Two concise sentences with no filler. The core action is front-loaded and the optionality of the amount is stated directly. Every sentence earns its place.

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

Completeness3/5

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

The description is adequate for a simple three-parameter capture operation, but with no output schema and no annotations, it omits useful context such as expected response format, amount constraints relative to the authorized amount, and any time limits on capture. This is a moderate gap rather than a fatal one.

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 each parameter is already documented. The description mostly repeats the schema's 'omit for full capture' semantics and minor-units detail, offering little additional parameter-level meaning beyond the structured schema.

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

Purpose5/5

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

The description uses a specific verb and resource: capture a previously authorized SIBS payment. This clearly distinguishes it from sibling tools like sibs_refund_payment and sibs_cancel_payment, which operate at different stages of the payment lifecycle.

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?

It provides clear operational guidance on when to use full capture versus partial capture by omitting or specifying the amount. It does not explicitly name alternatives or exclusion conditions, but the 'previously authorized' phrasing situates usage after authorization.

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

sibs_create_checkoutB

Create a new SIBS checkout/payment. Amount in minor units (1000 = 10.00 EUR). Returns transactionID and checkout URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesPayment amount in minor units (e.g., 1000 = 10.00 EUR)
currencyNoCurrency code (default: EUR)EUR
customerEmailNoCustomer email address
customerPhoneNoCustomer phone number
paymentMethodsNoAllowed payment methods (e.g., ['CARD', 'MBWAY', 'REFERENCE']). Defaults to all.
merchantTransactionIdNoYour own transaction reference/ID for reconciliation

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden; it does disclose the key happy-path outcome ('Returns transactionID and checkout URL'). It does not describe flow behaviors such as whether the payment is authorized immediately, whether customer redirect is required, or failure/idempotency behavior, leaving a meaningful gap for a payment tool.

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

Conciseness5/5

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

The description is two short sentences with the primary action front-loaded and no filler. The minor-units note and return values are each useful for calling the tool correctly despite the schema already documenting amount units.

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?

For a financial creation tool with no annotations and no output schema, the description is too sparse: it gives only the happy-path return and omits the checkout flow's place in the payment lifecycle, how it relates to the MBWay sibling, and any failure or redirect behavior. An agent would rely heavily on inferred context to select and invoke this tool correctly.

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?

The input schema covers 100% of parameters with descriptions, so the description does not need to add much. It restates the minor-units rule for amount but adds no semantics about currency, customer fields, or paymentMethods beyond what the schema already provides; this meets 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?

The description immediately states an action and object: 'Create a new SIBS checkout/payment.' It also names concrete outputs ('transactionID and checkout URL'), which makes the operation recognizable. It does not, however, explicitly distinguish this from the sibling sibs_mbway_payment or sibs_generate_mb_reference, so it is not fully differentiating.

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?

There is no 'use when' language, exclusion of alternatives, or reference to sibling tools. The only usage signal is the implied 'when you need to create a checkout,' and the description does not say when to use this instead of sibs_mbway_payment or how it fits with capture/refund/status tools.

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

sibs_generate_mb_referenceA

Generate a Multibanco (MB) payment reference. Returns entity, reference number, and amount for ATM/homebanking payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in minor units (e.g., 1000 = 10.00 EUR)
currencyNoCurrency code (default: EUR)EUR
expiryDateNoReference expiry date in ISO 8601 (e.g., '2026-03-01T23:59:59Z')
transactionIdYesSIBS transaction ID for Multibanco reference generation

TDQS

A3.6/5.0
Behavior3/5

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

Because no annotations are provided, the description carries the burden of behavioral disclosure. It discloses the return payload (entity, reference number, amount) and that it is for ATM/homebanking payment, but it does not mention side effects (e.g., whether a charge is created, expiry behavior, idempotency, or whether the reference becomes immediately payable). This is acceptable but not rich.

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 one sentence and front-loads the main purpose. It also lists the key return fields, which is useful. It is concise and efficient, though it could add a sentence about behavioral context without becoming bloated.

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 there is no output schema, the description's mention of the return fields (entity, reference number, amount) is helpful. However, for a payment tool, an agent might need to know whether the amount and currency are mandatory together, what happens on expiry, and whether this invokes an actual payment reference that can be used immediately. The description is adequate for basic invocation but misses some payment-specific context.

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 each parameter is documented in the schema. The description itself does not add further parameter-level meaning beyond naming the output amount. It does not clarify that 'amount' is in minor units, but the schema already states that. Baseline 3 is appropriate because the schema does the heavy lifting.

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 states a specific action ('Generate a Multibanco (MB) payment reference') and identifies the resource (payment reference) and output (entity, reference number, amount). It clearly distinguishes this from sibling tools like sibs_mbway_payment or sibs_payment_status because it names the specific Multibanco reference generation function.

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

Usage Guidelines3/5

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

The description implies the use case (generating a Multibanco reference for ATM/homebanking payment) and the return includes entity, reference number, and amount. However, it does not explicitly state when to use this vs alternatives (e.g., when an MBWay payment or checkout would be preferred), nor does it mention conditions like required prior setup or relationship to transactionId.

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

sibs_mbway_paymentA

Initiate MB WAY payment. Sends notification to customer's MB WAY app. Phone format: '351#912345678'.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in minor units (e.g., 1000 = 10.00 EUR)
currencyNoCurrency code (default: EUR)EUR
customerPhoneYesCustomer phone with country code (e.g., '351#912345678')
transactionIdYesSIBS transaction ID for the MB WAY payment

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the customer-facing side effect of sending a notification to the MB WAY app, which is useful. It does not mention expected outcomes, failure modes, authorization state, or whether the payment remains pending, but the core initiation behavior is still visible.

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 two short, purposeful sentences. It states the action first, then the key behavioral side effect and the phone format. There is no filler or redundant background.

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

Completeness3/5

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

The schema is rich enough to cover all parameter meanings, and the description conveys the core action and notification behavior. However, with no output schema and no annotations, the description omits any sense of the payment lifecycle, prerequisites like where transactionId comes from, or what the caller should expect in return.

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?

The input schema already provides 100% parameter coverage, so the baseline is 3. The description adds the phone format example, but that same example already appears in the customerPhone property description, so the description provides no meaningful extra parameter semantics.

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 a specific action — 'Initiate MB WAY payment' — and adds a distinguishing behavioral detail: it sends a notification to the customer's MB WAY app. This separates it from siblings like sibs_payment_status, sibs_capture_payment, or sibs_refund_payment even without explicitly naming them.

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

Usage Guidelines3/5

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

The description implies the tool is used when initiating an MB WAY payment and when a customer needs to receive a notification for approval. However, it gives no explicit guidance about when not to use it or how it differs from sibs_create_checkout or sibs_capture_payment.

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

sibs_payment_statusA

Get the status of a SIBS payment by transaction ID. Returns payment state, amount, method, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
transactionIdYesSIBS transaction ID (returned when payment was created)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It usefully states that the tool returns payment state, amount, method, and timestamps, and the verb 'Get' implies no side effects. It does not cover behavior for invalid or missing transaction IDs, possible state values, or any authentication/error expectations.

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 two tight, front-loaded sentences: the first states the action and required input, the second states the output fields. There is no filler, repetition of the tool name, or unnecessary detail.

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

Completeness4/5

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

For a single-parameter status lookup, the description is nearly complete: it identifies the required input and enumerates the returned fields, which matters because there is no output schema. It could add possible payment states or error scenarios, but those are not necessary for an agent to invoke the tool correctly.

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%, and the single parameter is already described clearly as the SIBS transaction ID returned when the payment was created. The tool description's 'by transaction ID' matches the schema but adds no additional semantic detail beyond what the schema already provides.

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 ('Get') and a specific resource ('status of a SIBS payment'), making it clear this is a read-only status lookup. It stands apart from the sibling tools, which perform payment creation, capture, refund, cancel, or reference generation, so an agent can select it without ambiguity.

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

Usage Guidelines3/5

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

The phrase 'by transaction ID' implies the tool should be used after a payment has been created and the ID retrieved. The schema additionally notes that the transaction ID was returned at creation, reinforcing this context. However, the description does not explicitly state when to prefer this tool over alternatives or mention exclusion conditions.

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

sibs_refund_paymentA

Refund a SIBS payment. Omit amount for full refund, or specify partial amount in minor units.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoAmount to refund in minor units (omit for full refund)
currencyNoCurrency code (default: EUR)EUR
transactionIdYesSIBS transaction ID to refund

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does mention the full-vs-partial refund behavior, but it does not disclose that this is a financial mutation with likely irreversible consequences, nor does it address duplicate refunds, idempotency, permissions, or outcome reporting.

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 a single sentence that is front-loaded with the core action and immediately provides the key usage distinction. There is no redundant or filler content.

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 refund call, the required parameter and the amount omission rule are covered. However, with no output schema and no annotations, an agent cannot anticipate response structure, error conditions, or side effects, leaving the description adequate but not fully complete.

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 the schema already documents transactionId, amount, and currency. The description adds little beyond restating the amount behavior already present in the schema, so it meets but does not exceed the baseline.

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 ('Refund') and the resource ('a SIBS payment'), making it easy to distinguish from siblings like sibs_capture_payment or sibs_cancel_payment. The verb and object are specific and unambiguous.

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

Usage Guidelines3/5

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

The description gives clear invocation guidance: omit amount for a full refund, or provide a partial amount in minor units. However, it does not explicitly explain when refund should be chosen over alternatives or mention any preconditions, though the refund context is implied.

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

sibs_testA

Test SIBS API authentication. Verifies Bearer token and credentials are valid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It accurately discloses that the tool verifies token/credentials validity, implying a read-only, non-mutating operation. It does not describe failure behavior or return format, but for a simple auth test this is a minor gap.

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 concise sentences, front-loaded with the key purpose. Every word adds value and there is no redundant or filler content.

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?

The tool is low-complexity with no inputs, so the description covers the essential call context. The only slight gap is not explicitly describing the return value or failure signaling, but 'verifies' strongly implies a boolean or success/failure result, making the definition adequately 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?

The tool has zero parameters, so the description does not need to explain parameter meaning. The baseline for 0 params is 4, and there is no missing parameter information to penalize.

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 states a specific action (test) and a specific resource (SIBS API authentication), with the explicit outcome of verifying Bearer token and credentials. This clearly distinguishes it from the sibling payment-operation tools.

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

Usage Guidelines3/5

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

Usage is implied rather than explicitly stated. The description indicates the tool is for testing authentication, but it does not mention when to prefer it over alternatives or any prerequisites. Since no sibling tool performs auth testing, the context is still fairly clear, but explicit guidance is missing.

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.

  1. 8 tool updatesv1.0.0
    • First observedsibs_cancel_payment
    • First observedsibs_capture_payment
    • First observedsibs_create_checkout
    • First observedsibs_generate_mb_reference
    • First observedsibs_mbway_payment
    • First observedsibs_payment_status
    • First observedsibs_refund_payment
    • First observedsibs_test

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct operation: authentication testing, initiating MB WAY, creating a checkout, generating Multibanco references, querying status, and lifecycle actions (capture, refund, cancel). There is no meaningful overlap or ambiguity between tool purposes.

Naming Consistency4/5

Most tools follow the sibs_verb_noun pattern (create_checkout, capture_payment, refund_payment, cancel_payment, generate_mb_reference). Minor deviations exist: sibs_mbway_payment and sibs_payment_status omit an explicit verb, and sibs_test uses a bare verb, but the shared sibs_ prefix keeps the family recognizable.

Tool Count5/5

Eight tools is well-scoped for a payment MCP server covering authentication, multiple payment methods, status lookup, and payment lifecycle operations. Each tool serves a necessary and distinct role without unnecessary bloat or duplication.

Completeness5/5

The tool surface covers the core payment workflow end-to-end: create payments via MB WAY, checkout, and Multibanco reference, check status, capture, refund, and cancel. Authentication testing is also included, making the set self-sufficient for typical SIBS integration scenarios.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to interact with multiple payment providers (Stripe, Paystack) through a unified API. Supports payment initialization, verification, refunds, customer management, and invoicing without requiring knowledge of specific provider implementations.
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access Magpie Payment Platform APIs for processing payments, creating checkout sessions, sending invoices, and managing payment links through natural conversation.
    23 npm
    2
    MIT