# `TMCP024` list_all_tags returns unique tags sorted Call `list_all_tags` and verify the response contains all unique tags sorted alphabetically. Namespaced tags (e.g. `bar:baz`) shall appear as a single entry, not split into parts. :::{dropdown} Is a test for :open: :icon: check-circle-fill :color: primary [`MCP008` List all tags](/requirements/MCP008) ::: :::{dropdown} Automated in :open: :icon: check-circle-fill :color: success {fab}`python` [`test_list_all_tags`](https://github.com/agagniere/speky/blob/master/tests/test_mcp_server.py#L677) ::: :::{dropdown} Source :icon: file-code :color: info __Source file__: [`specs/mcp/test_08.yaml`](https://github.com/agagniere/speky/blob/master/specs/mcp/test_08.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 `list_all_tags` with no arguments ```json { "id": 2, "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "list_all_tags", "arguments": {} } } ``` ### Step 2 Verify the response contains all tags sorted alphabetically. `bar:baz` appears as one entry (not split into `bar` and `baz`). `bar:baz` sorts before `foo`. ```json { "id": 2, "jsonrpc": "2.0", "result": { "structuredContent": { "tags": ["bar:baz", "foo"] } } } ```