Skip to main content
Glama

Record a payment

record_payment

Record that one person paid another back, settling part or all of a debt. Use get_split first to see who should pay whom. Works on simple, accountless splits. Secure splits (created by a signed-in user) are read-only here and must be opened in a browser.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "split": "<split>",
      "from": "<from>",
      "to": "<to>",
      "amount": "<amount>"
    },
    "name": "record_payment"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesWho received it — a participant's name (or id) in this split.
dateNoDate as YYYY-MM-DD. Defaults to today.
fromYesWho sent the money — a participant's name (or id) in this split.
splitYesThe split key, or the whole https://split.xuper.fun/k/<key> link.
amountYesAmount in the split's currency, as a decimal (e.g. 249.50).
descriptionNoHow it was paid, e.g. "Swish, 3 March". Shown in the history.

Output Schema

NameRequiredDescriptionDefault
keyYes
urlYes
titleYes
secureYes
entriesYes
settledYes
currencyYes
created_atYes
settlementYes
total_spentYes
participantsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedOutput schema / properties / entries / items / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / entries / items / properties / to / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / to / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, so the description adds real value by disclosing the split-type constraint: simple/accountless splits work, signed-in 'secure' splits are read-only and must go through a browser. It does not say what happens on over-payment or whether repeated calls are idempotent, so it stops short of full behavioral disclosure.

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 short sentences, front-loaded with what the tool does, then the prerequisite, then the hard limitation. No repetition of the title or schema content; every sentence earns its place.

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?

An output schema exists and the schema is fully documented, so the description only needs the operational context it supplies: prerequisite call, supported split types, and the browser fallback for secure splits. Minor gaps remain around partial-payment/over-payment handling and duplicate recording, but nothing that would cause a wrong invocation.

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 schema already explains 'from'/'to' as participant name or id, the split key or URL form, decimal amount, and the date default. The description adds no parameter-level meaning beyond that, so the baseline of 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 and resource plus the semantic scope: 'Record that one person paid another back, settling part or all of a debt.' That scope distinguishes it cleanly from the sibling add_expense, which creates a new cost rather than settling an existing debt.

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?

Gives an explicit prerequisite ('Use get_split first to see who should pay whom') and an explicit exclusion ('Secure splits ... are read-only here and must be opened in a browser'). The agent knows both the ordering and the case where it must not call 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.