Skip to main content
Glama

DoorLoop MCP by usefulapi

List lease tenants

doorloop_list_lease_tenants
Read-only

List tenants joined to their leases, with move-in and move-out dates. Best way to map tenants to leases. DoorLoop API: GET /leases/tenants.

Input Schema

NameRequiredDescriptionDefault
textNoFilter by tenant name or email.
groupNoFilter by portfolio id.
leaseNoFilter by lease id.
statusNoOccupancy status.
sort_byNoField name of the resource to sort by, for example createdAt.
propertyNoFilter by property id.
page_sizeNoResults per page (default 50, max 1000).
page_numberNoPage number (default 1).
movedInAt_toNoMove-in date to (yyyy-mm-dd).
movedInAt_fromNoMove-in date from (yyyy-mm-dd).
sort_descendingNoSort in descending order (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint already declares this a safe read, and the description adds that results are a tenant-lease join including dates, plus the underlying GET /leases/tenants endpoint for cross-referencing docs. It does not describe whether records are join objects vs. nested tenants, nor anything about pagination semantics (page_size/page_number appear only in schema).

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?

Three compact sentences with zero filler: purpose first, selection benefit second, endpoint last. Every sentence earns its place and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 optional params, 100% schema coverage, no output schema and readOnly annotations, the description covers what an agent needs to decide and call. Minor gap: no hint about result shape beyond dates (e.g., whether tenant fields are inlined).

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 11 filtering/sorting/paging parameters are already documented. The description adds no extra semantics beyond noting dates exist, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List tenants joined to their leases') and names the returned attributes (move-in/move-out dates). The phrase 'Best way to map tenants to leases' implicitly distinguishes it from sibling list_tenants and list_leases without naming them explicitly.

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

Usage Guidelines3/5

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

'Best way to map tenants to leases' gives a positive selection cue, but there is no explicit when-not guidance nor any named alternative such as doorloop_list_tenants or doorloop_get_lease. An agent must infer the boundary conditions.

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.