Skip to main content
Glama

search_requirements

Read-only

Search loaded ECSS and NASA standards by keyword to find requirements and table rows with exact citations. Use queries like "factor of safety" or "NASA-STD-5019" to locate specific clauses.

Instructions

Search across loaded requirements (BM25; hybrid with embeddings when the server enables it). Optionally restrict to one document.

query: REQUIRED search words, never empty, e.g. "ultimate factor of safety metallic structure" or "fracture control NASA-STD-5019". A call without search words returns no results.

Returns {"results": [...]} plus, when relevant, "not_loaded", "elsewhere" and "notes". Without doc_id, standards named in the query (e.g. "NASA-STD-5001B", "ECSS-E-ST-32-01") restrict the search to them. not_loaded lists named standards that are not loaded: never answer from them. It is split into in_documents_folder (present in the user's documents folder but not loaded, with issue and status: say so, and that they can be loaded through corpus.yaml) and not_in_documents_folder (the user does not have them). elsewhere holds stronger hits from other loaded documents when the named document matches weakly — it may not cover the topic. Table rows are searched too: a hit found through a table carries matched_table_row (table citation, row labels, cells) — take the numbers from there or from get_table, and cite both the requirement and the table. Records and rows carry tier (verified, checked, unchecked) and page; rows from tables below verified carry check: repeat it ("check against the source, page N") next to any number taken from them. Each hit may carry neighbours: the records next to it in the same clause (a requirement is often split over sibling letters). They are full records with citations; read them before concluding a clause is not covered.

Input Schema

NameRequiredDescriptionDefault
limitNo
queryYes
doc_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint/openWorldHint; the description goes far beyond by documenting the response envelope (results, not_loaded, elsewhere, notes), the in_documents_folder vs not_in_documents_folder split with remediation via corpus.yaml, tier/check/page fields, and the neighbours mechanism. This is unusually rich behavioral disclosure, including the mandatory 'check against the source, page N' repetition rule.

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 the critical query constraint are front-loaded, and nearly every sentence carries operative instruction (citation rules, verification duties). It is dense and somewhat run-on, with backtick field names stacked across long sentences, but there is little true padding.

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?

For a tool with no output schema and no parameter descriptions, the description supplies return shape, edge cases, and downstream citation obligations, so an agent has what it needs to interpret results correctly. The remaining gap is the unexplained limit parameter and any indication of result ordering or truncation.

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?

With 0% schema description coverage the description must carry all parameter meaning; it fully defines query (never empty, with example phrasings) and doc_id (scoping behavior, standard-name restriction semantics) far beyond the bare schema. The third parameter, limit, is never mentioned anywhere, leaving paging behavior undocumented.

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+resource ('search across loaded requirements') and even names the retrieval mechanism (BM25, hybrid with embeddings when enabled). It is clearly distinguishable from siblings like get_requirement or compare_topic, which presuppose a citation or topic rather than a free-text query.

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?

Gives real routing guidance: restrict with doc_id or let standards named in the query scope the search, take numbers from matched_table_row or get_table, and never answer from not_loaded entries. It stops short of an explicit 'use X instead when Y' map against siblings such as get_requirement, so it is strong but not exhaustive.

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