Skip to main content
Glama

Invio Xero MCP

get_xero_project

get_xero_project
Read-only

Full detail on one Xero Projects job, including what it has cost and what it has earned so far - projectId must be a Xero ProjectID (a GUID) from list_xero_projects, never guessed. Read-only. Covers time logged against tasks (totalTaskAmount), expenses logged (totalExpenseAmount), what has already been invoiced versus what is still to invoice (taskAmountInvoiced/taskAmountToBeInvoiced and the expense equivalents, plus the combined projectAmountInvoiced), any deposit taken and applied, and any credit notes raised against this project. Every money figure carries its own currency straight from Xero - never restate it in a different currency or assume it matches Invio's. If this call fails with an unauthorized/401-style error, it can mean this Xero organisation's plan does not include Xero Projects, or that this connection's Xero Projects access needs to be reconnected - say so rather than treating it as a generic failure.

Input Schema

NameRequiredDescriptionDefault
projectIdYes
organisationNoThe Xero organisation to use, by its display name. Only needed if this connection reaches more than one organisation - omit it when there is only one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / projectId / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

'Read-only' merely restates readOnlyHint, but the description adds substantial context the annotations cannot: the 401 may mean the Xero plan lacks Projects or the connection needs reconnecting, and every money figure carries its own Xero currency that must not be restated. Those are non-obvious failure and interpretation behaviors an agent would otherwise get wrong.

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?

Front-loaded with purpose, with constraints and currency/error caveats after. The long enumeration of cost and invoice fields is dense but earns its place as a stand-in for the missing output schema; it could be tightened by grouping the invoiced/to-invoice pairs.

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, the description deliberately names the return fields (totalTaskAmount, totalExpenseAmount, projectAmountInvoiced, deposits, credit notes) so the agent knows what the response contains. ID sourcing, currency semantics, and failure modes are all covered.

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?

Schema coverage is 50% (only `organisation` is documented in the schema); the description compensates by pinning `projectId` to a Xero ProjectID GUID sourced from list_xero_projects. It does not address `organisation`, but the schema already explains the single-vs-multi-org rule.

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?

Opening clause gives a specific verb and resource ('Full detail on one Xero Projects job') plus the scope of what is returned (cost, earned). It is clearly distinguishable from the sibling list_xero_projects, which is named as the only legitimate source of the ID.

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

Usage Guidelines4/5

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

Explicitly states that `projectId` must come from list_xero_projects and 'never guessed', which is a real usage constraint. It also tells the agent how to interpret a 401 rather than accept a generic failure, though it never states when to prefer a sibling over this tool beyond the ID-sourcing rule.

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