Skip to main content
Glama

pay

Optional voluntary-support only. The hosted endpoint is no per-call charge today (metering off) (metering off: no credential required, no call limit, no per-call charge), so no payment is needed at all. This tool records a support contribution of any amount: the channel is a corporate static collection code (UnionPay aggregate QR) settling into a corporate bank account, and no payment-platform merchant API is used. AFTER PAYING: nothing to do — there is no self-crediting step and no waiting for reconciliation; the operator reconciles against the corporate bank statement, and any positive amount counts as support, not a bill. If the server has no payment method configured the order is still created but payIntent.payTo is null; in that case just keep calling the endpoint with no credential at all.

Input Schema

NameRequiredDescriptionDefault
channelNoPayment channel: currently fixed to corporate-static (corporate bank collection). Leave empty.
orderIdNoFor self-reporting: the order id returned by a previous pay call, shaped like LS-YYYYMMDD-xxxxxx.
selfReportNoteNoOptional payment note (payer, channel, time), kept only for reconciliation, up to 200 characters.
selfReportPaidNoRetired on 2026-10-02 with per-call billing: the endpoint is free, so no credit is created and nothing is released. Kept only for backwards compatibility; it is ignored. Voluntary support is any amount paid straight to the corporate account (payTo / payToQr), reconciled by the operator afterwards.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / selfReportPaid / description
      Previous value: -"For self-reporting: set true after paying to declare that this order was paid. The server does not verify and credits the order amount and releases it immediately (honor system); the credit is marked amountVerified:false / creditedBy:self_report so it can be reconciled against bank statements afterwards."New value: +"Retired on 2026-10-02 with per-call billing: the endpoint is free, so no credit is created and nothing is released. Kept only for backwards compatibility; it is ignored. Voluntary support is any amount paid straight to the corporate account (payTo / payToQr), reconciled by the operator afterwards."
  2. Changed4 schema fields changed
    • changedInput schema / properties / channel / description
      Previous value: -"付款通道:当前固定为 corporate-static(对公静态收款,对公收款);留空即可。"New value: +"Payment channel: currently fixed to corporate-static (corporate bank collection). Leave empty."
    • changedInput schema / properties / orderId / description
      Previous value: -"自助入账用:上一次 pay 返回的订单号(形如 LS-YYYYMMDD-xxxxxx)。"New value: +"For self-reporting: the order id returned by a previous pay call, shaped like LS-YYYYMMDD-xxxxxx."
    • changedInput schema / properties / selfReportNote / description
      Previous value: -"可选:付款备注(如付款人/渠道/时间),仅用于对账留痕,长度上限 200。"New value: +"Optional payment note (payer, channel, time), kept only for reconciliation, up to 200 characters."
    • changedInput schema / properties / selfReportPaid / description
      Previous value: -"自助入账用:付款完成后置 true,声明「本单已付」。服务端不验证、立即按订单面值入账放行(信任制);入账会标注 amountVerified:false / creditedBy:self_report,便于事后与银行流水核对。"New value: +"For self-reporting: set true after paying to declare that this order was paid. The server does not verify and credits the order amount and releases it immediately (honor system); the credit is marked amountVerified:false / creditedBy:self_report so it can be reconciled against bank statements afterwards."
  3. First observed

TDQS

B3.1/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 burden and largely does: it discloses that metering is off, no credential or call limit applies, there is no self-crediting step, no reconciliation wait, the operator reconciles against a corporate bank statement, and that payIntent.payTo can be null. The only gap is that the dense, duplicated parentheticals make the safety/mutation profile harder to extract than it should be.

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

Conciseness2/5

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

The text is front-loaded with a confusing claim that no payment is needed for a tool called 'pay', contains a literal duplication — '(metering off) (metering off: no credential required...)' — and runs long without clear ordering. Several clauses repeat the same 'free / no charge / no credential' idea three or more times.

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 no-annotation, no-output-schema, zero-required-param tool, the description does cover the key behaviors including the null payTo edge case. But the messaging is inconsistent enough (a payment tool that insists no payment is required) that an agent would still be unsure what calling it actually accomplishes, so it is 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% and all four parameters are documented in the schema, so the baseline is 3. The description adds a little context (the corporate static channel, the retired selfReportPaid semantics) but mostly restates behavior rather than clarifying how to supply the parameters.

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

Purpose3/5

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

The tool does eventually state a specific action — 'This tool records a support contribution of any amount' — which is a concrete verb+resource and unique among siblings (give_feedback, poly_roots, solve, verify are unrelated). However, the opening sentences ('no payment is needed at all', 'metering off') spend most of their space arguing that the tool named 'pay' is not actually needed, so the core purpose is buried and somewhat self-undermining.

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?

It indicates the tool is 'optional voluntary-support only' and describes the no-payment-method-configured case, so some usage context is implied. But it names no alternatives and never cleanly states when an agent should call this versus simply calling the endpoint with no credential — it in fact says to 'just keep calling the endpoint with no credential at all', which weakens the case for invoking this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.