Skip to main content
Glama
qbo-multicompany-mcp

qbo-multicompany-mcp

List QuickBooks companies

list_entities
Read-onlyIdempotent

Lists every configured QuickBooks company with its authorization state and token refresh freshness, then identifies the 'entity' key required by all other tools. Reads the local token store only.

Instructions

List every QuickBooks company this server is configured for, with its authorisation state and refresh freshness. Reads the local token store only; makes no request to QuickBooks. Use this to discover the 'entity' key that every other tool requires.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
entitiesYes
read_onlyNo
fetched_atYes
environmentYes
entity_countYes
token_store_noteNo
token_store_availableYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

The description adds real behavioural detail beyond the annotations: it reads the local token store only and makes no network call, and it reports authorisation state and refresh freshness. The 'no request to QuickBooks' point partially restates openWorldHint=false, and it does not say what happens when the token store is empty or how stale a token must be to be flagged, so it stops short of full disclosure.

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?

Three short sentences, front-loaded with what the tool returns, then the isolation guarantee, then the routing instruction. No filler or restatement of the title.

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?

For a zero-parameter, read-only discovery tool with a declared output schema, the description covers the remaining unknowns: data source (local token store), side effects (none), and downstream purpose (entity key for all other tools). Nothing an agent needs in order to call it correctly is missing.

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?

There are zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool applies. It does usefully name the output field ('entity' key) that callers must carry forward, which is extra value even though output_schema exists.

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 opens with a concrete verb and resource ('List every QuickBooks company this server is configured for') and adds what each entry carries (authorisation state, refresh freshness). That distinguishes it clearly from data-listing siblings like list_accounts or list_vendors, which enumerate a single company's records rather than the configured companies themselves.

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

Usage Guidelines5/5

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

It states the operative condition directly: 'Use this to discover the entity key that every other tool requires.' That is both a when-to-use rule and an ordering constraint relative to every sibling in the set, which is exactly the routing information an agent needs at startup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.