Skip to main content
Glama

Get Vacant Unit Images

get_vacant_unit_images
Read-onlyIdempotent

Unit photos for every VACANT unit in a property — a make-ready review.

Use this for "show me photos of the vacant units at " or to build a vacant-unit review PDF for an owner. Finds the vacant units, pulls the photos off each one's IMAGES tab, and returns them grouped by unit, with a list of which vacant units have no photos uploaded yet.

For a single unit, use get_unit_images instead.

``location`` (optional): a Rent Manager Location ID, a comma-separated
list, or ``"all"`` to run across every Location on this connection (see
``list_locations``). Blank = all Locations if the connection has several,
else its only Location. Output is labelled per Location; a Location that
can't be reached is listed as skipped. IDs (property, tenant, ...) belong
to one Location, so pass that Location when you filter by one.

Input Schema

NameRequiredDescriptionDefault
locationNo
as_imagesNo
max_unitsNo
shortnameNo
property_idNo
include_udfsNo
max_images_per_unitNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_vacant_unit_imagesOutput",
      -  "type": "object"
      -}New value: +null
  2. Changed2 schema fields changed
    • addedInput schema / properties / location
      Added value: +{
      +  "default": "",
      +  "title": "Location",
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "title": "Result"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "title": "get_vacant_unit_imagesOutput",
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavioral detail: photos are grouped per unit, units with no photos are reported separately, unreachable Locations are returned as 'skipped', and output is labelled per Location. It doesn't disclose truncation behavior for max_units/max_images_per_unit, which is the main remaining gap for a bulk-fetch tool.

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 and sibling routing first, then the parameters block. Every sentence is informative, though the location paragraph is dense and the inline backtick-quoting adds some visual noise without adding meaning.

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?

There is no output schema, and the description does partially compensate by describing the return shape (photos grouped by unit plus a list of photo-less vacant units). However, for a 7-parameter bulk tool it leaves meaningful ambiguity about unit/image caps and about how property_id/shortname interact with location scoping.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 7 parameters, and the description only documents `location` (thoroughly — ID, CSV, 'all', blank default, cross-Location ID caveat). The six remaining parameters, including ambiguous ones like `shortname` vs `property_id` and `as_images`, get no explanation anywhere, so the description does not compensate for the coverage gap.

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 with a tight scope: 'Unit photos for every VACANT unit in a property — a make-ready review.' It also makes the aggregation visible (finds vacant units, pulls photos from each IMAGES tab, groups by unit) and explicitly distinguishes itself from get_unit_images for the single-unit case.

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 concrete trigger phrases ('show me photos of the vacant units at <park>') and a downstream use case (building a vacant-unit review PDF for an owner). The alternative is named with the exact condition that selects it: 'For a single unit, use get_unit_images instead.'

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