Skip to main content
Glama

Server Details

Let agents verify the seller and pay Billify invoices with x402 (USDC on Base).

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

get_invoice and verify_seller both return seller-related information (name, match, VAT status), which could cause slight confusion about which to call for seller details. However, each tool has a clear primary purpose: fetching invoice data, independently verifying seller legitimacy, and executing payment.

Naming Consistency5/5

All three tools follow a consistent verb_noun snake_case pattern: get_invoice, pay_invoice, verify_seller. No deviations or mixed conventions.

Tool Count4/5

Three tools is minimal but well-suited for the focused workflow of looking up, verifying, and paying a single invoice. Each tool earns its place, though the surface is slightly thin for a payment domain.

Completeness4/5

The tools cover the core lifecycle: fetch invoice, verify seller, and pay via x402. Minor gaps exist for post-payment operations (refunds, disputes) and dedicated status polling, though get_invoice can be reused to check status.

Available Tools

3 tools
get_invoiceGet invoiceA
Read-only
Inspect

Look up a Billify invoice from its public link: seller, amount, status, and whether and how it can be paid with x402 (USDC on Base).

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceYesThe invoice's public token (UUID) or its Billify link (billify.org/pay/…, /invoice/…)

TDQS

A3.9/5.0
Behavior4/5

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

The readOnlyHint=true annotation already covers the safety profile, so the description's added value is the disclosure that the lookup reports whether and how the invoice can be paid via x402 (USDC on Base) — non-obvious behavioral context. It does not mention auth requirements or rate limiting, but the annotation carries the safety burden.

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?

One sentence, front-loaded with the verb and resource, ending with the most distinctive detail (x402 payability). No filler or repetition.

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?

There is no output schema, yet the description compensates by enumerating the returned fields (seller, amount, status, payment capability), and the read-only annotation covers the safety dimension. Nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the single parameter (public token UUID or Billify link) is already fully documented. The description's phrase 'from its public link' restates rather than extends that, so baseline 3 is appropriate.

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

Purpose4/5

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

Specific verb ('look up') plus resource ('Billify invoice') and scope ('from its public link'), with the returned fields enumerated (seller, amount, status, x402 payability). It is clearly a read/lookup operation distinct from the mutating pay_invoice, but the description never names or contrasts the siblings, so differentiation is inferred rather than stated.

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 only implied: the read-only lookup of an invoice naturally precedes pay_invoice, and the x402 payability detail hints at that flow, but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer the ordering itself.

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

pay_invoicePay invoice (x402)A
Idempotent
Inspect

Pay a Billify invoice with x402 v2 over MCP. Call it once without payment to receive the PaymentRequired (exact USDC on Base); sign it and call again with _meta["x402/payment"]. The invoice is marked paid when the facilitator settles.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceYesThe invoice's public token (UUID) or its Billify link (billify.org/pay/…, /invoice/…)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare the safety profile (not read-only, idempotent, not destructive); the description adds the payment lifecycle that annotations cannot convey — the initial unpaid call, the PaymentRequired response, the required payment meta field, and the fact that the invoice is only marked paid once the facilitator settles. It stops short of describing failure/retry behavior for a rejected or expired payment.

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 tight sentences, front-loaded with purpose before the mechanics of the payment handshake. No filler; every clause carries operational meaning.

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 one-parameter tool with no output schema, the description covers the full invocation cycle and the settlement outcome. Remaining gaps (amount/currency selection beyond 'exact USDC on Base', error handling) are minor and partly implied by the protocol reference.

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% for the single invoice parameter, so baseline is 3, but the description adds semantics the schema omits: the settlement meta field (_meta["x402/payment"]) the agent must supply on the second call. That extra invocation parameter is real added value.

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?

States a specific verb and resource ('Pay a Billify invoice') plus the protocol used, which cleanly separates it from get_invoice (read) and verify_seller. An agent can identify the tool's role without inspecting the schema.

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?

Gives an explicit two-step invocation procedure: call once to obtain PaymentRequired, sign it, then call again with _meta["x402/payment"]. That is strong operational guidance, though it never contrasts this tool with its siblings or says when not to use it.

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

verify_sellerVerify sellerA
Read-only
Inspect

Before paying: check the seller of an invoice in the public registers (ANAF for Romanian CUIs, VIES for EU VAT numbers): registered name, whether it matches the invoice, VAT registration, whether the company is active and (ANAF) whether it is in the RO e-Factura register. Also checks the IBAN on the invoice page and shows the wallet an x402 payment goes to. Returns warnings to act on.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceYesThe invoice's public token (UUID) or its Billify link (billify.org/pay/…, /invoice/…)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, and the description is consistent with both while adding real context: which external registers are queried, what is checked (name match, VAT registration, active status, RO e-Factura), and that the IBAN and x402 payout wallet are surfaced. It also discloses that the tool returns actionable warnings, which the annotations do not convey. It does not state rate limits, failure modes, or how warnings are structured.

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?

Front-loaded with the trigger ('Before paying'), followed by a dense but purposeful enumeration of what is verified. The long parenthetical and clause list make the first sentence run-on, but essentially every clause carries information an agent needs.

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?

With no output schema, the description carries the return-value burden and does so at a summary level ('Returns warnings to act on') while enumerating the checks performed. A caller knows what it will learn, though the shape of the warnings and behavior on lookup failure are unspecified.

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

Parameters3/5

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

Schema coverage is 100% for the single 'invoice' parameter, so the schema already documents that it accepts a public token UUID or Billify link. The description adds no format or usage detail about the parameter beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb (check/verify) against a specific resource (the seller of an invoice) and names the exact registers consulted (ANAF for Romanian CUIs, VIES for EU VAT). An agent can tell this apart from get_invoice and pay_invoice without opening either schema, since it is explicitly a pre-payment verification step.

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 opening 'Before paying:' gives an explicit trigger condition that clearly separates it from the pay_invoice sibling. It does not name the siblings as alternatives or state when not to use it, so it stops short of a full when/when-not statement.

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. 3 tool updates
    • First observedget_invoice
    • First observedpay_invoice
    • First observedverify_seller

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources