Skip to main content
Glama

taxapp.nz

Find contacts

list_contacts
Read-onlyIdempotent

Finds the organisation's contacts - the people and businesses it deals with, such as suppliers, tenants, contractors, property owners, landlords and accountants - with their ids, names, contact types and contact details. IRD numbers and bank account numbers are never included. Use the ids with the other tools; to find the contact a person names, search by part of the name. When the person's words match more than one, or none, show them the closest and ask which they mean; never guess an id. Pages of up to 500: the answer gives items, total, offset and limit.

Input Schema

NameRequiredDescriptionDefault
limitNoHow many records to return, 1 to 500. The default is 100.
offsetNoHow many records to skip, to page through a long list: the answer's total says how many there are. The default is 0.
searchNoPart of a name or email address to look for.
contact_typeNoOnly contacts of this type: supplier, tenant, contractor, property-owner, landlord or accountant, or a type the organisation added itself (list_choices gives every one with its label).
organisation_idNoThe id of the organisation to use, from list_organisations. Leave it out when the connection covers only one organisation; it is required when it covers more than one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / contact_type / description
      Previous value: -"Only contacts of this type: supplier, tenant, contractor, property-owner, landlord or accountant (an organisation may add its own types; list_contacts shows the ones in use)."New value: +"Only contacts of this type: supplier, tenant, contractor, property-owner, landlord or accountant, or a type the organisation added itself (list_choices gives every one with its label)."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the safety profile is done. The description adds genuinely non-derivable behavior: IRD and bank account numbers are never included in results, and pagination is capped at 500 with a defined response shape (items, total, offset, limit). It does not describe ordering or error behavior, but the added disclosure is substantial.

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?

It is one dense, front-loaded block covering resource definition, exclusions, id usage, ambiguity handling and pagination with no filler sentences. The long run-on structure across multiple concerns slightly hurts scanability, but every clause earns its place.

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?

There is no output schema, and the description compensates by naming the returned fields and the pagination envelope (items, total, offset, limit). Combined with the 100%-covered input schema and full annotation set, an agent has everything needed to call and interpret this tool.

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 100%, so all five parameters are already documented in the schema. The description adds only marginal meaning ('search by part of the name', the 500-page cap), repeating the schema's own guidance on paging and default limit. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb and resource ('Finds the organisation's contacts') and then defines the resource concretely (suppliers, tenants, contractors, property owners, landlords, accountants) with the fields returned. This clearly separates it from create_contact, update_contact and list_contact_types in the sibling set.

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?

Gives explicit operational guidance: use the returned ids with other tools, search by part of the name when a person names a contact, and when matches are ambiguous or absent show the closest and ask rather than guessing an id. This is when-to-use plus a when-not behavior (never guess an id) that an agent must follow.

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.