Skip to main content
Glama

Switchbooks

Browse Classes

manage_classes
Read-onlyIdempotent

List the active company's classes, the locations, departments or properties its P&L can be read by, including archived and merged ones. 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_classes"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
namesNo
actionNo
companyNoCompany for this call only: its ID, exact name, or a unique part of the name. Leave out to use the active company.
newNameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds substantive scoping behavior beyond that: results are limited to the active company and include archived and merged classes, which materially affects what an agent receives.

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?

Two short sentences, front-loaded with what the tool returns. The trailing 'Set action to one of: list' is slightly awkward phrasing but carries real information. No filler.

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

Completeness2/5

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

With five parameters, 20% schema coverage and no output schema, the description leaves too much unsaid: filtering semantics for name/names, the purpose of newName, and whether results are paginated or ordered. For a tool whose name implies mutation but whose only action is list, that ambiguity should be addressed head-on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (just the `company` override), so the description must compensate for name, names, action and newName — and it does not. It never explains that name/names act as filters, and it leaves newName completely unexplained, which is especially confusing on a list-only operation.

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?

States a specific verb (list) and resource (the active company's classes), then defines what a 'class' is in this domain (the locations, departments or properties a P&L can be read by). This separates it reasonably from manage_accounts/manage_categories, though it never explicitly contrasts with those siblings.

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 pins the only supported action ('Set action to one of: list'), which usefully resolves the mismatch between the 'manage_' name and a read-only tool. However, it gives no guidance on when to prefer this over sibling tools like manage_categories, and no conditions for using the name/names filters.

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.