Skip to main content
Glama

pay

Create a real payment order for this or future solving. Returns the order id, a dedicated key, and a structured payment intent. The payment channel is a corporate static collection code (UnionPay aggregate QR) settling into a corporate bank account; no payment-platform merchant API is used. AFTER PAYING: call this tool again with orderId and selfReportPaid:true and the order is credited and released immediately, with no manual check and no waiting for reconciliation, because this service runs on an honor system. If the server has no payment method configured the order is still created but payIntent.payTo is null; use honorPaid:true or contact the operator instead.

Input Schema

TableJSON 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.
selfReportPaidNoFor 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the honor-system behavior (no verification, no manual check, no reconciliation wait), the settlement path (corporate static collection code, no merchant API), the null payTo.payTo edge case, and how the credit is marked (amountVerified:false / creditedBy:self_report). This is exactly the non-obvious trust model an agent needs.

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 core action, then the post-payment instruction, then the edge case — a logical progression. It is dense and long-ish, but nearly every sentence adds a distinct behavior; only the channel explanation could arguably be tightened.

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?

No output schema or annotations exist, yet the description enumerates the return payload and the full interaction lifecycle, so an agent can operate it. The one notable gap is that no amount/currency parameter exists in the schema and the description never explains how the order amount is determined.

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%, so the baseline is 3; the description goes further by tying orderId and selfReportPaid together into the self-report round-trip and explaining the consequence of each, which clarifies how the params interact rather than just restating them.

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?

Opens with a specific verb+resource ("Create a real payment order") and immediately distinguishes itself from sibling tools like solve/verify by describing the order/key/payment-intent payload it returns. An agent can tell this is the payment-creation entry point without opening 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 Guidelines5/5

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

Explicitly prescribes the two-phase flow ("AFTER PAYING: call this tool again with orderId and selfReportPaid:true"), states the alternative when no payment method is configured (use honorPaid:true or contact the operator), and names the channel constraint. When-to-use and fallbacks are all present.

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.