Skip to main content
Glama

search

Read-only

Find relevant wiki pages, notes, and imported history by content. Returns JSON results with paths for reading, supporting local keyword or hybrid semantic lookup.

Instructions

Find relevant wiki pages, approved notes, and imported history by content. Start here for a question; use list_pages for the wiki catalog or neighbors for links from a known page. Returns a JSON array in text, up to limit results in relevance order, with path, title, snippet, and routing: kind=page plus slug for read_page, kind=note plus note_id for read_note, or kind=source plus source_path for read_source. No matches returns []. Keyword search is local with no model call; hybrid=true fuses lexical and semantic ranks after synapse embed, sends only query text to the configured embedding endpoint, and may incur its cost and latency on each call. It never edits Markdown. Missing semantic cache or credentials returns a tool error. Date/source filters restrict results to raw history; kind selects raw/wiki/note. Open only relevant hits, not the whole vault.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoCorpus to search: raw imported history, wiki synthesized pages, or note approved agent notes. Omit for all three; date/source filters combined with wiki/note yield no hits.
afterNoInclusive raw-source timestamp lower bound, e.g. 2026-09-01 (ISO date/time). Excludes undated wiki pages and notes; combine with before for a range.
limitNoMaximum hits to return, not a page size; fewer hits or [] may be returned. No pagination.
queryYesTopic or question, e.g. solar irrigation. Plain text, not FTS syntax; keyword search stems words and prefers all-word matches before partial matches.
beforeNoExclusive raw-source timestamp upper bound, e.g. 2026-10-01 (ISO date/time). Excludes undated wiki pages and notes; omit for no upper bound.
hybridNoEnable for paraphrases or a keyword miss. Requires a cache for the configured embedding model from synapse embed and endpoint access; false keeps search local and free.
sourceNoExact raw adapter name, e.g. chatgpt, claude, or file. Excludes wiki pages and notes; omit to search all sources.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.4.2
    • changedInput schema / properties / after / description
      Previous value: -"ISO date lower bound for raw sources"New value: +"Inclusive raw-source timestamp lower bound, e.g. 2026-09-01 (ISO date/time). Excludes undated wiki pages and notes; combine with before for a range."
    • changedInput schema / properties / before / description
      Previous value: -"ISO date upper bound for raw sources"New value: +"Exclusive raw-source timestamp upper bound, e.g. 2026-10-01 (ISO date/time). Excludes undated wiki pages and notes; omit for no upper bound."
    • changedInput schema / properties / hybrid / description
      Previous value: -"Fuse keyword and semantic results; may call the configured embedding endpoint"New value: +"Enable for paraphrases or a keyword miss. Requires a cache for the configured embedding model from synapse embed and endpoint access; false keeps search local and free."
    • addedInput schema / properties / kind / description
      Added value: +"Corpus to search: raw imported history, wiki synthesized pages, or note approved agent notes. Omit for all three; date/source filters combined with wiki/note yield no hits."
    • addedInput schema / properties / limit / description
      Added value: +"Maximum hits to return, not a page size; fewer hits or [] may be returned. No pagination."
    • changedInput schema / properties / query / description
      Previous value: -"Words to search for"New value: +"Topic or question, e.g. solar irrigation. Plain text, not FTS syntax; keyword search stems words and prefers all-word matches before partial matches."
    • addedInput schema / properties / query / minLength
      Added value: +1
    • changedInput schema / properties / source / description
      Previous value: -"Raw adapter name, such as chatgpt"New value: +"Exact raw adapter name, e.g. chatgpt, claude, or file. Excludes wiki pages and notes; omit to search all sources."
  2. First observedv0.4.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover only readOnly/openWorld, but the description adds substantial behavior: no matches returns [], keyword mode is local and free with no model call, hybrid sends query text to the configured embedding endpoint and 'may incur its cost and latency on each call', missing cache or credentials yields a tool error, and it never edits Markdown. This is well beyond what the annotations provide.

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?

Front-loaded with purpose and sibling routing, and most sentences carry distinct information (return shape, cost model, error behavior, filters). It is dense and somewhat run-on in the middle, but little is redundant given the ground it covers.

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 7-parameter search tool with no output schema, the description supplies the return contract (JSON array in text, up to limit, relevance order, path/title/snippet/routing), the empty-result case, the cost/prerequisite model for hybrid, and the filter scoping rules. Nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description goes further by tying result fields to next actions (kind=page plus slug for read_page, kind=note plus note_id for read_note, kind=source plus source_path for read_source) and by reiterating that date/source filters restrict results to raw history. The routing semantics are the genuinely additive part; the rest restates 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?

States a specific verb ('Find') and resource set ('wiki pages, approved notes, imported history') scoped by content, which is exactly distinguishable from list_pages (catalog) and neighbors (links). An agent can pick this tool over its siblings 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?

Explicitly says 'Start here for a question' and names the two alternatives with the condition that selects each ('use list_pages for the wiki catalog or neighbors for links from a known page'). It also gives a usage constraint: 'Open only relevant hits, not the whole vault.'

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