---
title: "List MCP tools"
method: GET
path: "/api/mcp/tools"
tags: ["MCP"]
---

# List MCP tools

`GET /api/mcp/tools`

## Request

- Base URL: `/api/plugins/consensys-asko11y-app/resources` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/plugins/consensys-asko11y-app/resources/api/mcp/tools`
- Auth: one of:
  - API key in cookie `grafana_session`
  - HTTP bearer

Returns a list of available MCP tools filtered by the user's role. Admin/Editor roles see all tools, while Viewer role only sees tools with `readOnlyHint: true` annotation. Tools from multiple MCP servers are aggregated.

## Headers

- `X-Grafana-Org-Id` string

## Response `200`

List of MCP tools (RBAC-filtered)

- object
  - `tools` Tool[], required
    - `name` string, required: Tool name (unique identifier)
    - `description` string: Human-readable tool description
    - `inputSchema` object, required: JSON Schema for tool input parameters
    - `annotations` ToolAnnotations: MCP tool annotations for RBAC and behavior hints
      - `readOnlyHint` boolean, nullable: Tool only reads data (safe for Viewer role). Null means unspecified.
      - `destructiveHint` boolean, nullable: Tool may delete or modify data. Null means unspecified.
      - `idempotentHint` boolean, nullable: Tool is idempotent (safe to retry). Null means unspecified.
      - `openWorldHint` boolean, nullable: Tool may access external resources. Null means unspecified.

## Other responses

- `401`: Unauthorized (missing or invalid authentication)
- `500`: Internal server error

---

[API](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api.md) - [All operations](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/consensys/apis/ask-o11y-ai-powered-observability-assistant-api/revisions/ee3ccd0f186d?raw)
