Skip to main content
Glama

Search GSA lease comps (federal tenant)

lease_comp_search
Read-onlyIdempotent

Search the 6,994 lease comps from the U.S. General Services Administration's Lease Inventory (October 2026 file, FactLot release lease-comps-gsa-2026-11-04), bundled with FactLot: works offline and on the hosted API, no registry needed. READ THE CAVEAT: the tenant in every one of these leases is the federal government (GSA, for an agency); they are not market comps for private tenants, and the rent is the current annual rent in GSA's file divided by the rentable SF, not the starting rent (no escalations, free rent, TI or commissions are known). Filter by state, 5-digit county FIPS, city, ZIP, a radius around a latitude/longitude (GSA's own coordinates; nothing is geocoded), rentable SF, commencement date, rent per SF, property type (office, industrial, other) and expense basis; sort; limit (default 25, at most 200). Each comp gives its FactLot lease ID, GSA lease number, address, county FIPS, building ID, landlord (organisations only; individuals are never stored), rentable SF, commencement, expiration, term, early-termination date, annual rent, rent per SF per year, property type, expense basis and the row of the GSA file it comes from. summary gives the count and the median, quartiles and range of rent per SF over every match, labelled as statistics of GSA leases. Every answer carries the caveat and the citation (GSA file URL, SHA-256 document ID, as-of and retrieval dates, licence: public domain). Cite them, and never mix these comps silently into market comps.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "lease_comp_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
zipNo5-digit ZIP code (ZIP+4 accepted), e.g. "77002".
cityNoCity as GSA writes it, matched whole and ignoring case, e.g. "Houston".
nearNoComps within a radius of a point, by great-circle distance to the coordinates GSA's file gives for each lease (FactLot geocodes nothing; give the point's coordinates yourself). Comps without coordinates are left out and counted in warnings.
sortNoOrder of results: distance_asc (the default with near; needs near), commencement_desc (the default otherwise), commencement_asc, expiration_asc, expiration_desc, rent_psf_desc, rent_psf_asc, rentable_sf_desc, rentable_sf_asc. Ties go by GSA lease number.
limitNoMaximum comps returned (1–200, default 25); the summary covers every match.
stateNoTwo-letter state or territory code, e.g. "TX".
county_fipsNo5-digit county FIPS code (state + county), e.g. "48201" for Harris County, Texas. Connecticut uses its planning regions (09110 to 09190).
expense_basisNofull_service (GSA fully serviced) or not_full_service.
property_typeNooffice, industrial (GSA warehouse) or other (GSA special space): the largest use in the lease.
commencement_toNoLatest lease commencement (effective) date, YYYY-MM-DD.
max_rent_psf_yrNoHighest current rent, USD per rentable SF per year.
max_rentable_sfNoLargest lease rentable area, SF.
min_rent_psf_yrNoLowest current rent, USD per rentable SF per year (GSA's current annual rent divided by the RSF).
min_rentable_sfNoSmallest lease rentable area, SF.
commencement_fromNoEarliest lease commencement (effective) date, YYYY-MM-DD.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, and the description adds real value beyond them: offline/no-registry operation, how rent per SF is derived (current annual rent over RSF, not starting rent), what is unknown (escalations, free rent, TI, commissions), that statistics are labelled as GSA-lease statistics, and that every answer carries a citation. That is solid disclosure for a read tool, though return-shape and pagination behaviour beyond the field list are not covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The caveat is correctly front-loaded and the content is valuable, but it is one run-on block that re-enumerates filters and the limit default/size already fully specified in the schema, plus vendored detail (FactLot release ID, exact comp count). Trimming the schema-duplicating filter list would make it far easier to scan.

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 and 15 parameters, the description carries the burden well: it enumerates every returned field, explains the summary statistics, discloses the warnings for comps lacking coordinates, and states the citation/licence obligations. Nothing an agent needs to call this correctly or interpret results 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 a baseline of 3 applies, but the description genuinely adds meaning the schema cannot: the rent-PSF filters are defined as current annual rent divided by RSF rather than starting rent, and the radius filter uses GSA's own coordinates with nothing geocoded. These reinterpretations materially change how an agent chooses filter values.

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 ('Search the 6,994 lease comps from the U.S. General Services Administration's Lease Inventory') and pins the scope with the caveat that the tenant is always the federal government. An agent can distinguish this from market-comp or validation siblings without opening the schema.

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?

Strong when-not guidance: the READ THE CAVEAT block says these are not comps for private tenants and to never mix them silently into market comps. It lacks an explicit named alternative (e.g. lease_comp_validate) for the adjacent task, so it stops short of full routing.

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.