Skip to main content
Glama

Switchbooks

Browse Accounting Categories

manage_categories
Read-onlyIdempotent

List accounting categories for the active company, including their account types. Supply name or names to find categories, tree=true to view their hierarchy, or unusedOnly=true to find unused categories. Set companies to compare several companies' charts side by side. Use offset to continue a paginated list. Set action to one of: list.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "manage_categories"
  }
}

Input Schema

NameRequiredDescriptionDefault
keepNo
nameNo
rowsNo
treeNo
typeNo
namesNo
actionNo
offsetNo
parentNo
companyNoCompany for this call only: its ID, exact name, or a unique part of the name. Leave out to use the active company.
newNameNo
companiesNo
unusedOnlyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / companies
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered; the description adds that results are scoped to the active company unless companies is supplied. It says nothing about result size, pagination limits, or ordering, and the presence of unexplained mutation-flavored inputs (rows, keep, newName) alongside a name starting with 'manage_' leaves ambiguity about actual capabilities. No contradiction with the annotations, since it clearly frames the tool as a listing operation.

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?

The primary purpose is front-loaded in the first sentence and the rest is organized as compact per-option guidance with no filler. The closing 'Set action to one of: list' is near-redundant with the enum in the schema and reads awkwardly, but it costs only a few words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter tool with no output schema and near-zero schema documentation, the description covers the main listing modes but leaves a third of the parameters undefined and never characterizes the returned structure. An agent could make the common calls correctly but would have to guess at type, parent, and the write-shaped parameters.

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 only 8%, so the description must compensate — and it does explain roughly half the parameters (name, names, tree, unusedOnly, companies, offset, action). It leaves type, parent, keep, rows, and newName entirely unexplained, which is a real gap when the schema carries almost no documentation of its own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource — 'List accounting categories for the active company, including their account types' — which is unambiguous about what the call returns. It does not, however, differentiate itself from siblings such as manage_accounts or manage_company, so the agent gets no explicit routing signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use each option (name to find, tree=true for hierarchy, unusedOnly=true for unused, companies to compare, offset to paginate), which is genuinely helpful mode guidance. It never states when to prefer this tool over an alternative sibling, so tool-selection guidance is only implied.

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.