Skip to main content
Glama

compute_commission

Compute a sales-commission engagement under ASC 340-40 (incremental cost to obtain a contract). Give the commission amount, the benefit period it amortizes over, and how many months have elapsed; it classifies the cost, then capitalizes a recoverable commission and amortizes it straight-line — returning the capitalized asset, amortization to date, the period expense, and the net carrying amount. This is a capitalized asset and an amortization schedule, NOT revenue. It refuses (asks) if recoverability or the amount is unclear. The result is recorded on the engagement file; a principal signs before the workpapers are delivered.

Input Schema

NameRequiredDescriptionDefault
engagement_idYesThe commission engagement (opened via open_engagement, classified as a commission).
benefit_monthsYesThe benefit period over which it amortizes, in months.
commission_usdYesThe commission — the incremental cost to obtain the contract.
months_elapsedYesMonths elapsed into the benefit period at this close.
contract_terminatedNoSet true if the underlying contract was TERMINATED early. The remaining capitalized asset can't simply finish amortizing — it triggers an ASC 340-40-35-3 impairment assessment, raised as an open item rather than closed clean.
expected_to_be_recoveredNoWhether the cost is expected to be recovered (340-40-25-1). Omit if unknown and it will ask.
elect_practical_expedientNoSet true ONLY if the entity has ELECTED the ≤1-year practical expedient (340-40-25-4) to expense a commission that amortizes within a year. Omit/false → a ≤12-month commission CAPITALIZES (25-1); the expedient is a disclosed election, never auto-applied.
remaining_consideration_usdNoOn a terminated contract, the consideration the entity still expects to receive (340-40-35-3(a)). Omit if none/unknown and the full carrying amount is flagged for impairment review.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/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 carries the real burden and does it well: it discloses the computation sequence (classify → capitalize → straight-line amortize), the refusal/ask behavior on unclear recoverability, the side effect that 'the result is recorded on the engagement file', and the downstream principal sign-off before workpapers are delivered. The parameter-level notes on termination triggering an ASC 340-40-35-3 impairment open item add further non-obvious behavior.

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 purpose and standard reference, then the required inputs, then behavior and outputs. Dense but nearly every clause carries information; the closing workflow sentence about the engagement file and principal sign-off is useful context rather than filler, though the description is on the long side for a single computation tool.

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?

There is no output schema, yet the description enumerates the return values (capitalized asset, amortization to date, period expense, net carrying amount) and the impairment open-item path. For an 8-parameter mutation tool with no output schema, this covers what an agent needs to call it correctly and interpret the result.

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 baseline is 3, but the description adds meaning beyond the schema by explaining the amortization mechanics — straight-line over the benefit period with elapsed months driving amortization to date — which tells the agent how benefit_months and months_elapsed interact. It also frames the output set (capitalized asset, amortization to date, period expense, net carrying amount) that the parameters feed.

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 ('Compute a sales-commission engagement') and pins it to a named standard (ASC 340-40, incremental cost to obtain a contract). It explicitly separates itself from the neighbouring revenue tool: 'This is a capitalized asset and an amortization schedule, NOT revenue.' An agent can distinguish it from compute_revenue_contract without opening either schema.

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 the inputs needed to invoke it ('Give the commission amount, the benefit period it amortizes over, and how many months have elapsed') and states the refusal condition ('It refuses (asks) if recoverability or the amount is unclear'). It does not name sibling tools such as compute_close or compute_lease as alternatives, so routing is inferred from the 'NOT revenue' exclusion rather than stated outright.

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