Skip to main content
Glama

schedule-iii

Confirm cost-centre mappings

confirm_centre_mappings
Destructive

Persist only the explicit account-to-centre decisions the user approved. Before calling, show the proposal grouped by confidence tier and target with exact counts, call out every medium/low-confidence row, and get a clear approval for the enumerated items. Omitted accounts stay unchanged; there is no apply-all, auto-confirm, or use-suggestions flag. Each item writes ONE dimension, chosen by target_type: "cost_centre" writes the cost-centre policy and "profit_centre" writes the profit-centre policy. The two are independent — writing one never replaces the other — and the same account may appear once per dimension in a single call. A centre policy can only be set on a profit-and-loss account: an account Datavrn resolves to a balance-sheet type, or has not classified yet, is refused by name and nothing is saved. After the write, report confirmed, unmapped_total and unmapped_with_balance (the cost dimension), and profit_unmapped_total and profit_unmapped_with_balance (the profit dimension) so the user knows exactly what remains. When profit_centres_total is 0 the profit dimension is not in use and no account needs a profit-centre policy — never report the entity as profit-mapped. Read profit_mapped_total beside it: 0 means no account holds one, and above 0 means the dimension has been closed while that many accounts still carry a saved policy pointing at a deactivated centre. The counts describe the policies in force on counts_as_of. A write can be saved and still not be in force, in two ways, and next_action says which: effective_from later than counts_as_of (not in force yet), or superseded_total above 0 (that many of these accounts already carry a LATER version that is in force, so this back-dated write changes nothing visible). In either case do not repeat the call. This tool never returns rupee amounts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesEvery account decision explicitly approved by the user; never a blanket flag.
client_idYesThe entity (client) id — from list_clients.
removal_countNoThe exact removal count returned by the removal preview.
removal_tokenNoOnly include the short-lived token returned by the removal preview for this exact proposal.
effective_fromYesThe effective date shown to the user.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare non-read-only/destructive; the description adds substantial context beyond them: refusal of balance-sheet or unclassified accounts by name with nothing saved, independence of the cost and profit dimensions, the ban on rupee amounts, and the distinction between a saved-but-not-in-force write (future effective_from, superseded_total > 0) and a live one.

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

Conciseness3/5

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

The opening sentence is well front-loaded, but the remainder is a dense single block of run-on sentences covering refusal rules, counts, and force-of-write semantics with no paragraphing, making it harder to scan than it needs to be even though most sentences carry unique information.

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?

With no output schema, the description carries the full burden and does so: it enumerates the returned counts (confirmed, unmapped_total, unmapped_with_balance, profit_*, superseded_total, profit_mapped_total, counts_as_of) and explains how to interpret each, including the 0-profit_centres_total edge case.

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 description coverage is 100%, so the baseline is 3, but the description genuinely adds semantics the schema does not: target_type selects which policy is written, the two dimensions never replace each other, and the same account may appear once per dimension per call. removal_token/removal_count are not elaborated, so not a 5.

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?

The first sentence names a specific verb and resource — 'Persist only the explicit account-to-centre decisions the user approved' — and the rest narrows scope to one dimension per item via target_type, distinguishing it from read-only siblings like list_account_mappings and from create_cost_centre/create_profit_centre.

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 explicit preconditions ('Before calling, show the proposal grouped by confidence tier... get a clear approval for the enumerated items') and explicit exclusions ('there is no apply-all, auto-confirm, or use-suggestions flag'), plus a when-not to repeat the call. It never names an alternative sibling tool, so it falls short of a 5.

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