Skip to main content
Glama

List open violations, open DOB jobs and unpaid tickets

list_open_issues
Read-onlyIdempotent

List every open item for a property: DOB jobs with a permit issued but no sign-off, active DOB and ECB violations, open HPD violations, and OATH tickets with an unpaid balance or a pending hearing. Each record has status, dates, a plain-English description and its source dataset. Requires one of "address", "bbl" or "bin".

Input Schema

NameRequiredDescriptionDefault
bblNo10-digit BBL (borough-block-lot), e.g. "3030090016". Send it as text.
binNo7-digit DOB building number (BIN), e.g. "3070696". Send it as text.
zipNoOptional 5-digit ZIP, sent as text
limitNoMaximum records per section
addressNoNYC street address, e.g. "98 Grattan St, Brooklyn". Units (Apt 3B), borough and ZIP are optional; a 10-digit BBL or 7-digit BIN also works.
boroughNoOptional: Manhattan, Bronx, Brooklyn, Queens or Staten Island

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / bbl / description
      Previous value: -"10-digit BBL (instead of address)"New value: +"10-digit BBL (borough-block-lot), e.g. \"3030090016\". Send it as text."
    • addedInput schema / properties / bin
      Added value: +{
      +  "description": "7-digit DOB building number (BIN), e.g. \"3070696\". Send it as text.",
      +  "type": "string"
      +}
    • addedInput schema / properties / borough
      Added value: +{
      +  "description": "Optional: Manhattan, Bronx, Brooklyn, Queens or Staten Island",
      +  "type": "string"
      +}
    • addedInput schema / properties / limit / description
      Added value: +"Maximum records per section"
    • addedInput schema / properties / zip
      Added value: +{
      +  "description": "Optional 5-digit ZIP, sent as text",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered; the description adds genuinely new behavioral detail by defining the 'open' predicate for each dataset and describing the shape of each returned record (status, dates, plain-English description, source dataset). It stops short of noting result volume, section-level paging behavior, or how conflicting identifiers are resolved.

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?

Two sentences, zero filler. The scope and category enumeration come first, and the hard input requirement is placed last as a gate, which is exactly where an agent needs it before constructing a call.

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 six-parameter read-only aggregation tool with annotations and no output schema, the description covers the necessary ground: what counts as open, what a record contains, and the identifier requirement. The remaining gaps (whether multiple identifiers are ANDed, how the per-section limit affects total results) are minor but not fully closed by the schema.

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 a constraint the schema does not express: although the schema marks zero parameters required, the prose states that one of address, bbl or bin must be supplied. That is real meaning beyond the structured fields, though it does not clarify precedence when several identifiers are sent or what zip/borough/limit do in combination.

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?

Uses a specific verb ('List') plus a precisely scoped resource ('every open item for a property') and then enumerates the exact categories returned: DOB jobs without sign-off, active DOB/ECB and HPD violations, and OATH tickets unpaid or pending hearing. That level of enumeration makes it unmistakable against siblings like get_property or search_properties, which do not aggregate open compliance items.

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 closing sentence establishes the entry condition ('Requires one of "address", "bbl" or "bin"'), and the definition of 'open' is spelled out per category, so an agent knows exactly which situation this tool serves. It does not name an alternative tool or state when to prefer get_property over this, which keeps it below a 5.

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