grafana-mcp
This server provides comprehensive access to manage and query a Grafana instance through the MCP protocol, covering dashboards, datasources, alerting, and more.
Dashboard Management: Search by title/tag/folder, get by UID, create/update with full JSON model support, delete, and list all folders.
Datasource Operations: List all configured datasources, get a specific datasource by name or ID, and run instant or range queries against any datasource.
InfluxDB Exploration: List databases, measurements, field keys, tag keys, tag values, and retention policies for InfluxDB datasources.
Alerting Management: List, get, create, update, and delete Grafana-managed alert rules; retrieve the notification policy tree and list contact points.
Health Check: Verify the Grafana instance status and version.
Provides tools to interact with a Grafana instance, including searching, fetching, creating, updating, and deleting dashboards; managing datasources; running queries; managing alert rules, notification policies, and contact points; listing folders; and checking health.
Provides tools to query InfluxDB databases through a Grafana datasource, including listing databases, measurements, field keys, tag keys, tag values, and retention policies.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@grafana-mcpsearch for dashboards related to CPU usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Grafana-MCP
An MCP (Model Context Protocol) server that gives Bob direct access to your Grafana instance — dashboards, datasources, queries, alerting rules, and more.
Prerequisites
Node.js v18 or later
A running Grafana instance
A Grafana user with sufficient permissions (Admin recommended for full access)
Related MCP server: Grafana MCP Server
Installation
Install dependencies and build
git clone <url>
cd grafana-mcp
npm install
npm run buildThe compiled server is now at build/index.js.
Configuration
The server reads three required environment variables and one optional one:
Variable | Description |
| Base URL of your Grafana instance, e.g. |
| Grafana username |
| Grafana password |
| Optional: SOCKS5 proxy URL, e.g. |
Registering with Bob
There are two places you can register the server. Most users will prefer the global config so the server is available in every Bob workspace without any per-project setup.
Option A — Global config (recommended)
Edit ~/.bob/settings/mcp.json (Windows: %USERPROFILE%\.bob\settings\mcp.json) and add the server entry. Replace the path with the absolute path to the built entry point on your machine:
{
"mcpServers": {
"grafana-mcp": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\grafana-mcp\\build\\index.js"],
"env": {
"GRAFANA_URL": "http://your-grafana-host:3000",
"GRAFANA_USER": "admin",
"GRAFANA_PASSWORD": "your-password",
"SOCKS_PROXY": "socks5://<proxy-host>:<port>"
}
}
}
}
SOCKS_PROXYis optional — omit it if you don't need a proxy.
Option B — Project/workspace config
Add the same entry to .bob/mcp.json at the root of a specific workspace. This scopes the server to that project only.
{
"mcpServers": {
"grafana-mcp": {
"command": "node",
"args": ["/absolute/path/to/grafana-mcp/build/index.js"],
"env": {
"GRAFANA_URL": "http://your-grafana-host:3000",
"GRAFANA_USER": "admin",
"GRAFANA_PASSWORD": "your-password",
"SOCKS_PROXY": "socks5://<proxy-host>:<port>"
}
}
}
}
SOCKS_PROXYis optional — omit it if you don't need a proxy.
To point at a different Grafana instance, change GRAFANA_URL (and credentials as needed) in whichever config file you used.
Available Tools
Tool | Description |
| Search dashboards by title, tag, or folder |
| Fetch a dashboard by UID |
| Create or update a dashboard |
| Delete a dashboard by UID |
| List all configured datasources |
| Get a datasource by name or ID |
| Run instant/range queries via Grafana's |
| List InfluxDB databases through a Grafana datasource |
| List measurements in an InfluxDB database |
| List numeric field keys for a measurement |
| List indexed tag keys for a measurement |
| Enumerate values for a specific tag key |
| List retention policies for an InfluxDB database |
| List Grafana-managed alerting rules |
| Get an alert rule by UID |
| Create a new alert rule via the provisioning API |
| Update an existing alert rule |
| Delete an alert rule by UID |
| Get the alert notification policy tree |
| List all notification contact points |
| List all dashboard folders |
| Check the health and version of the Grafana instance |
Troubleshooting
If MCP server shows "disconnected" in Bob IDE
The system node binary requires a version of c-ares that might not be installed on the machine. Try using the node binary bundled with Bob IDE instead — it has everything it needs built in.
Find it:
find ~/.bobide-server/bin -name "node" -type fThen update command in your MCP config:
"command": "/root/.bobide-server/bin/<hash>/node"Available Tools
22 toolscreate-alert-ruleC
Create a new Grafana-managed alert rule via the provisioning API.
| Name | Required | Description | Default |
|---|---|---|---|
| rule | Yes | Full alert rule object (Grafana provisioning format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States 'create' (mutation) but no details on idempotency, permissions, duplicate handling, or return value. With no output schema, agent lacks info on what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, front-loaded with action and resource. Every word matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complex nested object parameter, no output schema, and no annotations, the description is too brief. Agent lacks info on expected response, validation, or edge cases. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the single param 'rule' ('Full alert rule object (Grafana provisioning format)'). This adds context beyond property name but remains vague about structure or required sub-fields. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Create', resource 'alert rule', and qualifier 'Grafana-managed via provisioning API'. Distinguishes from siblings (e.g., update-alert-rule) by action verb, but lacks explicit differentiation from other creation tools like create-or-update-dashboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., update-alert-rule for existing rules). No prerequisites or context about creation vs migration scenarios provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-or-update-dashboardB
Create a new dashboard or update an existing one. Pass the full dashboard JSON model.
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Commit message | |
| folderId | No | Folder ID to save into (0 = General) | |
| dashboard | Yes | Grafana dashboard JSON model object | |
| overwrite | No | Overwrite if UID already exists |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden; it fails to disclose behavioral details like whether updates are full replacements or merges, or any side effects like overwrite behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words, appropriately front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters and no output schema, description omits details like return value, behavior of overwrite flag, and expected format for the dashboard model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so description adds little new meaning; the phrase 'full dashboard JSON model' reinforces the dashboard parameter but is not essential.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool does create or update operations on a dashboard, distinguishing it from other dashboard tools like delete-dashboard or get-dashboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives; the instruction to 'pass the full dashboard JSON model' implies usage context but lacks exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-alert-ruleB
Delete a Grafana-managed alert rule by UID.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Alert rule UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states 'Delete', which implies destructiveness, but does not elaborate on permanence, required permissions, cascading effects, or confirmation steps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter deletion tool with no output schema, the description is minimally adequate but lacks context on effects, permissions, or how to obtain the UID.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'uid' described as 'Alert rule UID'. The description adds 'by UID' which reinforces but does not add new meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete' and the specific resource 'Grafana-managed alert rule', with the method 'by UID'. It effectively distinguishes this tool from siblings like create-alert-rule, update-alert-rule, and list-alert-rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., need to retrieve UID first), whether deletions are reversible, or when to prefer disabling over deleting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete-dashboardB
Delete a dashboard by its UID.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Dashboard UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. 'Delete' implies irreversibility, but no explicit statement about permanence or side effects. Minimal transparency for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no wasted words, front-loaded with the action and identifier. Efficient for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple delete operation: identifies the resource and the required parameter. However, lacks context on consequences, permissions, or error handling, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'uid' described. The description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('delete') and the resource ('dashboard'), and specifies the identifier ('by its UID'). It distinguishes from sibling tools like 'get-dashboard' and 'create-or-update-dashboard'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of conditions for safe usage. The description is purely operational.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-alert-ruleB
Get a Grafana-managed alert rule by UID.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Alert rule UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'Get' implying read-only but lacks details on permissions, response format, or side effects. Descriptive burden is high but unmet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single 9-word sentence, no redundancy. Could be more front-loaded but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, description lacks information on output, error conditions, or how the rule is returned. Incomplete for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single 'uid' parameter with description 'Alert rule UID' (100% coverage). Description adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get', resource 'alert rule', and qualifier 'by UID'. It directly distinguishes from sibling tools like list-alert-rules (list all) and create-alert-rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list-alert-rules for fetching multiple rules. Missing context like prerequisites (e.g., rule must exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-dashboardA
Get a dashboard by its UID. Returns the full dashboard JSON model.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Dashboard UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states the tool returns data, implying read-only, but doesn't disclose error handling, permissions, or rate limits. The description is adequate but minimal for a retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short sentences, no extraneous words, and front-loads the core action. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers what it does and what it returns. It is complete given the tool's complexity and available structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter 'uid' already described as 'Dashboard UID'. The description adds 'by its UID', but this adds minimal value beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a dashboard by UID and returns the full JSON model. It uses specific verb 'Get' and resource 'dashboard', and distinguishes from siblings like 'search-dashboards' which list dashboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when you have a UID and need full data), but does not explicitly state when not to use or mention alternatives like 'search-dashboards' for listing. Context signals provide sibling names, but the description could offer clearer guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-datasourceB
Get a datasource by its name or numeric ID.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Datasource name (string) or numeric ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states 'get a datasource' but does not mention whether the operation is read-only, requires permissions, or returns specific data. Lacks disclosure of side effects or security considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It is efficient and front-loaded with the action. Could potentially be expanded slightly without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic purpose, there is no output schema to describe return values. As a simple retrieval tool, the description might be sufficient, but it does not hint at the response format (e.g., full configuration, basic metadata).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter 'identifier' (string or number). The description adds no additional meaning beyond what is in the schema, meeting the baseline but not improving it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('datasource'), and specifies the identification method ('by its name or numeric ID'). This distinguishes it from sibling tools like list-datasources (list all) and query-datasource (query data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list-datasources, query-datasource). The description implies retrieval by identifier but does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-healthA
Check the health and version of the Grafana instance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing any behavioral traits such as side effects, required authentication, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, to the point, no extraneous words, information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health check with no parameters and no output schema, the description is adequate. It could mention return value format but is still complete enough for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and the schema coverage is complete. The description does not need to add parameter details, so baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks health and version of the Grafana instance, using a specific verb and resource, and no sibling tool duplicates this function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. While it's a simple health check, the description does not provide explicit context or mention any alternative for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-databasesA
List all InfluxDB databases accessible through a Grafana InfluxDB datasource.
| Name | Required | Description | Default |
|---|---|---|---|
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource (from list-datasources) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'list all databases' without disclosing read-only nature, performance implications, or required permissions. Minimal behavioral context for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words, front-loaded with action and resource. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter and no output schema, description is adequate. Lacks return format details but sufficient for agent to understand action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter with adequate description. Description adds no extra meaning beyond schema, aligning with baseline for 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'list' and resource 'InfluxDB databases' with scope 'through a Grafana InfluxDB datasource', making it distinct from sibling tools like influx-show-measurements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives. Usage is implied as a list operation before querying databases, but lacks when-not or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-field-keysA
List all field keys (numeric columns) for a measurement in InfluxDB.
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes | InfluxDB database name | |
| measurement | Yes | Measurement name | |
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States it lists field keys, clearly a read operation with no side effects. Lacks details on permissions or performance impact but adequate for a simple retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words, directly states purpose. Front-loaded with verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 3 required parameters, all documented in schema. No output schema needed. Description is sufficient given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. Description adds value by clarifying 'field keys (numeric columns)', which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'List' plus specific resource 'field keys (numeric columns)' for a measurement in InfluxDB. Distinguishes well from sibling tools like influx-show-tag-keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for listing numeric columns, but no explicit guidance on when to use vs alternatives or prerequisites. Use context inferred from name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-measurementsA
List all measurements (tables) in an InfluxDB database.
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes | InfluxDB database name | |
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only states it lists measurements. It does not disclose whether the operation is read-only, requires authentication, or any side effects. The purpose is clear but behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that concisely conveys the tool's purpose with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with two well-described parameters and no output schema, the description is adequate. It lacks details about return format or filtering, but the low complexity keeps the gap small.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters. The tool description adds no further meaning beyond what the parameter descriptions provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all measurements (tables) in an InfluxDB database, using specific verb+resource. It distinguishes from siblings like influx-show-databases and influx-show-field-keys by focusing on measurements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to see measurements in a database, but provides no explicit guidance on when to use this tool vs alternatives (e.g., influx-show-field-keys) or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-retention-policiesA
List retention policies for an InfluxDB database, including duration and replication.
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes | InfluxDB database name | |
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden but only states it lists data. It implies a read-only operation but does not explicitly confirm no side effects, auth requirements, or rate limits. For a list tool, this is minimally adequate but lacks explicit safety guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no redundancy. The verb 'List' is first, followed by the resource and key details. Every word contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 2 required parameters and no output schema, the description is nearly complete. However, it does not describe the return format (e.g., array of objects) or how to interpret the results. A minor gap given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are documented in the schema. The description adds no extra meaning beyond the parameter names and types (e.g., does not explain how 'duration' is formatted or the role of 'datasourceId'). Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action ('List'), resource ('retention policies'), and scope ('for an InfluxDB database'), while noting included details ('duration and replication'). Sibling tools like influx-show-databases or influx-show-measurements handle different entities, so this distinguishes well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., other influx-show-* or query-datasource). There is no mention of prerequisites (e.g., valid datasourceId and database) or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-tag-keysB
List all tag keys (indexed dimensions) for a measurement in InfluxDB.
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes | InfluxDB database name | |
| measurement | Yes | Measurement name | |
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavioral traits. It indicates a read-only operation but lacks details about potential errors, return format, or if pagination is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no superfluous information. The key purpose is front-loaded and clearly communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 required parameters and no output schema, the description covers the basic purpose but omits what the output looks like (e.g., an array of keys) and any edge cases. More context would increase completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have descriptions in the schema (100% coverage). The description adds minimal context by noting tag keys are 'indexed dimensions', but does not compensate for the schema's clarity. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), identifies the resource ('tag keys'), and clarifies they are 'indexed dimensions', distinguishing it from sibling tools like influx-show-field-keys and influx-show-tag-values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Sibling tools exist for field keys and tag values, but the description does not help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
influx-show-tag-valuesA
List all values for a specific tag key in an InfluxDB measurement. Useful for discovering hostnames, environments, regions, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| tagKey | Yes | Tag key to enumerate values for (e.g. 'host', 'region') | |
| database | Yes | InfluxDB database name | |
| measurement | Yes | Measurement name | |
| datasourceId | Yes | Numeric ID of the Grafana InfluxDB datasource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral transparency. It only states that it lists values, but does not disclose any potential side effects, performance impacts, authentication needs, or limits. This is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core purpose, the second provides usage examples. Very concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool listing tag values, the description is fairly complete. It could mention that it uses SHOW TAG VALUES or requires a running datasource, but these are implicit. No output schema, but return values are self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters. The description adds context that the tagKey is for fields like 'host' or 'region', which is helpful but not substantial. Baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states using the verb 'List' and specifies the resource 'tag values for a specific tag key in an InfluxDB measurement'. It distinguishes from sibling tools like influx-show-tag-keys (lists keys) and influx-show-field-keys (lists fields) by focusing on values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by mentioning use cases like discovering hostnames, environments, regions. However, it does not explicitly state when not to use the tool or suggest alternatives, which is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-alert-rulesC
List all Grafana Alerting rules (Grafana-managed alerts).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | Filter by alert state | |
| panelId | No | Filter by panel ID | |
| dashboardId | No | Filter by dashboard ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully explain behavior. It states 'List all' but does not disclose pagination, rate limits, or that it only lists Grafana-managed alerts (though implied). No mention of side effects or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, front-loading the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, no output schema, and no annotations, the description is too sparse. It does not explain pagination, filtering behavior, or the format of returned rules, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (below 80%), so the description should compensate for missing parameter details. However, the description adds no parameter information at all, leaving the agent to rely solely on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'Grafana Alerting rules' with a qualifier to distinguish from other alert types. However, the phrase 'List all' is somewhat misleading because the limit parameter indicates pagination, so the tool may not return all rules in a single call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get-alert-rule for single rules, or how pagination or filtering affects usage. No when-not or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-contact-pointsA
List all Grafana Alerting contact points (notification channels).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must convey behavior. It only states that it lists all contact points without details on pagination, authentication, or error states. For a simple list tool with no parameters, this is minimally adequate but not rich in behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It front-loads the action and resource, making it scannable. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is largely complete for understanding the tool's purpose. However, it lacks detail on the output shape or potential limitations. For a list-all tool, this is reasonable but could be slightly richer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage, so the description does not need to add parameter details. The baseline for no parameters is 4. The description adds nothing beyond the schema, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (all Grafana Alerting contact points), with parenthetical clarification that these are notification channels. This verb+resource structure effectively distinguishes it from siblings like list-notification-policies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives (e.g., list-notification-policies). While the resource name is distinct, lacking context for selection is a gap; however, the tool is straightforward enough that agents may infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-datasourcesA
List all configured datasources in Grafana.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly indicates a read-only list operation with no side effects. No further behavioral details (e.g., pagination) are needed given the zero-parameter interface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose. Every word contributes meaning, with no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of parameters, annotations, and output schema, the description fully covers the tool's behavior. It is complete for a simple list operation, requiring no additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema coverage, so the description adds no parameter information. The baseline for zero parameters is 4, and the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (all configured datasources in Grafana). It distinguishes from sibling tools like get-datasource (singular) and other list tools by specifying 'datasources'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While no explicit when-to-use guidance is given, the simple nature of the tool and its name make the usage obvious. The description implies it is for retrieving all datasources, contrasting with get-datasource for a specific one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-foldersC
List all dashboard folders in Grafana.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It fails to mention read-only nature, pagination, sorting, or any side effects. Only a basic action and resource are stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but at the expense of completeness. It is front-loaded with the action, but omits critical details about parameters and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and one parameter, the description should provide more context about return format, behavior, and usage. It is too minimal to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not explain the 'limit' parameter. It doesn't clarify what limit does (e.g., maximum number returned) or its default value, leaving the agent without guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List' and the resource 'all dashboard folders' in the context 'Grafana'. It effectively distinguishes from sibling tools like list-dashboards and search-dashboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not mention when to use this tool, when not to, or any alternatives. For example, it doesn't indicate that creating or updating folders would require different tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-notification-policiesA
Get the Grafana Alerting notification policy tree.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it 'gets' the policy tree, giving no detail about behavior, return format, or side effects. For a tool with zero annotations, much more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant information. Highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters, the description is minimally adequate but omits what a 'notification policy tree' is or any return structure. Could be more complete given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description need not add parameter info. Baseline is 4; description is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Get) and specific resource (Grafana Alerting notification policy tree), distinguishing it from sibling tools like list-alert-rules or list-contact-points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Lacks context about prerequisites or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query-datasourceB
Run an instant or range query against a datasource using Grafana's ds/query endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of time range | now |
| from | No | Start of time range, e.g. 'now-1h' or epoch ms | now-1h |
| queries | Yes | Array of query objects (datasource-specific format) | |
| datasourceUid | Yes | UID of the datasource to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only mentions instant/range queries and the endpoint. Missing details on error handling, permissions, rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words, front-loaded with the key action and resource. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with well-documented schema, but lacks output schema or usage examples. Missing behavioral context beyond the one-line description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs instant or range queries against a datasource, specifying the verb 'run' and the resource 'query against datasource'. It distinguishes from sibling tools like influx-show-* which are InfluxDB-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like influx-show-*. The description does not mention prerequisites, limitations, or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-dashboardsA
Search for Grafana dashboards by query string, folder, or tag.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by dashboard tag | |
| limit | No | Max results (default 50) | |
| query | No | Search query (title substring) | |
| folderIds | No | Restrict to these folder IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It implies a read-only operation ('Search') but does not explicitly state safety, rate limits, or behavior when no results are found. The description is adequate but lacks depth for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the tool's purpose without any wasted words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complete parameter schema and no output schema, the description is largely sufficient. It could mention that results are a list of dashboards, but the context is clear enough for a simple search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented. The description adds a high-level grouping ('query string, folder, or tag') but no additional syntax or behavioral context beyond the schema. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search'), the resource ('Grafana dashboards'), and the filtering criteria ('query string, folder, or tag'). This verb+resource+scope structure distinguishes it from sibling tools like 'get-dashboard' or 'list-dashboards'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or preferred use cases, leaving the agent without context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-alert-ruleB
Update an existing Grafana-managed alert rule by UID.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | Alert rule UID | |
| rule | Yes | Updated alert rule object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose update semantics (partial vs full replacement), error handling, permissions, or side effects; with no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One well-structured sentence, no wasted words, and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has nested objects and no output schema, the description is too brief, omitting return values, error handling, and practical usage details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description adds 'by UID' which aligns with schema but does not further explain the rule object structure beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action (update), resource (alert rule), and method (by UID), clearly distinguishing it from sibling tools like create-alert-rule and delete-alert-rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus create-alert-rule or get-alert-rule; no context about prerequisites or usage scenarios is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource and action. Alert, dashboard, datasource, folder, contact point, notification policy, health, query, and InfluxDB exploration tools all have clear, non-overlapping purposes. Even within alerts, single vs list tools are distinct.
Most tools follow a verb-noun pattern with hyphens (e.g., create-alert-rule, list-dashboards). Minor inconsistencies include 'create-or-update-dashboard' using a compound verb and 'get-datasource' singular vs 'list-datasources' plural, but overall pattern is predictable.
22 tools is slightly above the typical sweet spot but still reasonable for a comprehensive Grafana server. The scope covers alerts, dashboards, datasources, folders, contact points, notification policies, health, query, and InfluxDB exploration, justifying the count.
Core CRUD for dashboards and alerts is present, but missing create/update/delete for folders, contact points, and notification policies limits workflow completeness. InfluxDB tools are read-only. Basic querying and health checks are included.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server giving access to Grafana dashboards, data and more.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol (MCP) server for Grafana. This provides access to your Grafana instance and the surrounding ecosystem.3,412Apache 2.0
- AlicenseAqualityDmaintenanceA server that enables AI assistants to access and query Grafana dashboards, metrics, logs, and configurations through an MCP protocol interface.106MIT
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to interact with Grafana instances for searching, creating, and updating dashboards, exploring logs via Loki, querying datasources, managing alerts, incidents, and on-call shifts, and accessing observability data.8Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server for Grafana that provides tools to interact with dashboards, data sources, alerts, and more.1
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jason-Shi-1/grafana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server