# `MCP003` Get requirement by ID {bdg-ref-info}`mcp | tools ` {bdg-ref-info}`mcp | query ` > I would like to retrieve the full details of a specific requirement when I only know its ID. > This will help me understand what a requirement is about before suggesting modifications or > writing related tests. > The user shall be able to query a requirement by its unique identifier. The MCP server shall expose a tool named `get_requirement` that accepts a requirement ID as a string parameter and returns the full requirement details. The response shall include all available fields: - `id`: The unique identifier - `category`: The category this requirement is from - `long`: The full description - `source_file`: Path to the specification file this requirement was loaded from - `short`: The short description (if present) - `tags`: List of tags (if present) - `properties`: Key-value properties (if present) - `client_statement`: Client's original statement (if present) - `ref`: List of referenced requirement IDs (if present) - `tested_by`: List of test IDs that validate this requirement - `referenced_by`: List of requirement IDs that reference this requirement - `comments`: List of comments about this requirement - `code_references`: List of code locations tagged with this requirement ID (if any), each with `file`, `line`, and `symbol` (or null for free references) If the requirement ID does not exist, the tool shall return an error message. :::{dropdown} Properties :icon: note :color: primary __author__: Claude __since__: `0.2.0` ::: :::{dropdown} Tested by :open: :icon: check-circle-fill :color: success - [`TMCP004` get_requirement with minimal fields](/tests/TMCP004) - [`TMCP005` get_requirement with all fields](/tests/TMCP005) - [`TMCP006` get_requirement errors on unknown ID](/tests/TMCP006) - [`TMCP016` get_requirement errors on non-requirement ID](/tests/TMCP016) - [`TMCP043` get_requirement includes code references](/tests/TMCP043) ::: :::{dropdown} References :icon: link :color: secondary __Referenced by:__ [`MCP007` List requirements referencing another](/requirements/MCP007) ::: :::{dropdown} Source :icon: file-code :color: info __Source file__: [`specs/mcp/query.yaml`](https://github.com/agagniere/speky/blob/master/specs/mcp/query.yaml) __Loaded from__: [`speky_mcp`](https://github.com/agagniere/speky/blob/master/specs/mcp/mcp.toml) __Implemented in:__ {fab}`python` [`handle_get_requirement`](https://github.com/agagniere/speky/blob/master/python/speky_mcp/tools.py#L10) :::