Skip to main content
Glama

building-intelligence

Server Details

Building intelligence for NYC, LA, Chicago rentals: violations, 311, reviews, rents, landlords.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

5 tools
get_building_reportGet building reportA
Read-onlyIdempotent
Inspect

Full report card for one building: LucidIQ score and letter grade, HPD/DOB violation counts, 311 complaint total, top violation categories (pests, heat, leaks, ...), review count and average rating, rent summary by bedroom count, rent stabilization, landlord name with their record URL, and 2-3 similar nearby buildings. Requires the building's slug — call search_buildings first if you only have an address. The returned url has the complete timeline, all reviews, and rent history; share it with the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity/metro: "nyc", "los-angeles", or "chicago"
slugYesBuilding slug from search_buildings results, e.g. "48-04-48th-avenue"

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesCanonical lucidrents.com page URL (UTM-tagged)
zipNo
cityYes
moreYesWhat the linked page adds beyond this payload
slugYes
gradeNoLetter grade derived from the score ("A+" through "F", "—" when unscored)
scoreNoLucidIQ score, 0-100
issuesYes
addressNo
boroughNo
reviewsYes
landlordNoOwner/manager with their record URL, when on file
sectionsYesDeep links to page sections
data_as_ofYesISO date of the data snapshot
year_builtNo
total_unitsNo
rent_summaryYesRent summary by bedroom count
similar_nearbyYes
rent_stabilizedYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare this as a read-only, idempotent operation, so the description need not repeat that. It adds valuable context beyond annotations by listing the exact contents of the report and noting that 'the returned url has the complete timeline, all reviews, and rent history', which is behavioral info about the output.

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 description is a single, dense sentence front-loaded with the report contents, followed by a concise prerequisite note. It avoids extraneous words, though the enumerated list is somewhat long; still, every element contributes to the agent's understanding.

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?

Given the tool's complexity (report with many fields) and the presence of an output schema, the description effectively covers purpose, inputs, and output behavior, including the pointer to the full URL. It doesn't address error cases or rate limits, but those are not implied as critical for this read-only tool, so it is adequately complete.

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 coverage is 100% for both parameters (city and slug), so baseline is 3. The description adds that slug comes from 'search_buildings results' and gives an example format, but it doesn't elaborate on the city parameter beyond the schema. This is a marginal enhancement that warrants a 3.

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 description clearly states the tool produces a 'full report card for one building' enumerating specific data points (LucidIQ score, violation counts, rent summary). It uniquely identifies this as the comprehensive building report, distinguishing it from siblings like get_landlord_record or get_review_summary which focus on narrower aspects.

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?

The description explicitly directs the agent to 'call search_buildings first if you only have an address,' establishing a clear prerequisite and linking to a sibling. While it doesn't explicitly state when not to use it, this guidance is sufficient context for proper invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_landlord_recordGet landlord recordA
Read-onlyIdempotent
Inspect

Public record for a landlord / property owner: portfolio size, total violations, 311 complaints, average building score across the portfolio, and worst building where available. Accepts either the owner name as it appears in a building report (e.g. "SMITH REALTY LLC") or a landlord page slug. The returned url lists every building they own with per-building records.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity/metro: "nyc", "los-angeles", or "chicago"
slugOrNameYesOwner name or landlord slug. Building reports include the exact owner name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesCanonical lucidrents.com page URL (UTM-tagged)
cityYes
moreYesWhat the linked page adds beyond this payload
nameYes
data_as_ofYesISO date of the data snapshot
portfolio_sizeYesNumber of buildings on record
worst_buildingNo
total_complaintsYes
total_violationsYes
avg_building_gradeNoLetter grade derived from the score ("A+" through "F", "—" when unscored)
avg_building_scoreNo
total_dob_violationsYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this as read-only, idempotent, and non-destructive. The description adds useful context by stating the record is public, noting the 'worst building where available' caveat, and explaining that the returned URL lists all owned buildings with per-building records.

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?

The description is tight and front-loaded: it opens with the tool's purpose, lists the key data fields, then covers input forms and output behavior. Every sentence contributes meaningful information without repetition or fluff.

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 two-parameter read-only tool with a full output schema and strong annotations, the description is sufficiently complete. It covers purpose, inputs, example identifier, and output characteristics, leaving no major gaps for an agent to select and invoke the tool correctly.

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% and property descriptions already define the parameters. The description adds a concrete example ('SMITH REALTY LLC') and clarifies the owner name should appear exactly as it does in a building report, which supplements the schema's meaning for slugOrName.

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 description clearly identifies the tool as fetching a public record for a landlord/property owner and enumerates the key data points: portfolio size, violations, 311 complaints, average building score, and worst building. This distinguishes it from sibling tools like get_building_report, which target individual buildings.

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?

The description makes clear when this tool is appropriate: when you need landlord-level portfolio data rather than a single building report. It also specifies acceptable identifier forms (owner name or landlord page slug). It does not explicitly exclude alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_neighborhood_statsGet neighborhood statsA
Read-onlyIdempotent
Inspect

Neighborhood snapshot for a zip code: median asking rents by bedroom count and a 12-month crime summary (violent / property / quality-of-life, with year-over-year totals) sourced from the local police department. Use this for "what does rent cost in " and "is safe" questions. The returned url is the neighborhood page with building listings and trend charts.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipYes5-digit zip code, e.g. "11377"
cityYesCity/metro: "nyc", "los-angeles", or "chicago"

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesCanonical lucidrents.com page URL (UTM-tagged)
zipYes
cityYes
moreYesWhat the linked page adds beyond this payload
crimeNo12-month crime summary from the local police department
data_as_ofYesISO date of the data snapshot
neighborhoodNoNeighborhood name for the zip, when known
median_rents_by_bedroomsYes

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds useful context beyond those annotations by mentioning the source, the time window, the specific metric categories, and the returned URL. It is transparent enough, though it could mention coverage limitations or city support explicitly.

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?

The description is three compact sentences: what is returned, when to use it, and what the returned URL offers. Every sentence earns its place and the structure is easy for an agent to consume.

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?

For a simple read-only tool with rich annotations and an output schema, this description is remarkably complete: it names the data categories, source, cadence, typical user questions, and the return-link meaning. It does not clarify why the city parameter is required or which city values are supported, which creates minor ambiguity.

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?

The input schema covers both parameters with descriptions, so the baseline of 3 applies. The free-text description adds little semantic detail about the parameters themselves beyond referring to a zip code, and the city parameter's allowed values are left to the schema, which actually contains an enum/description mismatch.

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 description clearly defines the tool as a neighborhood snapshot for a zip code, naming the exact contents: median asking rents by bedroom count and a 12-month crime summary. It is specific and easily distinguished from the sibling building, landlord, review, and search tools.

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?

It explicitly says to use the tool for 'what does rent cost in <area>' and 'is <area> safe' questions, which gives the agent clear when-to-use guidance. It does not explicitly list when-not-to-use or call out an alternative sibling, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_review_summaryGet review summaryA
Read-onlyIdempotent
Inspect

Tenant review summary for one building: review count, average rating, 1-5 star distribution, and up to 3 recent pull quotes from published tenant reviews. Requires the building's slug — call search_buildings first if you only have an address. The returned url (anchored at #reviews) has every review in full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity/metro: "nyc", "los-angeles", or "chicago"
slugYesBuilding slug from search_buildings results, e.g. "48-04-48th-avenue"

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesCanonical lucidrents.com page URL (UTM-tagged)
cityYes
moreYesWhat the linked page adds beyond this payload
slugYes
addressNo
avg_ratingNoAverage rating, 1-5
data_as_ofYesISO date of the data snapshot
pull_quotesYesUp to 3 recent review excerpts
review_countYes
building_gradeNoLetter grade derived from the score ("A+" through "F", "—" when unscored)
building_scoreNo
rating_distributionYes

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare read-only, idempotent, and non-destructive behavior. The description adds useful context by noting that only published tenant reviews are included, quotes are limited to 3, and the returned URL anchored at #reviews contains the full review text.

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?

The description is two sentences with no filler. The first sentence front-loads the purpose and output contents; the second covers prerequisites and a key output detail.

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 simple read-only tool with rich annotations, full schema coverage, and an output schema, this description is complete. It covers the purpose, scope, prerequisite workflow, and a relevant output caveat without needing to restate structured metadata.

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?

Input schema description coverage is 100%, so the baseline is 3. The description adds the workflow of using search_buildings to obtain a slug, but it provides no additional meaning for the city parameter and does not resolve the schema's inconsistency where the enum lists only 'nyc' while the property description mentions multiple metros.

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 description states precisely what the tool does: provides a tenant review summary for one building, including review count, average rating, 1-5 star distribution, and up to 3 recent pull quotes. This clearly distinguishes it from sibling tools like get_landlord_record or get_neighborhood_stats.

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?

It explicitly explains that the building slug is required and directs the caller to search_buildings first if only an address is available. This is a clear prerequisite and usage alternative, helping the agent know exactly how to invoke the tool correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_buildingsSearch buildingsA
Read-onlyIdempotent
Inspect

Search LucidRents for apartment buildings by address, building name, or partial address. Covers ~2M buildings in New York City, Los Angeles, and Chicago with public-record data: housing violations, 311 complaints, tenant reviews, rents, and building scores. Returns up to 10 matches with each building's slug (needed for get_building_report / get_review_summary) and its lucidrents.com report URL. Start here when the user gives an address.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city filter. Omit to search all covered cities.
queryYesAddress or building name to search, e.g. "48-04 48th Ave" or "350 Park Ave"

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityYesCity searched, or "all"
moreYesWhat the linked page adds beyond this payload
queryYes
resultsYesUp to 10 matches, best first
data_as_ofYesISO date of the data snapshot
result_countYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior, so the description adds value by disclosing the match cap (10), city scope, data sources, and output components (slug + report URL). This goes beyond the structured metadata without contradicting it.

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?

The description is three sentences, front-loads the core purpose, and every sentence adds useful information: coverage, data types, return contents, and when to use. No wasted words or redundant restating of the title.

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?

Given the output schema exists and annotations cover safety, the description provides enough operational context: city coverage, public-record data categories, result limit, output purpose (slug for downstream tools), and a usage cue. This is complete for a read-only search 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 coverage is 100% and the schema already documents query and city with examples and constraints. The description reinforces that query can be an address or building name and that city is optional, but it doesn't add symbolic meaning beyond the schema. Baseline 3 applies.

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 description clearly names the verb + resource ('Search LucidRents for apartment buildings') and specifies the search dimensions (address, building name, partial address). It also differentiates this from siblings by noting it produces the slug needed for downstream report tools.

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?

The description says 'Start here when the user gives an address,' which is explicit when-to-use guidance. It also explains that the returned slug is needed for get_building_report / get_review_summary, establishing the tool's place in the workflow. It doesn't list explicit when-not-to-use scenarios, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updates
    • Changedget_building_report1 field changed
      • changedInput schema / properties / city / enum
        Previous value: -[
        -  "nyc",
        -  "los-angeles",
        -  "chicago"
        -]New value: +[
        +  "nyc"
        +]
    • Changedget_landlord_record1 field changed
      • changedInput schema / properties / city / enum
        Previous value: -[
        -  "nyc",
        -  "los-angeles",
        -  "chicago"
        -]New value: +[
        +  "nyc"
        +]
    • Changedget_neighborhood_stats1 field changed
      • changedInput schema / properties / city / enum
        Previous value: -[
        -  "nyc",
        -  "los-angeles",
        -  "chicago"
        -]New value: +[
        +  "nyc"
        +]
    • Changedget_review_summary1 field changed
      • changedInput schema / properties / city / enum
        Previous value: -[
        -  "nyc",
        -  "los-angeles",
        -  "chicago"
        -]New value: +[
        +  "nyc"
        +]
    • Changedsearch_buildings1 field changed
      • changedInput schema / properties / city / enum
        Previous value: -[
        -  "nyc",
        -  "los-angeles",
        -  "chicago"
        -]New value: +[
        +  "nyc"
        +]
  2. 5 tool updates
    • Changedget_building_report1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": {},
        +  "properties": {
        +    "address": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "borough": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "city": {
        +      "type": "string"
        +    },
        +    "data_as_of": {
        +      "description": "ISO date of the data snapshot",
        +      "type": "string"
        +    },
        +    "grade": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Letter grade derived from the score (\"A+\" through \"F\", \"—\" when unscored)"
        +    },
        +    "issues": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "complaints_311": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "dob_violations": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evictions_filed": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "hpd_violations": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "litigations": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "top_violation_categories": {
        +          "items": {
        +            "additionalProperties": {},
        +            "properties": {
        +              "category": {
        +                "type": "string"
        +              },
        +              "count": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "category",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "top_violation_categories"
        +      ],
        +      "type": "object"
        +    },
        +    "landlord": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "url": {
        +              "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "url"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Owner/manager with their record URL, when on file"
        +    },
        +    "more": {
        +      "description": "What the linked page adds beyond this payload",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rent_stabilized": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "stabilized": {
        +          "type": "boolean"
        +        },
        +        "stabilized_units": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "stabilized"
        +      ],
        +      "type": "object"
        +    },
        +    "rent_summary": {
        +      "description": "Rent summary by bedroom count",
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "bedrooms": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "listing_count": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "max_rent": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "median_rent": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "min_rent": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "source": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "reviews": {
        +      "additionalProperties": {},
        +      "properties": {
        +        "avg_rating": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "count": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "score": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "LucidIQ score, 0-100"
        +    },
        +    "sections": {
        +      "additionalProperties": {},
        +      "description": "Deep links to page sections",
        +      "properties": {
        +        "landlord": {
        +          "type": "string"
        +        },
        +        "rent_intelligence": {
        +          "type": "string"
        +        },
        +        "reviews": {
        +          "type": "string"
        +        },
        +        "violations": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "violations",
        +        "reviews",
        +        "rent_intelligence",
        +        "landlord"
        +      ],
        +      "type": "object"
        +    },
        +    "similar_nearby": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "address": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "grade": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Letter grade derived from the score (\"A+\" through \"F\", \"—\" when unscored)"
        +          },
        +          "score": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "total_units": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "url": {
        +            "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +            "type": "string"
        +          },
        +          "year_built": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "slug",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "total_units": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "url": {
        +      "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +      "type": "string"
        +    },
        +    "year_built": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "zip": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "city",
        +    "slug",
        +    "rent_stabilized",
        +    "issues",
        +    "reviews",
        +    "rent_summary",
        +    "similar_nearby",
        +    "url",
        +    "sections",
        +    "data_as_of",
        +    "more"
        +  ],
        +  "type": "object"
        +}
    • Changedget_landlord_record1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": {},
        +  "properties": {
        +    "avg_building_grade": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Letter grade derived from the score (\"A+\" through \"F\", \"—\" when unscored)"
        +    },
        +    "avg_building_score": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "city": {
        +      "type": "string"
        +    },
        +    "data_as_of": {
        +      "description": "ISO date of the data snapshot",
        +      "type": "string"
        +    },
        +    "more": {
        +      "description": "What the linked page adds beyond this payload",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "portfolio_size": {
        +      "description": "Number of buildings on record",
        +      "type": "number"
        +    },
        +    "total_complaints": {
        +      "type": "number"
        +    },
        +    "total_dob_violations": {
        +      "type": "number"
        +    },
        +    "total_violations": {
        +      "type": "number"
        +    },
        +    "url": {
        +      "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +      "type": "string"
        +    },
        +    "worst_building": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "properties": {
        +            "address": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "violations": {
        +              "anyOf": [
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            }
        +          },
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "name",
        +    "city",
        +    "portfolio_size",
        +    "total_violations",
        +    "total_dob_violations",
        +    "total_complaints",
        +    "url",
        +    "data_as_of",
        +    "more"
        +  ],
        +  "type": "object"
        +}
    • Changedget_neighborhood_stats1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": {},
        +  "properties": {
        +    "city": {
        +      "type": "string"
        +    },
        +    "crime": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "properties": {
        +            "property": {
        +              "anyOf": [
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "quality_of_life": {
        +              "anyOf": [
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            },
        +            "violent": {
        +              "anyOf": [
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "null"
        +                }
        +              ]
        +            }
        +          },
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "12-month crime summary from the local police department"
        +    },
        +    "data_as_of": {
        +      "description": "ISO date of the data snapshot",
        +      "type": "string"
        +    },
        +    "median_rents_by_bedrooms": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "bedrooms": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "median_rent": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "more": {
        +      "description": "What the linked page adds beyond this payload",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "neighborhood": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Neighborhood name for the zip, when known"
        +    },
        +    "url": {
        +      "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +      "type": "string"
        +    },
        +    "zip": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "city",
        +    "zip",
        +    "median_rents_by_bedrooms",
        +    "url",
        +    "data_as_of",
        +    "more"
        +  ],
        +  "type": "object"
        +}
    • Changedget_review_summary1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": {},
        +  "properties": {
        +    "address": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "avg_rating": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Average rating, 1-5"
        +    },
        +    "building_grade": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "description": "Letter grade derived from the score (\"A+\" through \"F\", \"—\" when unscored)"
        +    },
        +    "building_score": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "city": {
        +      "type": "string"
        +    },
        +    "data_as_of": {
        +      "description": "ISO date of the data snapshot",
        +      "type": "string"
        +    },
        +    "more": {
        +      "description": "What the linked page adds beyond this payload",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "pull_quotes": {
        +      "description": "Up to 3 recent review excerpts",
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "date": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "excerpt": {
        +            "type": "string"
        +          },
        +          "rating": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "excerpt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "rating_distribution": {
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "count": {
        +            "type": "number"
        +          },
        +          "stars": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "stars",
        +          "count"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "review_count": {
        +      "type": "number"
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "city",
        +    "slug",
        +    "review_count",
        +    "rating_distribution",
        +    "pull_quotes",
        +    "url",
        +    "data_as_of",
        +    "more"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_buildings1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": {},
        +  "properties": {
        +    "city": {
        +      "description": "City searched, or \"all\"",
        +      "type": "string"
        +    },
        +    "data_as_of": {
        +      "description": "ISO date of the data snapshot",
        +      "type": "string"
        +    },
        +    "more": {
        +      "description": "What the linked page adds beyond this payload",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "result_count": {
        +      "type": "number"
        +    },
        +    "results": {
        +      "description": "Up to 10 matches, best first",
        +      "items": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "address": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "borough": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "city": {
        +            "type": "string"
        +          },
        +          "grade": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Letter grade derived from the score (\"A+\" through \"F\", \"—\" when unscored)"
        +          },
        +          "review_count": {
        +            "type": "number"
        +          },
        +          "score": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "LucidIQ score, 0-100"
        +          },
        +          "slug": {
        +            "description": "Building slug — pass to get_building_report / get_review_summary",
        +            "type": "string"
        +          },
        +          "url": {
        +            "description": "Canonical lucidrents.com page URL (UTM-tagged)",
        +            "type": "string"
        +          },
        +          "violation_count": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "slug",
        +          "city",
        +          "violation_count",
        +          "review_count",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "query",
        +    "city",
        +    "result_count",
        +    "results",
        +    "data_as_of",
        +    "more"
        +  ],
        +  "type": "object"
        +}
  3. 5 tool updates
    • First observedget_building_report
    • First observedget_landlord_record
    • First observedget_neighborhood_stats
    • First observedget_review_summary
    • First observedsearch_buildings

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Submarket-level US residential rental intelligence for AI agents. Search, compare, rank, and analyze rent data, trends, vacancy, affordability, and days on market across 1,000+ named submarkets in the 20+ largest US metros. ZIP-level and metro-level queries included. Always current, always expanding. Free tier available.
    1
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI agents with instant access to jurisdiction-specific landlord-tenant law data and verified state statutes across five US states and major cities. It enables users to query legal rules for security deposits, eviction timelines, and habitability standards with sub-10ms local response times.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides free property and parcel intelligence using official US government data APIs, county assessor records, and live listings, with tools for hazard risk checks, affordability calculations, and parcel ranking.
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for NYC housing data, enabling tenant organizers and legal-aid intakes to pull building violations, complaints, ownership, litigation, and evictions. It wraps six city datasets from NYC Open Data.
    6
    296
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource: search, building report, landlord record, neighborhood stats, and review summary. There is no overlap in purpose, and descriptions make it clear when to use each.

Naming Consistency5/5

All tools follow a consistent `verb_noun` pattern using snake_case (search_buildings, get_building_report, get_landlord_record, get_neighborhood_stats, get_review_summary). This makes the API predictable and easy to navigate.

Tool Count5/5

With 5 tools, the set is well-scoped for a building intelligence server. It covers search, detailed reports, landlord info, and neighborhood context without bloat.

Completeness5/5

The tool surface covers the core lifecycle of a user's query: search, building details (including violations, rent, and similar buildings), landlord records, neighborhood stats, and reviews. No essential operation is missing for the stated purpose.

Resources