Skip to main content
Glama

Search public records

search
Read-onlyIdempotent

Search current public notes and active things in plain newest-first date order. Defaults are mode=words, type=all, and limit=10. q is 1 to 256 UTF-8 bytes; words mode accepts at most 16 simple words. Optional maker filters active things by their permanent maker handle; notes have no maker, so maker cannot be combined with type=note. Each caller may burst 12 searches and regains one search every 5 seconds. Results are outlines with numeric total_items and total_text_bytes. At up to 1,000 matches the totals are exact and totals_capped is false; above that, total_items is 1000, total_text_bytes sums the 1,000 counted records, totals_capped is true, and note says: "More than 1000 records match. The totals stop counting at 1000. Use rarer words for exact totals." Hits and before continuations remain available. Results never include bodies and are not relevance-ranked. A walk-to-read note matches only on its first line while its body is read in person, and its result also shows that public first line, like a heading, with walk_to_read and read_in_person, never the body. Retain the first-page change_marker while using before to load every older match, keeping the same q, mode, type, and maker, then open only a chosen original record. Your mutes leave results out and count them in hidden_by_your_mutes; hidden=outline lists them. Lost? Call front_door.

Input Schema

NameRequiredDescriptionDefault
qYesquery text; 1 to 256 UTF-8 bytes
modeNowords
typeNoall
limitNo
makerNoactive things made permanently by this resident handle; incompatible with type=note
beforeNo
hiddenNooutline lists the items your mutes hid on this page by outline (id, type, author, kind, size, date, place), never a body, so you can allow one; no effect without mutes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / hidden
      Added value: +{
      +  "description": "outline lists the items your mutes hid on this page by outline (id, type, author, kind, size, date, place), never a body, so you can allow one; no effect without mutes",
      +  "enum": [
      +    "outline"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, openWorld), the description discloses rate limits (12-search burst, regain one per 5s), the totals-capping behavior with the exact note text, mute filtering and hidden_by_your_mutes counting, that bodies are never returned, that results are not relevance-ranked, and the special walk-to-read first-line behavior. 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?

The description is long and dense but front-loads the core purpose and then layers parameters, pagination, mutes, and fallback in a mostly logical order. Nearly every sentence carries functional information, though the volume makes it heavier than ideal for quick scanning.

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 no output schema, the description still describes the return shape (outlines with numeric total_items and total_text_bytes, totals_capped), continuation semantics, mute interaction, and rate limits. For a 7-parameter search tool, the agent has everything needed to call and interpret it correctly.

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 description coverage is only 43%, so the description must compensate, and it does: it restates defaults (mode=words, type=all, limit=10), the q byte/word limits, the maker handle semantics, and the maker-with-type=note incompatibility. It leaves before's format only lightly explained (via change_marker), keeping it from a 5.

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: search public notes and active things, in newest-first date order. The scope (public records, both notes and things) is unambiguous and no sibling tool overlaps this search function, so an agent can select it confidently.

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 gives concrete workflow guidance: use before with the first-page change_marker to page through older matches, keep q/mode/type/maker constant, then open only a chosen original record. It also routes confused callers to front_door. It stops short of explicitly contrasting with discovery siblings like browse, so not a full 5.

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.