Skip to main content
Glama

Create a shared expense ledger page

create_expense_ledger

Use this when a group wants to track shared costs for a trip, a shared house or an event and split them fairly: it publishes a shared web page where everyone adds what they paid, and returns a public link to share and a private organizer link. Optional starting expenses and payments can be included. Amounts use whole minor units of one currency (no conversion). Members are first names, 2 to 30. Does not move money, convert currencies or send reminders. Do not use for a one-off bill split that nobody else needs to see.

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": {
      "currency": "<currency>",
      "members": "<members>"
    },
    "name": "create_expense_ledger"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteNoOptional note shown on the page, e.g. Add every shared cost here.
titleNoName of the ledger, e.g. Lisbon trip 2026.
membersYesFirst names of the people sharing costs (2-30), e.g. ["Ana", "Ben", "Chi"].
currencyYesISO 4217 currency code, e.g. EUR, USD, GBP, JPY, KWD.
expensesNoOptional expenses to add right away.
paymentsNoOptional payments already made between members.
time_zoneNoOptional IANA time zone for dates on the page, e.g. Europe/Lisbon. Default UTC.
number_formatNoHow people type amounts on the page, e.g. 1,234.56. Default depends on the currency (EUR uses 1.234,56).

Output Schema

NameRequiredDescriptionDefault
ruleYes
endedYes
titleYes
totalYes
closedYes
peopleYes
recentYes
changesNo
currencyYes
settle_upYes
expires_atYes
manage_urlYes
public_urlYes
minor_digitsYes
people_countNo
recent_countNo
expense_countYes
number_formatNo
payment_countYes
settle_up_zeroes_allYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag a non-read-only, open-world, non-idempotent creation, and the description reinforces this by clarifying that no money moves, no currency conversion happens and no reminders are sent, plus that starting expenses/payments can be seeded. It does not state what happens if the tool is invoked twice (a second page), which matters given idempotentHint=false.

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?

Front-loaded with the use case, then outputs, then constraints and exclusions. No sentence is filler, and the dense phrasing still reads cleanly.

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?

Given 8 parameters, nested expense/payment arrays and an existing output schema, the description covers intent, limits, outputs and exclusions adequately. The main omission is lifecycle behavior for repeat creation, and the minor-units wording should be aligned with the schema.

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 baseline is 3. The description adds constraints for members (first names, 2-30) and single-currency amounts, but the phrase 'whole minor units' sits awkwardly against the schema's decimal examples like "84.50", which could mislead on amount formatting.

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 (publishes a shared expense ledger web page) plus the scope of what it produces (public link and private organizer link). The explicit contrast with a one-off bill split separates it from siblings such as add_ledger_expenses and update_expense_ledger.

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?

Positive trigger ('when a group wants to track shared costs for a trip, a shared house or an event') and a negative condition ('Do not use for a one-off bill split that nobody else needs to see') are both stated. The agent can decide between creating a ledger and adding to an existing one without inference.

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.

Resources