Skip to main content
Glama

search_docs

Read-onlyIdempotent

Search a project's documents by title and body, returning snippets and paths for get_doc. Scoped to one project; empty results mean no matches.

Instructions

Full-text search a project's documents by title and body. Returns matching documents with a snippet and a path usable directly with get_doc — this is how you find a document when you don't already know its path; list_docs is the map, this is the index. SCOPE IS PER-PROJECT ONLY: results never cross project_id, and this is not a substitute for recall (which searches memory, not documents) or for a cross-project doc search (none exists yet). A query that matches nothing returns an empty items list, not an error. Documents saved before full-text search shipped (2026-08-20) are matched by title only until their next edit.

Input Schema

NameRequiredDescriptionDefault
limitNoMax results (default 20, server max 50).
queryYesSearch text. Matched against title and body.
project_idYesProject UUID. Search is scoped to this one project — call it once per project you need to check.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, so the bar is lower, yet the description still adds genuinely useful behavior: an empty match returns an empty items list rather than an error, per-project scoping is hard, and a legacy-data caveat (pre-2026-08-20 docs match by title only until next edit). These are non-obvious traits an agent would otherwise discover by trial.

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?

Four sentences, each carrying distinct payload: capability, return shape, routing versus siblings, and the two edge-case behaviors. The scoping constraint is capitalized and front-loaded in the middle rather than buried at the end.

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?

No output schema exists, and the description compensates by describing the return (matching documents with a snippet and a path) plus the empty-result case. For a 3-parameter read tool with full schema coverage and rich annotations, nothing an agent needs to call it correctly is missing.

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%, so the schema already documents query, project_id and limit (including the default 20 / max 50). The description's scoping language ('results never cross project_id', 'call it once per project') largely restates what the project_id schema field already says, so it earns the baseline rather than extra credit.

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 and resource ('Full-text search a project's documents by title and body') and immediately distinguishes itself from the two nearest siblings: list_docs ('the map') and get_doc (its output path feeds it). An agent can identify the tool's role without opening 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?

Gives explicit when-to-use ('this is how you find a document when you don't already know its path'), explicit when-not ('not a substitute for recall, which searches memory, not documents'), and notes that no cross-project doc search exists. This is about as complete a routing statement as a description can carry.

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