Skip to main content
Glama

Server Details

US municipal zoning intelligence — corridor analysis, place dossiers, named-pattern detection.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 16 of 17 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness3/5

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.

Available Tools

17 tools
describe_corridorDescribe CorridorA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lensNoThe 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
slugYesThe corridor slug (e.g., "us-27-south-lake"). Use list_corridors to discover available slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
lensYes
slugYes
typeYes
titleNo
claimsYes
freshnessYes
projectionYes
frontmatterNo
record_statusNo
available_lensesNo
lens_was_requestedNo
fell_back_to_synthesisNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 EntityA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe 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

ParametersJSON Schema
NameRequiredDescription
urlYes
slugYes
personNo
named_atNo
schema_idYes
voxel_leadNo
last_activeNo
legislationNo
display_nameYes
entity_classYes
organizationNo
creative_workNo
canonical_roleNo
related_placesNo
provenance_chainNo
related_entitiesNo
appears_in_briefsNo
exhibits_patternsNo
appears_in_watchesNo
appears_in_meetingsNo
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 MeetingA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lensNoOptional 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.
slugYesThe meeting slug (e.g., "leesburg-pc-2026-01"). Use list_meetings or meeting_index to discover available slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
lensYes
slugYes
typeYes
titleNo
claimsYes
freshnessYes
projectionYes
frontmatterNo
record_statusYes
available_lensesNo
lens_was_requestedNo
fell_back_to_synthesisNo
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 PatternA
Read-onlyIdempotent
Inspect

Return the full dossier for a named pattern: voxel_lead, signal_status (score/direction/horizon/confidence/pips), 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe pattern slug (e.g., "self-storage-canary"). Use current_named_patterns to discover available slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
nameYes
slugYes
scopeNo
claimsYes
exhibitsNo
named_atNo
surfacesNo
audiencesNo
freshnessYes
voxel_leadNo
signal_statusNo
related_briefsNo
related_placesNo
lifecycle_stageNo
provenance_chainNo
related_corridorsNo
defensive_responseNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds significant context beyond annotations by enumerating the dossier contents, explaining the pattern as a citable entity with a DefinedTerm canonical home, and providing a stable reference. 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.

Conciseness4/5

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

The description is front-loaded with the core action and then lists the fields in a structured, comma-separated format. It is longer than strictly necessary but each listed component adds value by informing the agent of the expected output. The usage and semantic context are also purposeful, making it well-organized.

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?

Despite having an output schema, the description provides a comprehensive high-level inventory of the dossier sections, usage conditions, and the pattern's role in the entity graph. It gives the agent sufficient context to decide when to use the tool and what to expect, making it fully 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% and the slug parameter already has a helpful description with an example and pointer to current_named_patterns. The tool description adds minimal extra parameter semantics, only reinforcing the 'named pattern' concept. Baseline 3 is appropriate given the high schema coverage.

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 action: 'Return the full dossier for a named pattern' with a specific resource (pattern) and distinguishes from sibling describe_* tools by identifying the resource type and listing pattern-specific fields. It also contrasts with list_patterns by implying a single, named entity rather than a list.

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?

Explicitly says when to use: 'Use when an agent needs the structured pattern data to cite or analyze.' It also points to current_named_patterns for discovering valid slugs, which is a helpful alternative. However, it does not mention when not to use this tool or compare with sibling describe_* tools for other entity types.

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

describe_placeDescribe PlaceA
Read-onlyIdempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
lensNoThe 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
slugYesThe place slug (e.g., "clermont-florida"). Use list_places to discover available slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
lensYes
slugYes
typeYes
titleNo
claimsYes
freshnessYes
projectionYes
frontmatterNo
record_statusNo
available_lensesNo
lens_was_requestedNo
fell_back_to_synthesisNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 WatchA
Read-onlyIdempotent
Inspect

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 (score / horizon / confidence / confidence_pips / 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe watch slug (e.g., "lake-bright-council-mar-23"). Use list_watch_items to discover available slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
bodyNo
slugYes
typeYes
scopeNo
titleNo
claimsYes
outcomeYes
triggerNo
subtitleNo
freshnessYes
significanceNo
Behavior4/5

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 conditional behavior for RESOLVED watches (outcome cluster, lesson as stable claim_id) and mentions 'four-clock freshness,' providing context beyond the safety profile. 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.

Conciseness4/5

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

The description is detailed but well-organized: it starts with the purpose, lists return fields, explains the RESOLVED case, and ends with usage guidance. Each sentence adds informational value, though the phrasing is somewhat dense and includes jargon like 'Phase 11 Citable Contract × Phase 8 Resolution Bridge compound.'

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 presence of an output schema and annotations, the description fills the remaining gaps: it explains the tool's role in citation grounding, the special behavior for resolved watches, and how it relates to sibling tools. The description is complete for the tool's complexity without overexplaining schema-covered details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, fully explaining the 'slug' parameter with an example and discovery hint. The description reiterates the pairing with list_watch_items but does not add new parameter-level syntax or semantics, so the baseline of 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 begins with a clear verb and resource: 'Return the full dossier for a watch item.' It distinguishes itself from sibling describe_* tools by targeting the 'watch' resource type and explicitly mentions the companion list_watch_items for discovery. The scope and resource are unambiguous.

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?

The description offers explicit usage guidance: 'Use to ground citations in a specific watch's prediction or resolution; pair with list_watch_items for discovery.' This states when to use the tool and identifies an alternative, and the input schema reinforces discovery via list_watch_items.

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 SignalA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
built_byNo
surfacesYes
descriptionYes
methodologyYes
artifact_typesYes
regional_scopeNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 RecordA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefNoOptional: scope to a brief slug (e.g., "six-month-board-flip"). Returns the track record for watches linked to a specific named-pattern brief.
corridorNoOptional: scope to a corridor slug (e.g., "us-27-south-lake"). Returns the aggregate track record across the corridor's constituent places.
jurisdictionNoOptional: 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

ParametersJSON Schema
NameRequiredDescription
scopeNo
recentNo
horizonNo
pendingNo
obsoleteNo
surfacesNo
directionalNo
significanceNo
by_confidenceNo
total_resolvedNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 CorridorsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
corridorsNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 EntitiesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeNoOptional: 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.
searchNoOptional 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_classNoFilter 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

ParametersJSON Schema
NameRequiredDescription
countNo
filtersNo
by_classNo
entitiesNo
surfacesNo
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 MeetingsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNoInclusive upper bound (ISO 8601 date). Omit for the latest reading.
from_dateNoInclusive lower bound (ISO 8601 date). Omit to span back to the earliest reading.
jurisdictionNoOptional case-insensitive substring to filter by city (e.g., "minneola"). Omit for all cities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
filtersNo
meetingsNo
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 PatternsA
Read-onlyIdempotent
Inspect

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, signal score, 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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
patternsNo
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, and closed-world. The description adds behavioral context beyond these: it lists the exact fields returned (slug, display name, canonical pattern URL, etc.), explains the canonical URL scheme (/patterns/{slug}) with a Phase 9 reference, and notes the Phase 12 rename. This enriches the agent's understanding of what the tool returns and its evolution.

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 well-structured: a clear opening definition, a list of return fields, usage guidance, and versioning context. The third sentence is dense with multiple details (Phase 12, rename, loader, URLs, describe tool) but remains informative. It is somewhat verbose but every part contributes a distinct fact or instruction, so it earns a 4.

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 zero parameters, rich annotations, and an output schema, the description provides a thorough overview: what it lists, what a named pattern is, the return fields, canonical URL mapping, usage instruction, and historical rename. It leaves no critical gap for an agent to invoke the tool correctly, and it correctly references the output schema for field details.

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?

There are zero parameters, so the schema fully covers parameter semantics (100% coverage, vacuously). The description adds no input parameter details because none exist. Per the rubric, a zero-parameter tool gets a baseline of 4; the description does not need to compensate.

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 opens with 'List every named pattern in the Pattern Atlas', which clearly states a specific verb ('list') and a distinct resource (named patterns in the Pattern Atlas). It defines what a named pattern is and differentiates this list tool from siblings like describe_pattern (full dossier) and 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.

Usage Guidelines5/5

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

Explicit guidance is given: 'Use as the discovery surface for the Pattern Atlas; pair with describe_pattern for full dossier detail.' This states when to use the tool (for discovery/overview) and directs to an alternative for more detail. It also mentions the canonical URL and loader, reinforcing usage context.

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

list_placesList PlacesA
Read-onlyIdempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoOptional US state name (e.g., "Florida") to filter the result set. Omit for all places across all states.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
citiesYes
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds a semantic nuance ('per-jurisdiction reading') and implementation details (loader function, URL pattern), but does not disclose additional behaviors like authentication or rate limits. No contradiction exists.

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

Conciseness3/5

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

The core sentence is concise, but the description includes a lengthy parenthetical about the rename from list_cities, the loader function, URL structure, and the describe tool. This extra historical/implementation information is neither needed for tool selection nor invocation, making it slightly bloated.

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 simplicity of the tool (one optional parameter), the presence of an output schema, and comprehensive annotations, the description covers purpose, return fields, and usage guidance adequately. The extra implementation context, while not essential, adds some depth, though pagination or sorting details are not mentioned – but such details are unlikely necessary for this 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?

The only parameter, 'state', is fully documented in the schema with 100% coverage, including an example and omission behavior. The description merely repeats 'Optionally filter by state,' providing no additional semantic beyond the schema.

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 that the tool lists every place dossier the observatory publishes, with optional state filtering. The verb 'list' plus the specific resource 'place dossier' and scope clearly distinguish it from sibling list_* tools, and it explicitly points to describe_place for the next step.

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?

The description gives an explicit usage context: 'Use to discover the available place-level coverage before calling describe_place.' This tells the agent when to invoke this tool and implicitly that describe_place is the alternative for deeper detail, satisfying the guideline requirement.

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 ItemsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefNoOptional: filter to items linked to a specific named-pattern brief.
placeNoOptional: filter to items scoped to a specific place dossier (e.g., "leesburg-florida").
statusNoFilter by lifecycle status. Defaults to 'pending' (active watch items only); pass 'all' for the full corpus including resolved + obsolete entries.
horizonNoOptional: filter to items in the named horizon band. Imminent = ≤14 days; near-term = ≤90 days; structural = >90 days or condition-triggered.
corridorNoOptional: filter to items scoped to a specific corridor (e.g., "us-27-south-lake").

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
statusNo
watch_itemsNo
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 IndexA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name (e.g., "Clermont"). Case-insensitive.
to_dateNoInclusive upper bound (ISO 8601 date). Omit for the latest reading.
from_dateNoInclusive lower bound (ISO 8601 date). Omit to span back to the earliest reading.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNo
countNo
to_dateNo
meetingsNo
from_dateNo
Behavior4/5

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.

Conciseness5/5

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.

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 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe feedback prose itself. Be specific. What were you trying to accomplish? What was missing or wrong? Voice that survives compression. Operators read every submission.
categoryYesBounded 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_urlNoOptional: a URL on the observatory this feedback references (e.g., "https://zoningsignal.com/corridors/us-27-south-lake").
about_toolNoOptional: the tool name this feedback is about (e.g., "describe_corridor"). Lets operators rollup feedback per tool.
agent_contextNoOptional: 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_resolutionNoOptional: if you have a concrete proposal — a new tool, a renamed parameter, a missing field on a response — name it here.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the feedback was accepted and stored.
messageNoHuman-readable acknowledgement.
categoryNoThe category the feedback was filed under.
feedback_idYesStable id for the stored feedback record.
received_atNoISO-8601 timestamp the feedback was recorded.
attached_invocation_countNoHow many prior invocations (from your MCP-Session-Id) were auto-attached for operator context.
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    AI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.
    5
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    UK property area intelligence: validated trajectory scores, gentrification early-warning and area screening for 2,292 England & Wales postcode districts, from 30+ government data sources.
    12
    7
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Open-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.
    12
    11
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources