# `MCP008` List all tags {bdg-ref-info}`mcp | tools ` {bdg-ref-info}`mcp | discovery ` > I would like to discover what tags exist in the specification so I can explore > requirements by theme. For example, "what tags are used?" helps me understand > how requirements are organized before I search for specific tags. > The user shall be able to retrieve a list of all tags used in the specification. The MCP server shall expose a tool named `list_all_tags` that returns all unique tags used across all requirements. The response shall be a sorted list of unique tag strings. Tags with subtags (e.g., "output:pdf") shall be listed as complete tags, not split into parts. If no requirements have tags, an empty list shall be returned. :::{dropdown} Properties :icon: note :color: primary __author__: Claude __since__: `0.2.0` ::: :::{dropdown} Tested by :open: :icon: check-circle-fill :color: success - [`TMCP024` list_all_tags returns unique tags sorted](/tests/TMCP024) - [`TMCP025` list_all_tags returns empty list when no tags](/tests/TMCP025) ::: :::{dropdown} Source :icon: file-code :color: info __Source file__: [`specs/mcp/discovery.yaml`](https://github.com/agagniere/speky/blob/master/specs/mcp/discovery.yaml) __Loaded from__: [`speky_mcp`](https://github.com/agagniere/speky/blob/master/specs/mcp/mcp.toml) __Implemented in:__ {fab}`python` [`handle_list_all_tags`](https://github.com/agagniere/speky/blob/master/python/speky_mcp/tools.py#L204) :::