# `TMCP004` get_requirement with minimal fields Query a requirement with minimal fields and verify the response :::{dropdown} Is a test for :open: :icon: check-circle-fill :color: primary [`MCP003` Get requirement by ID](/requirements/MCP003) ::: :::{dropdown} Automated in :open: :icon: check-circle-fill :color: success {fab}`python` [`test_get_simple_requirement`](https://github.com/agagniere/speky/blob/master/tests/test_mcp_server.py#L95) ::: :::{dropdown} Source :icon: file-code :color: info __Source file__: [`specs/mcp/test_03.yaml`](https://github.com/agagniere/speky/blob/master/specs/mcp/test_03.yaml) __Loaded from__: [`speky_mcp`](https://github.com/agagniere/speky/blob/master/specs/mcp/mcp.toml) ::: ## Initial state The expected state is the final state of [`TMCP003` Initialize the MCP server](/tests/TMCP003) ## Procedure ### Step 1 Call `get_requirement` tool with ID `RF01` ```json { "id": 2, "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "get_requirement", "arguments": {"id": "RF01"} } } ``` ### Step 2 Verify response contains requirement details: - id: `RF01` - category: functional - long: "The first requirement" - tested_by: `T01` - comments: a single comment - Empty or absent short, tags, properties, client_statement, ref and referenced_by fields ```json { "id": 2, "jsonrpc": "2.0", "result": { "structuredContent": { "category": "functional", "comments": [ { "date": "01/01/2025", "external": false, "from": "Some Person", "text": "The first comment" } ], "id": "RF01", "long": "The first requirement", "tested_by": [{"id": "T01"}] } } } ```