Zoning Signal
Server Details
US municipal zoning intelligence — corridor analysis, place dossiers, named-pattern detection.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
17 toolsdescribe_corridorDescribe CorridorARead-onlyIdempotentInspect
Return the dossier projection for a corridor, in the requested cognitive lens. Same lens enum and default as describe_place. Corridor projections surface cross-municipal dialectics and shared-infrastructure dynamics that no single place dossier captures.
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | The cognitive position to project. Defaults to "synthesis". Canonical lenses: developer, investor, broker, attorney, business, resident, civic-leader. Aliases route to canonical: legal/lawyer/counsel/regulator → attorney; realtor/intermediary → broker; civic/government → civic-leader; homeowner → resident; operator/site-selector → business; builder → developer. | synthesis |
| slug | Yes | The corridor slug (e.g., "us-27-south-lake"). Use list_corridors to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| lens | Yes | |
| slug | Yes | |
| type | Yes | |
| title | No | |
| claims | Yes | |
| freshness | Yes | |
| projection | Yes | |
| frontmatter | No | |
| record_status | No | |
| available_lenses | No | |
| lens_was_requested | No | |
| fell_back_to_synthesis | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as readOnly, idempotent, and non-destructive. The description adds useful behavioral context about the nature of the output (a 'dossier projection' with a cognitive lens) and the kinds of insights it surfaces (cross-municipal dialectics, shared-infrastructure dynamics). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence states the core function, the second clarifies the lens system and differentiates from describe_place. Perfectly front-loaded and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with an output schema, the description fully covers purpose, the cognitive lens concept, the unique value vs. alternatives, and references the right sibling for slug discovery (list_corridors in the schema). Nothing essential is missing given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage: both slug and lens have detailed descriptions, including an enum list and alias routing. The tool description adds only a cross-reference to describe_place's lens enum, which is redundant given the schema already lists the exact enum values. With high schema coverage, the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action and resource: 'Return the dossier projection for a corridor, in the requested cognitive lens.' It distinguishes itself from sibling describe_place by noting that corridors surface 'cross-municipal dialectics and shared-infrastructure dynamics that no single place dossier captures.' This makes the tool's unique scope immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool via the alternative reference 'Same lens enum and default as describe_place' and the contrast with single-place dossiers. It doesn't explicitly say 'use describe_place for single places' or list exclusions, but the context effectively guides the agent to choose this tool for corridor-level cross-municipal analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_entityDescribe EntityARead-onlyIdempotentInspect
Return the full structured dossier for a named entity — the canonical citable artifact for any actor, organization, ordinance, or project the corpus references. Returns: voxel_lead (134-167 word voxel-disciplined identity prose), canonical_role, the class-specific cluster (person.voting_record for board members; organization.type + jurisdiction; legislation.legal_status + effective_date + sunset_date + citation; creative_work.work_type + status + case_number), the bidirectional graph references (appears_in_meetings, appears_in_briefs, appears_in_watches, exhibits_patterns, related_entities, related_places, related_corridors), the provenance_chain, and the canonical surfaces (dossier URL, schema_id, decoder_index_hub). Each schema_id (/entities/{slug}#{class.toLowerCase()}) is the stable cross-page Schema.org reference — Person / Organization / Legislation / CreativeWork — that AI agents resolve to when citing the entity. Use when grounding a citation, when reasoning about an entity's full role across the corpus, or when traversing the entity graph from a single name.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The entity slug (e.g., "sb-180", "hanover-land-company", "anita-geraci-carver"). Use list_entities to discover available slugs. The Decoder Index hub at /entities lists every entity grouped by class. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| slug | Yes | |
| person | No | |
| named_at | No | |
| schema_id | Yes | |
| voxel_lead | No | |
| last_active | No | |
| legislation | No | |
| display_name | Yes | |
| entity_class | Yes | |
| organization | No | |
| creative_work | No | |
| canonical_role | No | |
| related_places | No | |
| provenance_chain | No | |
| related_entities | No | |
| appears_in_briefs | No | |
| exhibits_patterns | No | |
| appears_in_watches | No | |
| appears_in_meetings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive hints, so safety is covered. The description adds valuable behavioral context by detailing the return structure (voxel_lead, canonical_role, class-specific cluster, graph references, provenance_chain, canonical surfaces) and explaining the stable schema_id convention, which helps an agent understand what to expect without contradicting any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place: it lists the output fields, explains schema_id, and gives usage context. It is structured and front-loaded with the core purpose, avoiding repetition or generic filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema available, the description is more than sufficient. It covers what the tool does, what it returns, how to use it, and why it is the canonical cite source, making it complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the sole parameter 'slug' with examples and discovery instructions (list_entities, /entities hub). The description does not add parameter-specific guidance beyond referring to 'a named entity,' so it meets the baseline of 3 but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Return the full structured dossier for a named entity' and explicitly enumerates entity types (actor, organization, ordinance, project), distinguishing it from sibling describe_* tools for corridors, meetings, patterns, places, watches, and zoning signals. It also frames it as 'the canonical citable artifact,' making its unique role clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'Use when grounding a citation, when reasoning about an entity's full role across the corpus, or when traversing the entity graph from a single name.' It does not explicitly name alternatives or state when-not-to-use, but the context is clear enough for an agent to select this over sibling describe_* tools for other resource types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_meetingDescribe MeetingARead-onlyIdempotentInspect
Return the full dossier projection for a meeting reading, in the requested cognitive lens. Same lens enum and default as describe_place / describe_corridor — eight total projections (seven stakeholder lenses — developer, investor, broker, attorney, business, resident, civic-leader — plus synthesis as the default). Returns the lens-projected body, full frontmatter (jurisdiction, board, meeting_date, document_type, key_signals, vote tallies), citation-stable claims[] (per the Phase 11 Citable Contract; populates as meeting claim scopes graduate), four-clock freshness, and the structured record_status block (record_type / meeting_status / outcome_status / minutes_available / vote_final) — the last prevents agents from summarizing agenda intent as completed action. Use to ground citations in a specific meeting's reading; pair with list_meetings or meeting_index for discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | Optional cognitive lens. Default: synthesis (the whole-picture multi-projection view). Canonical lenses: developer, investor, broker, attorney, business, resident, civic-leader. Aliases route to canonical (legal/lawyer/counsel/regulator → attorney; realtor/intermediary → broker; civic/government → civic-leader; homeowner → resident; operator/site-selector → business; builder → developer). When the requested lens is not present in the dossier body, the response falls back to synthesis with fell_back_to_synthesis: true. | |
| slug | Yes | The meeting slug (e.g., "leesburg-pc-2026-01"). Use list_meetings or meeting_index to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| lens | Yes | |
| slug | Yes | |
| type | Yes | |
| title | No | |
| claims | Yes | |
| freshness | Yes | |
| projection | Yes | |
| frontmatter | No | |
| record_status | Yes | |
| available_lenses | No | |
| lens_was_requested | No | |
| fell_back_to_synthesis | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. The description adds substantial behavioral context: returns citation-stable claims, four-clock freshness, and a structured record_status block that 'prevents agents from summarizing agenda intent as completed action.' This goes beyond annotation and provides meaningful operational nuance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, front-loaded with the main purpose and packed with specific return fields and caveats. Every sentence contributes value without fluff, making it appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description still covers return structure, semantic safeguards, and usage context. It is complete enough for an agent to select and invoke the tool correctly, including the crucial caveat about record_status preventing premature summarization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents both parameters, including lens aliases and fallback behavior. The description adds marginal context (mentioning the lens enum similarity and pairing with list_meetings) but does not substantially enrich parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'the full dossier projection for a meeting reading' in a requested cognitive lens, which is a specific verb+resource. It distinguishes itself from siblings like describe_place and describe_corridor by explicitly referencing the shared lens enum and the meeting-specific context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case ('Use to ground citations in a specific meeting's reading') and pairs with discovery tools (list_meetings or meeting_index). It lacks an explicit 'when not to use' but implies meeting-specific usage, which is enough given sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_patternDescribe PatternARead-onlyIdempotentInspect
Return the full dossier for a named pattern: voxel_lead, signal_status (horizon/confidence), scope (spatial/temporal/topical/corridors), full exhibits inventory with detection metadata, defensive responses, provenance chain, related briefs, related places, related corridors, audiences, and the canonical surfaces (dossier URL, DefinedTerm @id, DefinedTermSet @id, atlas list URL). Use when an agent needs the structured pattern data to cite or analyze. Each pattern is a citable entity in the corpus's entity graph; the DefinedTerm canonical home gives AI agents a stable reference.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The pattern slug (e.g., "self-storage-canary"). Use current_named_patterns to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| name | Yes | |
| slug | Yes | |
| scope | No | |
| claims | Yes | |
| exhibits | No | |
| named_at | No | |
| surfaces | No | |
| audiences | No | |
| freshness | Yes | |
| voxel_lead | No | |
| signal_status | No | |
| related_briefs | No | |
| related_places | No | |
| lifecycle_stage | No | |
| provenance_chain | No | |
| related_corridors | No | |
| defensive_response | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context: the pattern is a citable entity in the corpus's entity graph, and the DefinedTerm canonical home provides a stable reference for AI agents. It also explains the output nature (full dossier with many fields). No contradictions with annotations. The description adds enough behavioral color beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is informative but somewhat dense, listing many fields in a run-on manner. It is front-loaded with the core action ('Return the full dossier'), but the enumeration of fields makes it longer than necessary. Every sentence earns its place, but the structure could be more concise (e.g., bullet points or shorter sentences). Not excessive, but could be improved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool returns a complex 'full dossier' and an output schema exists (though not shown), the description adequately covers what the dossier includes (exhibits, provenance, related entities, canonical surfaces) and the significance of the entity (citable, stable reference). It does not need to detail return values because the output schema handles that. The description is complete enough for an agent to decide when to call this tool, but it could mention the output schema's availability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'slug' that already has a descriptive comment ('The pattern slug... Use current_named_patterns to discover available slugs'). The tool description does not add any additional meaning or formatting details about the slug parameter beyond what the schema provides. The description focuses on the overall purpose rather than parameter semantics. With full schema coverage, the baseline is 3, and the description does not significantly raise it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Return the full dossier for a named pattern' which is a specific verb+resource combination. It enumerates the exact fields included (voxel_lead, signal_status, etc.) and clearly distinguishes from sibling tools like describe_corridor or describe_entity by focusing on pattern-specific data. The purpose is unambiguous and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'Use when an agent needs the structured pattern data to cite or analyze.' It also references the prerequisite tool current_named_patterns for discovering available slugs. However, it does not explicitly state when NOT to use this tool (e.g., if only a summary is needed) or name specific alternatives among the sibling tools, such as list_patterns for a listing. The guidance is good but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_placeDescribe PlaceARead-onlyIdempotentInspect
Return the dossier projection for a city, in the requested cognitive lens. Defaults to the synthesis projection (the multidimensional view that holds all lenses in superposition and names the dialectics). Pass a single-lens value to get the focused cognitive position — useful when the agent is acting on behalf of a user with a specific stake (developer underwriting, investor thesis, broker client argument, attorney precedent search, resident orientation, civic-leader regional coordination).
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | The cognitive position to project. Defaults to "synthesis". Canonical lenses: developer, investor, broker, attorney, business, resident, civic-leader. Aliases route to canonical: legal/lawyer/counsel/land-use-counsel/regulator → attorney; realtor/intermediary/real-estate-broker → broker; civic/government/official/governance → civic-leader; homeowner/citizen → resident; operator/site-selector/occupier → business; builder/land-developer → developer. | synthesis |
| slug | Yes | The place slug (e.g., "clermont-florida"). Use list_places to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| lens | Yes | |
| slug | Yes | |
| type | Yes | |
| title | No | |
| claims | Yes | |
| freshness | Yes | |
| projection | Yes | |
| frontmatter | No | |
| record_status | No | |
| available_lenses | No | |
| lens_was_requested | No | |
| fell_back_to_synthesis | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral context about the default synthesis projection ("multidimensional view that holds all lenses in superposition") and how passing a single-lens value changes the output. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: the first states the core action, the second explains the default behavior, and the third provides usage guidance. It is front-loaded and free of redundant content, appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the comprehensive input schema, output schema, and annotations, the description covers the essential aspects: the purpose, the default vs. single-lens behavior, and the stakeholder contexts. It does not need to explain return values (output schema exists) or provide more detail on discovery (the schema already references list_places). This is a complete picture for actionable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides thorough documentation for both slug and lens, including the enum, default, and alias routing (100% coverage). The description goes beyond the schema by explaining the functional impact of the lens parameter in terms of user stakes (e.g., developer, investor), which helps an agent understand when to choose a specific lens.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: "Return the dossier projection for a city, in the requested cognitive lens." This clearly identifies the tool's function and differentiates it from sibling describe tools by focusing on cities and the lens concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the default synthesis projection versus a single-lens request, stating it is "useful when the agent is acting on behalf of a user with a specific stake" and listing examples. However, it does not explicitly name alternatives or state when not to use this tool relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_watchDescribe WatchARead-onlyIdempotentInspect
Return the full dossier for a watch item — the observatory's forward-looking observation primitive. Returns title, subtitle, scope (place / corridor / pattern / brief / region), trigger (type / date / condition), significance (horizon / confidence / why_it_matters_voxel), full body prose, four-clock freshness, and citation-stable claims[]. For RESOLVED watches, also returns the outcome cluster (outcome_type, outcome_summary, prediction_assessment with directional/horizon/significance assessments, lesson, citations) — and the lesson surfaces as a stable claim_id (per the Phase 11 Citable Contract × Phase 8 Resolution Bridge compound). Use to ground citations in a specific watch's prediction or resolution; pair with list_watch_items for discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The watch slug (e.g., "lake-bright-council-mar-23"). Use list_watch_items to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| body | No | |
| slug | Yes | |
| type | Yes | |
| scope | No | |
| title | No | |
| claims | Yes | |
| outcome | Yes | |
| trigger | No | |
| subtitle | No | |
| freshness | Yes | |
| significance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. The description adds value by detailing exact fields returned and behavior for RESOLVED watches, which is beyond annotation scope. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the primary purpose. It contains some technical terminology that could be streamlined (e.g., 'Phase 11 Citable Contract × Phase 8 Resolution Bridge'), but each sentence provides useful context, so it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single required parameter, full schema coverage, clear annotations, and an output schema (not shown but exists), the description is complete. It explains exactly what is returned, including conditional behavior for resolved watches, without needing to repeat output schema details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents the 'slug' parameter well. The description adds meaning by explaining its purpose ('ground citations') and how to discover valid slugs via list_watch_items, which the schema does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'describe' and the resource 'watch item', and explicitly distinguishes from siblings by naming 'list_watch_items' for discovery. It enumerates specific data returned, making the tool's purpose precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly pairs use of this tool with 'list_watch_items' for discovery, and states when to use it: 'ground citations in a specific watch's prediction or resolution'. The sibling list confirms no other tool returns the full watch dossier, providing clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_zoning_signalDescribe Zoning SignalARead-onlyIdempotentInspect
Return the canonical product description for Zoning Signal — what the observatory is, the four artifact types it publishes, the regional scope of current coverage, and the methodology. Call once per session to ground subsequent tool calls in canonical context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| built_by | No | |
| surfaces | Yes | |
| description | Yes | |
| methodology | Yes | |
| artifact_types | Yes | |
| regional_scope | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description is consistent with those. It adds value by specifying what the canonical description contains and by recommending session-level caching behavior ('once per session'), which is not in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads the verb and resource, then enumerates the covered content in a compact clause. No filler or repetition; every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, an output schema present, and annotations covering safety, the description fully explains the tool's role and session-level usage. It is complete for the tool's simplicity and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool accepts zero parameters, so the schema needs no elaboration. Baseline for zero params is 4; the description adds no contradictory or redundant parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific action ('Return the canonical product description') and names the exact resource (Zoning Signal), then spells out the content domains (observatory, artifact types, regional scope, methodology). This distinguishes it from sibling describe_* tools, which target different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Call once per session to ground subsequent tool calls in canonical context,' providing clear when-to-use advice. It does not mention when not to use it or name alternatives, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_recordGet Track RecordARead-onlyIdempotentInspect
Return the observatory's public calibration scorecard — the aggregate accuracy of past watch-item directional reads, horizon calls, and significance assessments across resolved watches. Returns: total_resolved, directional accuracy (aligned + 0.5 × mixed), horizon accuracy (within / total), significance accuracy (confirmed / total), per-confidence-pip stratification, recent resolutions, and per-jurisdiction breakdown. Optionally scope to a single jurisdiction or corridor's constituent set. Use when an agent or user wants to assess Zoning Signal's historical forecasting accuracy before citing a current prediction. Misreads are reported.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | Optional: scope to a brief slug (e.g., "six-month-board-flip"). Returns the track record for watches linked to a specific named-pattern brief. | |
| corridor | No | Optional: scope to a corridor slug (e.g., "us-27-south-lake"). Returns the aggregate track record across the corridor's constituent places. | |
| jurisdiction | No | Optional: scope to a single place slug (e.g., "leesburg-florida") for that city's track record only. Use list_cities to discover available slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | No | |
| recent | No | |
| horizon | No | |
| pending | No | |
| obsolete | No | |
| surfaces | No | |
| directional | No | |
| significance | No | |
| by_confidence | No | |
| total_resolved | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint as safe. The description adds substantial value beyond this by listing in detail what metrics are returned (directional accuracy, horizon accuracy, etc.) and importantly discloses that 'Misreads are reported,' setting expectations that the data includes errors. This is rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then enumerates return fields, then gives usage guidance, and ends with a caveat. Every sentence adds value, and it is appropriately sized for the tool's complexity—informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and 100% schema parameter coverage, yet the description still enriches the context by explaining the return structure and strategic usage. It fully covers the 'what', 'when', and 'what to expect' aspects for an agent, making it self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (brief, corridor, jurisdiction) already described with examples. The description adds minimal extra semantic meaning beyond restating that scoping is optional. The baseline of 3 applies because the schema carries the heavy lifting for parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Return the observatory's public calibration scorecard' with specific aggregate accuracy metrics. It distinguishes itself from sibling tools like describe_watch or list_watch_items by focusing on historical forecasting performance rather than individual entities or simple listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'Use when an agent or user wants to assess Zoning Signal's historical forecasting accuracy before citing a current prediction.' It does not explicitly name alternatives or exclusion scenarios, but the context is strong and implies when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_corridorsList CorridorsARead-onlyIdempotentInspect
List every published corridor page. A corridor is the cross-municipal economic-topology view — the cross-jurisdiction read on a shared infrastructure spine, aquifer, or commercial gravity field. Returns name, slug, constituent cities, primary axis, and URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| corridors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe read-only, idempotent, non-destructive profile. The description adds behavioral context by specifying 'every published' (excluding drafts) and listing the exact fields returned, which goes beyond the annotations. It doesn't discuss pagination or size, but that's less critical given the zero-parameter nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first front-loads the action, the second defines the domain concept and lists return fields. Every sentence earns its place with no redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with an output schema, the description is complete: it gives purpose, scope, domain definition, and return fields. The agent can confidently invoke this tool without additional context. The only minor gap is lack of explicit alternative references, but that's not necessary for completeness given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics (vacuously). The description doesn't need to explain parameters, and the baseline for 0-param tools is 4. It adds no parameter-specific info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List every published corridor page'), specifies the resource (corridor pages), and distinguishes itself from sibling tools by defining corridor as a cross-municipal economic-topology view. It also lists return fields, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool to get all published corridor pages. It doesn't explicitly mention when not to use it or name alternatives like describe_corridor, but the definition and list of return fields imply the appropriate use case. No exclusions are stated, so this isn't quite a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entitiesList EntitiesARead-onlyIdempotentInspect
List every named entity in the Decoder Index — the smallest citable unit of authority in the corpus. Returns the four-class taxonomy (Person / Organization / Legislation / CreativeWork) with class-specific summary fields (jobTitle for Person; jurisdiction for Organization / Legislation / Project; legal_status for Legislation; case_number + work_status for Project) plus cross-reference counts (meetings_count, briefs_count, watches_count, patterns_count) for each entity. Filter by entity_class, place (jurisdiction), or search substring. Use as the discovery surface for the entity graph; pair with describe_entity for full structured detail. Each entity's schema_id is a stable cross-page reference (/entities/{slug}#{class.toLowerCase()}) that resolves to the canonical Schema.org node — Person / Organization / Legislation / CreativeWork — for AI-citation grounding.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | Optional: filter to entities scoped to a specific place (e.g., "leesburg-florida"). Matches entities whose related_places, organization.jurisdiction, legislation.jurisdiction, or creative_work.jurisdiction includes the place slug. | |
| search | No | Optional case-insensitive substring search across display_name, canonical_role, voxel_lead, and slug. Use for natural-language entity discovery (e.g., "denial bloc", "intersection mitigation", "form-based code"). | |
| entity_class | No | Filter by entity class. "Person" = board members, attorneys, applicants (individuals), elected officials. "Organization" = developer firms, law firms, agencies, HOAs, planning consultancies. "Legislation" = state statutes, city ordinances, code sections, design standards. "CreativeWork" = specific projects, case numbers, master plans, infrastructure programs. Omit to return all classes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| filters | No | |
| by_class | No | |
| entities | No | |
| surfaces | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnly/idempotent, the description adds rich behavioral context: it specifies the four-class taxonomy, class-specific summary fields, cross-reference counts, and the stable schema_id format for citation. This goes far beyond what the annotations provide and gives the agent a precise mental model of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into five purposeful sentences, each serving a distinct function: purpose, return taxonomy, filters, usage clue, and schema_id semantics. It front-loads the most decision-relevant information and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and complete parameter schemas, the description fully covers the remaining contextual gaps: the domain concept, cross-reference counts, and the schema_id grounding. It also addresses sibling differentiation by explicitly directing users to describe_entity for full detail, making it complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with detailed descriptions and examples for all three parameters. The description's mention of filters is a restatement of the schema without introducing new meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists every named entity in the Decoder Index, defining the resource precisely. It distinguishes itself from siblings by describing it as the 'discovery surface' for the entity graph and contrasting with describe_entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Use as the discovery surface for the entity graph; pair with describe_entity for full structured detail,' giving a direct when-to-use directive and naming the alternative. It also enumerates the filter options, making the intents clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_meetingsList MeetingsARead-onlyIdempotentInspect
Return meeting readings across all cities, optionally filtered by date range or jurisdiction substring. Same response shape as meeting_index but with no required parameters — call with no args to get the full corpus, or pass a jurisdiction substring (e.g., "minneola") to filter by city without requiring an exact match. Use when you need to enumerate the full meeting record or scan across cities by date range.
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | Inclusive upper bound (ISO 8601 date). Omit for the latest reading. | |
| from_date | No | Inclusive lower bound (ISO 8601 date). Omit to span back to the earliest reading. | |
| jurisdiction | No | Optional case-insensitive substring to filter by city (e.g., "minneola"). Omit for all cities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| filters | No | |
| meetings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavioral context by explaining that calling with no args returns the full corpus, jurisdiction filtering uses substring matching, and the response shape matches meeting_index. This goes beyond the annotations but doesn't describe pagination or output details, which are covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every phrase adds value (purpose, alternatives, usage scenarios). No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with 3 optional params, an output schema, and strong annotations, the description covers the essential behavioral aspects, usage guidance, and relationship to siblings. It doesn't need to explain return values given the output schema, and the usage context is fully addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have thorough descriptions in the schema (100% coverage), including examples and inclusive date semantics. The description primarily restates this information ('optionally filtered by date range or jurisdiction substring') and adds the usage pattern of no-args invocation. Since the schema does the heavy lifting, the description adds minimal new param meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Return meeting readings across all cities' and explicitly differentiates from sibling tool meeting_index by noting it has the same response shape but no required parameters. It also specifies its filtering capabilities (date range, jurisdiction substring), making it distinct from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use when you need to enumerate the full meeting record or scan across cities by date range.' It also contrasts with meeting_index, implying when this tool is preferable (when no required parameters are needed). This meets the criterion of explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_patternsList PatternsARead-onlyIdempotentInspect
List every named pattern in the Pattern Atlas. A named pattern is a coined recurring structure observed across multiple jurisdictions or multiple meetings (e.g., "The Quiet Revolution"). Returns slug, display name, canonical pattern URL (/patterns/{slug}, the DefinedTerm canonical home as of Phase 9), lifecycle stage, horizon, confidence, exhibits count, spatial scope, related briefs, and the voxel_lead. Use as the discovery surface for the Pattern Atlas; pair with describe_pattern for full dossier detail. Phase 12 — renamed from current_named_patterns to align with the canonical content-type vocabulary (loader: getAllContent("pattern"); URLs: /patterns/{slug}; describe tool: describe_pattern).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| patterns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, destructiveHint, so the main behavioral expectation is that this is a safe, read-only operation. The description adds helpful context about the return fields and version tracking (Phase 12), though it doesn't detail any empty-state behavior or rate-limiting implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed yet efficient, with front-loaded purpose and usage context. It could trim the explicit version note and schema loader comment, but overall each sentence adds value and no word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, a complete output schema, and comprehensive annotations, the description covers all needed aspects: purpose, usage context, return fields, and pairing advice. It leaves no gaps for an agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters and schema description coverage is 100%, so there is nothing left to clarify. The description adds no parameter information because none exist. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all named patterns in the Pattern Atlas, distinguishing it from sibling tools like describe_pattern (which provides details on a single pattern) and list_* siblings. It specifies the tool returns a defined set of fields, making the resource and action unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly calls this the 'discovery surface' for the Pattern Atlas and suggests pairing with describe_pattern for full details, giving agents a clear when-to-use guide. It also notes it was renamed from current_named_patterns, which helps avoid confusion with legacy terminology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_placesList PlacesARead-onlyIdempotentInspect
List every place dossier (per-jurisdiction reading) the observatory publishes. Optionally filter by state. Returns city, state, slug, signal strength, signal direction, and the dossier URL. Use to discover the available place-level coverage before calling describe_place. Phase 12 — renamed from list_cities to align with the canonical content-type vocabulary (the loader function is getAllContent("place"); URLs are /places/{slug}; the describe tool is describe_place).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Optional US state name (e.g., "Florida") to filter the result set. Omit for all places across all states. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| cities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds transparency about what the tool returns (specific fields, URL) and the option to filter by state, going beyond the annotations to disclose behavioral details such as the absence of user/workspace filtering. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at four sentences, each serving a distinct purpose: main function, optional filter, field listing, and usage guidance. The front-loaded first sentence immediately states the core action and scope, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 required params, output schema present) and rich annotations, the description is largely complete. It covers purpose, filter, output fields, and usage context. The only minor gap is that it doesn't mention pagination or rate limits, but for a straightforward list tool with one parameter, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents the single parameter (state) with a clear description. The description reinforces this by mentioning the optional state filter, adding context about its purpose (discovering coverage) but not adding new syntax or format details beyond the schema. Given maximum schema coverage, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists every place dossier the observatory publishes, differentiating it from siblings like describe_place which drills into a specific place. It specifies the exact fields returned (city, state, slug, etc.) and mentions the optional filter by state, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool before calling describe_place to discover available place-level coverage, providing a clear usage sequence. It also includes a history note (renamed from list_cities) that helps an agent understand consistency with the content-type vocabulary, though it doesn't explicitly state when not to use it or list alternatives with exclusions—the purpose is sufficiently narrow that no further guidance is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_watch_itemsList Watch ItemsARead-onlyIdempotentInspect
Return The Watch — the field's forward calendar of pending events, scheduled hearings, regulatory sunsets, and condition-triggered milestones the observatory is tracking. Filter by status (pending / resolved / obsolete), horizon (imminent / near-term / structural), or scope (place / corridor / brief). Use to surface what the field is watching from any cognitive position.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | Optional: filter to items linked to a specific named-pattern brief. | |
| place | No | Optional: filter to items scoped to a specific place dossier (e.g., "leesburg-florida"). | |
| status | No | Filter by lifecycle status. Defaults to 'pending' (active watch items only); pass 'all' for the full corpus including resolved + obsolete entries. | |
| horizon | No | Optional: filter to items in the named horizon band. Imminent = ≤14 days; near-term = ≤90 days; structural = >90 days or condition-triggered. | |
| corridor | No | Optional: filter to items scoped to a specific corridor (e.g., "us-27-south-lake"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| status | No | |
| watch_items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is explicit. The description adds context about the nature of items (forward calendar, condition-triggered milestones) but does not disclose additional behavioral traits like defaults, pagination, or response format. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core purpose. It is concise, but the phrase 'from any cognitive position' is abstract and adds little practical value. Overall, it is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five optional parameters, an output schema, and strong annotations (read-only, idempotent), the description covers the essential aspects: what is returned, what filters are available, and the intended use. It does not need to explain return structure (output schema exists) or safety (annotations cover it). A little more detail about default status behavior would make it fully complete, but for a list tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, with descriptions for every parameter (status, horizon, place, corridor, brief). The description repeats the filter categories at a high level ('status (pending / resolved / obsolete), horizon (imminent / near-term / structural), or scope (place / corridor / brief)') but adds no new syntax or format details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Return The Watch — the field's forward calendar of pending events, scheduled hearings, regulatory sunsets, and condition-triggered milestones.' This makes clear what the tool does and distinguishes it from sibling describe_* and list_* tools by focusing on tracking items rather than describing a place or entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use to surface what the field is watching from any cognitive position,' providing clear context for when to invoke the tool. It does not explicitly name alternatives or exclusions, but the use case is evident. A named alternative or exclusion would strengthen it, but the guidance is sufficient for an agent to choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meeting_indexMeeting IndexARead-onlyIdempotentInspect
Return meeting readings for a specific city across an optional date range. A meeting reading is a plain-English read of one harvested planning-board, council, or commission meeting, with signal extraction and entity mapping. Use to drill from a city or corridor into the temporal record.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name (e.g., "Clermont"). Case-insensitive. | |
| to_date | No | Inclusive upper bound (ISO 8601 date). Omit for the latest reading. | |
| from_date | No | Inclusive lower bound (ISO 8601 date). Omit to span back to the earliest reading. |
Output Schema
| Name | Required | Description |
|---|---|---|
| city | No | |
| count | No | |
| to_date | No | |
| meetings | No | |
| from_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description enhances this by explaining the output's nature (plain-English, signal extraction, entity mapping) and the temporal scoping, adding context beyond structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earns its place: function, definition of key term, and usage context. Front-loaded and free of redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only filtered tool with full schema and output schema, the description is complete. It covers purpose, semantic meaning, temporal scope, and usage, with annotations covering safety and idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with city, to_date, and from_date fully documented. The description adds no new parameter-level detail beyond restating the optional date range, providing only marginal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns meeting readings for a specific city with an optional date range, and defines 'meeting reading' as a plain-English read with signal extraction and entity mapping. This distinguishes it from siblings like list_meetings or describe_meeting by scope and depth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence provides an explicit use case: 'Use to drill from a city or corridor into the temporal record.' While it lacks explicit exclusions or named alternatives, the context is clear enough to guide selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic_searchSemantic SearchARead-onlyIdempotentInspect
Semantic search across the full corpus — every place dossier, corridor signal, meeting reading, and named-pattern brief. Returns results ranked by cosine similarity in a 1024-dimensional embedding space (Voyage AI 4 + Supabase pgvector). Use when the agent does not know the canonical entity slug or named-pattern title in advance — the search returns the readings whose semantic structure best matches the natural-language query, with type, title, similarity, and resolved URL per hit. Threshold 0.55, top 12.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The natural-language query. A phrase, an entity name, or a thematic concept all work. Asymmetric query-time embedding handles short queries cleanly. Maximum 500 characters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | No | |
| count | No | |
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. The description adds substantive behavioral context: cosine similarity ranking, the 1024-dimensional embedding space (Voyage AI 4 + pgvector), result count limit (top 12), similarity threshold (0.55), and resolved URL per hit. This goes well beyond the annotations and sets clear expectations for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and every sentence delivers distinct value: corpus scope, embedding/ranking details, usage guidance, and output shape. It is slightly long but not wasteful; the density is appropriate for a complex semantic search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description still covers return fields (type, title, similarity, resolved URL), result limit, threshold, and coverage. Given a single-parameter tool with rich annotations and an output schema, the description is fully complete for an agent to invoke and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds practical meaning to the 'q' param: it accepts a phrase, entity name, or thematic concept, and explains that asymmetric query-time embedding handles short queries cleanly. This enriches the schema's description and gives the agent actionable guidance on crafting queries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Semantic search across the full corpus' and enumerates the exact sources (place dossiers, corridor signals, meeting readings, named-pattern briefs). It distinguishes itself from sibling describe/list tools by explicitly stating it is for when the agent does not know the canonical slug or title in advance. This is a specific verb+resource+scope with clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use when the agent does not know the canonical entity slug or named-pattern title in advance.' This also implies when not to use (when you do know, use describe/list tools). It further clarifies what the tool returns (type, title, similarity, URL) and the technical constraints (threshold 0.55, top 12), giving the agent sufficient context to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_agent_feedbackSubmit Agent FeedbackAInspect
Submit feedback to the observatory's operators about the MCP tool surface. The active counterpart to the passive invocation log. Categories: 'gap' (a capability you expected and didn't find), 'error' (an unexpected failure or wrong result), 'praise' (a tool or surface that did exactly what you needed), 'suggestion' (a refinement you'd recommend), 'citation_request' (a claim or fact you want surfaced with a stable @id you can cite). The submission auto-attaches the prior 10 invocations from your MCP-Session-Id, so operators read your feedback annotated with the call sequence that produced it — no need to repeat what you tried. Operators triage every submission and surface notable feedback at /agent-observatory. This is how the observatory evolves toward what agents actually need.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The feedback prose itself. Be specific. What were you trying to accomplish? What was missing or wrong? Voice that survives compression. Operators read every submission. | |
| category | Yes | Bounded categorization. 'gap' = expected capability is missing. 'error' = tool returned wrong/unexpected/malformed result. 'praise' = a surface or tool that worked exceptionally well. 'suggestion' = a refinement (better tool description, additional argument, alternative output shape). 'citation_request' = a claim or fact you want surfaced with a stable citation @id. | |
| about_url | No | Optional: a URL on the observatory this feedback references (e.g., "https://zoningsignal.com/corridors/us-27-south-lake"). | |
| about_tool | No | Optional: the tool name this feedback is about (e.g., "describe_corridor"). Lets operators rollup feedback per tool. | |
| agent_context | No | Optional: brief description of what the agent was trying to do — the user task that led to this surface. Helps operators understand intent without seeing only the failure point. | |
| suggested_resolution | No | Optional: if you have a concrete proposal — a new tool, a renamed parameter, a missing field on a response — name it here. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the feedback was accepted and stored. |
| message | No | Human-readable acknowledgement. |
| category | No | The category the feedback was filed under. |
| feedback_id | Yes | Stable id for the stored feedback record. |
| received_at | No | ISO-8601 timestamp the feedback was recorded. |
| attached_invocation_count | No | How many prior invocations (from your MCP-Session-Id) were auto-attached for operator context. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints (all false), so the description carries the burden of disclosing behavior. It does so richly: submissions auto-attach the prior 10 invocations, operators triage and surface notable feedback at /agent-observatory, and categories are explained. This goes beyond the binary annotation flags and gives the agent a clear model of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action, then lists categories, auto-attachment behavior, triage process, and rationale. It is slightly longer than necessary (repeating category definitions from the schema) but every sentence adds context about process or intent, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a feedback tool with six parameters and an output schema, the description covers the essential context: what feedback is for, what categories exist, how the submission is augmented (auto-attach), and what happens afterward. The output schema handles return-value documentation, so no gap exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself already explains each parameter thoroughly. The description adds the context that 'no need to repeat what you tried' due to auto-attached invocations, and it elaborates category meanings, but these are largely redundant with the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource pair: 'Submit feedback to the observatory's operators about the MCP tool surface.' It clearly distinguishes from sibling tools (which are all describe/list/search operations) by being the only submission tool. The 'active counterpart to the passive invocation log' further differentiates its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('when you encounter a gap, error, praise, suggestion, or citation request') and contrasts it with the passive log ('no need to repeat what you tried'). It lacks an explicit alternative not-to-use statement, but the sibling tool set contains no other feedback pathway, so this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Zoning, ADU eligibility, flood zone, setbacks, and buildability intelligence for U.S. parcels.
Human-reviewed zoning answers with ordinance citations for covered US municipalities.
Built-environment forecasts, public benchmarks, and permit or zoning readiness through remote MCP.
Zoning, parcel, and development feasibility for a street address in Canada and the US.
Related MCP Servers
- AlicenseAqualityDmaintenanceAI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.51MIT
- AlicenseAqualityAmaintenanceUK property area intelligence: validated trajectory scores, gentrification early-warning and area screening for 2,292 England & Wales postcode districts, from 30+ government data sources.7MIT
- AlicenseAqualityCmaintenanceOpen-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.1215MIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents clean, token-efficient access to US civic & property data — geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — sourced entirely from free federal open data.5521MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools are clearly distinct by resource type (describe/list pairs for places, corridors, entities, patterns, watches), but list_meetings and meeting_index overlap heavily—the former explicitly says it has the same response shape as the latter, differing only in required parameters. That near-duplication creates ambiguity about which to call.
The majority follow a consistent verb_noun pattern (describe_*, list_*), with get_track_record and submit_agent_feedback also verb-led. However, meeting_index is a bare noun phrase and semantic_search is a noun compound, deviating from the otherwise strong pattern.
At 17 tools, the server is slightly above the typical well-scoped range, but the count is justified by the many content types (six primary artifact types each with list+describe, plus meta tools). One could argue meeting_index is redundant, but the overall scope feels reasonable.
The tool surface covers the core lifecycle for all named content types (places, corridors, patterns, entities, meetings, watches) with discovery and description. However, the corpus repeatedly references 'briefs' (e.g., related briefs, semantic_search returns 'named-pattern briefs') yet there is no list_briefs or describe_brief tool, leaving an obvious content gap.