Skip to main content
Glama

Search documents

search_documents
Read-only

Search adopted plan and budget documents, returning page-cited excerpts.

Each hit's `text` is a short passage around the match, not the full page —
call read_document_pages with the hit's `first_page` to read it in context.

Every hit carries `first_page`/`last_page` and `source_url`. Quote those
when citing: the page number is what makes the claim checkable against the
city's own copy.

This is word matching, not semantic search — try the terms a plan would
actually use. Only currently-served documents are searchable, so an empty
result is not evidence the government has no such policy; check
list_government_documents for what is held and what could not be read.

A hit with `document_complete: false` comes from a document with
transcription findings. Verify it against `source_url` before quoting a
number from it.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum excerpts to return.
queryYesWords to find in plan and budget text, e.g. 'accessory dwelling unit parking'.
government_idNoOptional account_id to restrict the search to one government.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations confirm readOnly/no-destructive/openWorld, and the description goes well beyond them: it discloses that matching is lexical not semantic, that only currently-served documents are covered, that `document_complete: false` flags transcription findings requiring verification, and the exact hit fields returned. This is unusually 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.

Conciseness4/5

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

Purpose and return shape are front-loaded, and each subsequent paragraph addresses a distinct concern (context reading, citation, lexical matching, empty results, transcription warnings). It is longer than strictly necessary but almost every sentence carries actionable information.

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?

There is no output schema, yet the description fully specifies the relevant hit fields (text, first_page, last_page, source_url, document_complete) and how to act on them. Given the tool's complexity and the absence of structured return documentation, this is 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%, so the schema already documents query, limit, and government_id, giving a baseline of 3. The description adds useful semantic framing for the query parameter (word matching, use terms a plan would actually use) but adds nothing for limit or government_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) plus a specific resource (adopted plan and budget documents) and the shape of the return (page-cited excerpts). This clearly separates it from siblings like search_meeting_content and search_meetings_semantic without needing to open any schema.

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 routes the agent: use read_document_pages with the hit's `first_page` for context, and check list_government_documents when results are empty or documents may not have been read. It also warns that an empty result is not evidence of absence, which is a when-to-trust-this condition.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources