Skip to main content
Glama
QuickBooks Online MCP Server

QuickBooks Online MCP Server

by NightSquawk

get_purchase_order

Retrieve a single purchase order from QuickBooks Online by its ID. Use it to fetch full details for one order when you have the purchase order ID.

Instructions

Get a single purchase order by ID from QuickBooks Online.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
paramsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the operation name. It does not say whether the call is read-only (implied), what permissions or company context are required, what happens on a missing or malformed ID, or whether the full object including line items is returned.

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?

A single short sentence with the operation front-loaded and no wasted clauses. It is tight, though the terseness borders on under-specification rather than optimal density.

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 one-parameter read tool with no output schema, the minimal description is close to sufficient, but it omits the ID format expected by QuickBooks Online and any note about the richness of the returned record. An agent can call it correctly but cannot anticipate the response or failure modes.

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 reported at 0%, but the nested 'id' property does carry the terse label 'Purchase Order ID'. The description adds only that the ID selects a single record, which is already evident from the schema's required single field, so it neither compensates for nor worsens the thin coverage.

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 description states a specific verb and resource ('Get a single purchase order by ID') and names the source system, QuickBooks Online. It is clearly distinguishable from write siblings like update_purchase_order or delete_purchase_order, but it does not explicitly contrast with search_purchase_orders, which is the nearest read-side alternative.

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?

'by ID' implicitly signals the precondition that the caller already holds a purchase order ID rather than search criteria, which is a soft routing hint away from search_purchase_orders. There is no explicit statement of when to prefer this tool over the search variant, and no guidance on what happens when the ID is unknown or invalid.

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

Deploy Server

Other Tools