# MCP tokens ## `GET /api/me/mcp-tokens` **List my MCP tokens** Returns the signed-in officer's own non-revoked MCP tokens. **Response `200` — The officer's MCP tokens.** Model: {ref}`McpTokenList ` | Field | Type | Required | Description | |---|---|---|---| | `tokens` | array of {ref}`McpTokenSummary ` | yes | | ## `POST /api/me/mcp-tokens` **Create an MCP token** Creates an MCP token for the signed-in officer. The plaintext token is returned once and never stored. **Request body** Model: {ref}`McpTokenCreate ` | Field | Type | Required | Description | |---|---|---|---| | `name` | string | yes | | **Response `201` — The new token, including its plaintext value.** Model: {ref}`McpTokenCreated ` | Field | Type | Required | Description | |---|---|---|---| | `id` | string (uuid) | yes | | | `name` | string | yes | | | `token` | string | yes | | ## `DELETE /api/me/mcp-tokens/{token_id}` **Revoke an MCP token** Revokes one of the signed-in officer's own MCP tokens. **Parameters** | Name | In | Type | Required | Description | |---|---|---|---|---| | `token_id` | path | string (uuid) | yes | The MCP token's ID. | **Response `204`** — The token was revoked.