> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getmcp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Tool Tags

> Return every distinct tag in use across a server's tools.

Returns the union of all tag strings attached to any tool on the server, deduplicated. Useful for populating tag pickers in admin UIs or building tag-faceted dashboards without scanning every tool record.

## Path Parameters

<ParamField path="server_id" type="string" required>
  The UUID of the server (e.g. `836995ae-1cff-41ec-823e-a4f07ccca3a0`). Numeric IDs are also accepted for backwards compatibility.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
       --url https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/tags \
       --header 'Authorization: Bearer gmcp_your_api_key'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/tags",
      headers={"Authorization": "Bearer gmcp_your_api_key"},
  )
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/tags",
    {
      headers: { "Authorization": "Bearer gmcp_your_api_key" },
    }
  );
  const data = await response.json();
  ```

  ```php PHP theme={null}
  $response = wp_remote_get(
      "https://yoursite.com/wp-json/getmcp/v1/servers/836995ae-1cff-41ec-823e-a4f07ccca3a0/tools/tags",
      ["headers" => ["Authorization" => "Bearer gmcp_your_api_key"]]
  );
  $data = json_decode( wp_remote_retrieve_body( $response ), true );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "tags": ["billing", "customers", "products", "webhooks"]
  }
  ```

  ```json 200 OK — empty theme={null}
  {
    "tags": []
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "code": "getmcp_not_found",
    "message": "Server not found.",
    "data": { "status": 404 }
  }
  ```
</ResponseExample>

## Response Fields

<ResponseField name="tags" type="array">
  Distinct tag strings in use across the server's tools, in the order returned by `ToolManager::get_distinct_tags()`. Empty array when no tools are tagged.
</ResponseField>
