# `TMCP039` search_tests filtered by category and tester_of The user shall be able to combine category and tester_of filters, receiving only tests that match both criteria. :::{dropdown} Is a test for :open: :icon: check-circle-fill :color: primary [`MCP011` Search and filter tests](/requirements/MCP011) ::: :::{dropdown} Automated in :open: :icon: check-circle-fill :color: success {fab}`python` [`test_search_combined_filters`](https://github.com/agagniere/speky/blob/master/tests/test_mcp_server.py#L495) ::: :::{dropdown} Source :icon: file-code :color: info __Source file__: [`specs/mcp/test_11.yaml`](https://github.com/agagniere/speky/blob/master/specs/mcp/test_11.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 The client calls `search_tests` with category `functional` and tester_of `RF01` ```json { "id": 2, "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "search_tests", "arguments": {"category": "functional", "tester_of": "RF01"} } } ``` ### Step 2 Verify only T01 is returned. T03 and T04 do not reference RF01. T02 references RF02, not RF01. ```json { "id": 2, "jsonrpc": "2.0", "result": { "structuredContent": { "tests": [ {"category": "functional", "id": "T01"} ] } } } ```