Skip to main content
Glama

Tokenbooks - crypto and fiat accounting and payments

Apply Accounting Rules

apply_accounting_rules
Destructive

Re-run the current saved rules and default assignments for vendors, people, or organizations (counterparty defaults) across eligible existing accounting transactions; this destructive bulk job ignores unsaved edits, so preview first, then track its requestId with get_request_status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portfolioRefYesPortfolio exact name or slug
workspaceRefYesWorkspace exact name or slug

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
requestIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "requestId": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "const": "queued",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "requestId"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond annotations (destructiveHint=true, idempotentHint=false), the description adds crucial behavioral context: it is a bulk job, it ignores unsaved edits, it returns a requestId requiring async tracking, and it should be previewed first. This meaningfully helps an agent predict side effects and required follow-up.

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?

The description is one dense, front-loaded sentence: the core purpose comes first, followed by the critical destructive and async caveats. Every clause earns its place, with no filler or repetition of annotation-provided facts.

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 the output schema and annotations, the description covers the essential workflow, destructive nature, async requestId, and unsaved-edits caveat. The term 'eligible' is left undefined and the preview tool is not explicitly named, but the description is sufficient for a competent agent to select and call the tool correctly.

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%, with both workspaceRef and portfolioRef documented as exact name or slug. The tool description adds no parameter-level detail, but the baseline of 3 applies because the schema already carries the parameter semantics.

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 description states a specific action ('Re-run the current saved rules and default assignments') applied to a specific resource ('eligible existing accounting transactions'), and clearly distinguishes this bulk application tool from siblings like edit_accounting_rules and list_accounting_rules. It also signals the destructive, bulk nature up front.

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?

The description gives a clear workflow: preview first, run the destructive job, then track the requestId with get_request_status. It does not explicitly name preview_transaction_classification or state when to prefer edit_accounting_rules instead, but the context strongly implies this tool is for applying saved rules to existing transactions rather than editing rules.

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