Skip to main content
Glama

taxapp.nz

Add a rental property

create_property
Idempotent

Adds a rental property: what it is called and where it is, and who owns what share of it. Rental income and expenses are split between the owners by their shares in the reports, so ask the person who owns it and in what shares. Each owner is a contact of type property-owner, from list_contacts; add a new owner with create_contact first. Check list_properties first that it is not already there: a property matching every part given (label, address) is answered instead. Needs the rental module switched on. Only for an organisation where this connection may add and change records (list_organisations says which). The answer is the saved property with its organisation's name; add its tenancies with create_tenancy.

Input Schema

NameRequiredDescriptionDefault
labelNoWhat the property is called, such as "Abby Close" or "Flat 2". Give this, the address, or both.
ownersNoWho owns the property and what share each owns. Leave it out when the person does not say.
addressNoThe property's street address, on one line.
allow_duplicateNoAdding is safe to repeat: the same details sent again return the record already made. Set true only when the person confirms they really want a second, identical record.
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. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare idempotentHint and destructiveHint=false, but the description adds context they cannot carry: the rental-module prerequisite, the per-connection write permission constraint, the duplicate-resolution behavior (a match on every given part is returned instead), and the shape of the reply. It also explicitly discloses that the returned record is the saved property with its organisation's name, which is valuable given there is no output schema.

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?

The purpose is front-loaded and every sentence carries information (prerequisites, duplicate check, owner sourcing, follow-up call). It is dense, though, with several long chained clauses, and a few statements restate schema content that the agent already receives.

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 5-parameter creation tool with no output schema, the description covers the full picture: prerequisites (module, permissions, org scoping), duplicate handling, owner sourcing and pre-creation of contacts, the return value, and the natural follow-up call. Nothing needed to invoke 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it tells the agent to ask the person who owns the property and in what shares rather than defaulting, and that the ownership split drives income/expense reporting. The mechanics of shares (sum to 100, 2 decimal places) remain in the schema, so this is a 4 rather than a 5.

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 first sentence names a specific verb and resource ('Adds a rental property') and immediately scopes it by what the record contains: label, address, and owner shares. It is trivially distinguishable from sibling create_* tools (create_tenancy, create_contact) because it names them as separate steps rather than overlapping them.

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?

Explicit when-to-use and dependency routing: check list_properties first to avoid duplicates, source owners from list_contacts (contact type property-owner), use create_contact for a new owner, add tenancies afterwards with create_tenancy, and only use it where the rental module is enabled and the connection may write. Naming the alternative for each sub-task leaves nothing to inference.

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.