Skip to main content
Glama

reqs_query

Search and filter requirements by ID, status, priority, section, source, tag, or free text. Retrieve single or batch requirements, group results, and paginate with limit and offset.

Instructions

Search and filter requirements.

Supports lookup by ID via id= (single) or ids= (batch). Missing IDs are silently absent from the result. For a strict single-ID fetch that errors on miss, use reqs_get.

Args:

  • id: Fetch a single requirement by exact ID (e.g. FR-001)

  • ids: Fetch multiple requirements by ID list; missing IDs are skipped

  • status: Filter by status (planned, partial, implemented, verified, superseded, obsolete, deferred). Use 'deferred' to find requirements with active blockers.

  • priority: Filter by priority (must, should, could)

  • section: Filter by section (substring match)

  • search: Search in description and ID

  • source: Filter by source (substring match)

  • tag: Filter by tag

  • group_by: Group by: section, status, priority, source

  • limit: Max results. A limit you PASS is always honoured: 0 means NO results, and it means that with id/ids too (CB-158 — an id list used to raise any smaller limit to fit itself, so limit=0 came back full). A negative value is an error (it used to mean "no limit"). Omit it and the page size is 100, widened to fit an ids list so a batch lookup returns every id it asked for.

  • offset: Pagination offset

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
tagNo
limitNo
offsetNo
searchNo
sourceNo
statusNo
sectionNo
group_byNo
priorityNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.2.2

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries full behavioral burden and succeeds. It discloses that missing IDs are silently skipped, documents the historically surprising limit behavior (0 means no results, negative errors, default page size, ids batch widening), and explains status filter semantics such as using 'deferred' to find blocked requirements.

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?

The description is front-loaded with the core purpose and the key sibling distinction, then uses a tight arg list. Every parameter earns its entry, and even lengthier notes on limit behavior are justified because the behavior is genuinely non-obvious and historically inconsistent.

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 an 11-parameter tool with no annotations, no schema descriptions, and complex behavioral edge cases, this description is complete. It covers all parameters, gives filtering values, explains missing-ID handling, pagination defaults, and the sibling fallback. The output schema exists, so explaining return values is unnecessary.

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

Parameters5/5

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

Input schema description coverage is 0%, so the description must fully compensate. It documents all 11 parameters with concrete semantics, enum-like values for status/priority/group_by, substring matching for section/source, and detailed limit/offset behavior beyond 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?

Opens with a specific verb and resource: 'Search and filter requirements.' It clearly defines the tool's scope and differentiates it from the sibling reqs_get by explicitly saying reqs_query returns missing IDs silently absent while reqs_get errors on a strict single-ID miss.

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?

States when to use the tool versus an alternative: 'For a strict single-ID fetch that errors on miss, use reqs_get.' This gives an agent a concrete decision rule between two closely related tools.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/faxik/codebugs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server