Skip to main content
Glama

Invio Xero MCP

list_pending_changes

list_pending_changes
Read-only

Lists the changes YOU (or another assistant on this account) have proposed against Xero - across every organisation this token may reach, not just the current one. Read-only; nothing is created or changed. Three groups: "pending" rows are still awaiting approval or rejection; "needsAttention" rows are not (a write that failed, or one stuck mid-execution) but are worth mentioning because something the person authorised did not visibly happen; "history" is the most recent already-resolved rows (approved-but-not-yet-sent, sent, rejected, expired, or cancelled) - use it to answer "what happened to the thing I approved last week" rather than telling the user to go check Xero. A row whose approval window has simply run out is reported here too, as status "expired" - Invio moves it into history on its own within about an hour, and this tool already reports it that way immediately, before that background sweep gets to it; it never counts as still "pending" and never counts toward maxOpenPendingChanges below. A failed or stranded row in needsAttention/history carries errorMessage/errorCode explaining why, and a sent one carries result with the id/number Xero assigned. Every row carries approvalUrl - the same link a draft-creating tool's own result carries - point the user at it rather than inventing a path. Use this when asked "what am I waiting to approve" or "what happened to X", after drafting several changes in one conversation to summarise what is now queued, or before drafting another change against the same invoice/contact to check whether an earlier one is still unresolved. If truncated is true, more pending/needsAttention changes matched than were returned - say so rather than presenting the two lists as everything waiting, and suggest approving or rejecting some before asking again. maxOpenPendingChanges is the most "pending" changes this account may have open at once before drafting a new one is refused - if pending.length is getting close to it, mention that to the user before it becomes a failed draft.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses rich behavioral details: the three groups' semantics, the 'expired' status and its immediate reporting before the background sweep, the presence of errorMessage/errorCode on failed rows, the result field on sent rows, and the approvalUrl linkage. It also explains truncation behavior and the maxOpenPendingChanges constraint. This far exceeds what annotations provide and fully informs the agent of side effects and edge cases.

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 long (~200 words) but every sentence carries essential information given the tool's complexity (three groups, special statuses, truncation, quota). It is structured logically: purpose, group definitions, special cases, usage guidance, and actionable notes. No fluff; each sentence earns its place. For a zero-parameter tool that returns complex data, this is appropriately concise.

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?

With no output schema and no parameters, the description carries the full burden of explaining the tool's behavior. It covers the three return groups, the meaning of fields like errorMessage, result, and approvalUrl, the expiration handling, truncation semantics, and the pending-changes quota. It leaves nothing an agent needs to call and interpret this tool correctly.

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 no parameters (input schema is empty), so the baseline is 4. The description doesn't need to add parameter semantics, but it does clarify the output structure (groups, fields, statuses) which indirectly helps understand what the tool returns. Since there are no parameters, no additional value is required, and the description appropriately omits parameter details.

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 verb ('lists') and resource ('changes YOU (or another assistant) have proposed against Xero'), and explicitly defines three output groups (pending, needsAttention, history). It distinguishes itself from sibling tools like approve_xero_pending_change and the creation tools by focusing on listing proposed changes across all organisations. The inclusion of 'across every organisation this token may reach' adds a precise scope that leaves no ambiguity.

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?

Provides explicit when-to-use conditions: 'Use this when asked "what am I waiting to approve" or "what happened to X", after drafting several changes in one conversation to summarise what is now queued, or before drafting another change against the same invoice/contact to check whether an earlier one is still unresolved.' It also gives a negative directive: avoid telling the user to check Xero for history, since this tool covers it. This is clear and actionable.

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