prometheus-mcp
Integrates with GitHub Copilot in VS Code, allowing AI agents to access and analyze Prometheus monitoring data through natural language interactions.
Enables natural language querying and analysis of Prometheus metrics, with tools for metric discovery, label exploration, target inspection, and executing both instant and range queries against a Prometheus monitoring server.
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., "@prometheus-mcpshow me the top 5 services by CPU usage over the last hour"
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.
A Model Context Protocol (MCP) server that provides seamless integration between AI assistants and Prometheus, enabling natural language interactions with your monitoring infrastructure. This server allows for effortless querying, discovery, and analysis of metrics through Visual Studio Code, Cursor, Windsurf, Claude Desktop, and other MCP clients.
Key Features
Fast and lightweight. Direct API integration with Prometheus, no complex parsing needed.
LLM-friendly. Structured JSON responses optimized for AI assistant consumption.
Configurable capabilities. Enable/disable tool categories based on your security and operational requirements.
Dual transport support. Works with both stdio and HTTP transports for maximum compatibility.
Related MCP server: Prometheus MCP Server
Requirements
Node.js 20.19.0 or newer
Access to a Prometheus server
VS Code, Cursor, Windsurf, Claude Desktop or any other MCP client
Getting Started
First, install the Prometheus MCP server with your client. A typical configuration looks like this:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}# For VS Code
code --add-mcp '{"name":"prometheus","command":"npx","args":["prometheus-mcp@latest","stdio"],"env":{"PROMETHEUS_URL":"http://localhost:9090"}}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"prometheus","command":"npx","args":["prometheus-mcp@latest","stdio"],"env":{"PROMETHEUS_URL":"http://localhost:9090"}}'After installation, the Prometheus MCP server will be available for use with your GitHub Copilot agent in VS Code.
Go to Cursor Settings → MCP → Add new MCP Server. Name to your liking, use command type with the command npx prometheus-mcp. You can also verify config or add command arguments via clicking Edit.
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}Follow Windsurf MCP documentation. Use the following configuration:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}Claude Desktop supports two installation methods:
Option 1: DXT Extension
The easiest way to install is using the pre-built DXT extension:
Download the latest
.dxtfile from the releases pageDouble-click the downloaded file to install automatically
Configure your Prometheus URL in the extension settings
Option 2: Developer Settings
For advanced users or custom configurations, manually configure the MCP server:
Open Claude Desktop settings
Navigate to the Developer section
Add the following MCP server configuration:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["prometheus-mcp@latest", "stdio"],
"env": {
"PROMETHEUS_URL": "http://localhost:9090"
}
}
}
}Configuration
Prometheus MCP server supports the following arguments. They can be provided in the JSON configuration above, as part of the "args" list:
> npx prometheus-mcp@latest --help
Commands:
stdio Start Prometheus MCP server using stdio transport
http Start Prometheus MCP server using HTTP transport
Options:
--help Show help [boolean]
--version Show version number [boolean]Environment Variables
You can also configure the server using environment variables:
PROMETHEUS_URL- Prometheus server URLENABLE_DISCOVERY_TOOLS- Set to "false" to disable discovery tools (default: true)ENABLE_INFO_TOOLS- Set to "false" to disable info tools (default: true)ENABLE_QUERY_TOOLS- Set to "false" to disable query tools (default: true)
Standalone MCP Server
When running in server environments or when you need HTTP transport, run the MCP server with the http command:
npx prometheus-mcp@latest http --port 3000And then in your MCP client config, set the url to the HTTP endpoint:
{
"mcpServers": {
"prometheus": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}Docker
Run the Prometheus MCP server using Docker:
{
"mcpServers": {
"prometheus": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"--pull=always",
"-e",
"PROMETHEUS_URL=http://host.docker.internal:9090",
"ghcr.io/idanfishman/prometheus-mcp",
"stdio"
]
}
}
}Tools
The Prometheus MCP server provides 10 tools organized into three configurable categories:
Tools for exploring your Prometheus infrastructure:
prometheus_list_metricsDescription: List all available Prometheus metrics
Parameters: None
Read-only: true
prometheus_metric_metadataDescription: Get metadata for a specific Prometheus metric
Parameters:
metric(string): Metric name to get metadata for
Read-only: true
prometheus_list_labelsDescription: List all available Prometheus labels
Parameters: None
Read-only: true
prometheus_label_valuesDescription: Get all values for a specific Prometheus label
Parameters:
label(string): Label name to get values for
Read-only: true
prometheus_list_targetsDescription: List all Prometheus scrape targets
Parameters: None
Read-only: true
prometheus_scrape_pool_targetsDescription: Get targets for a specific scrape pool
Parameters:
scrapePool(string): Scrape pool name
Read-only: true
Tools for accessing Prometheus server information:
prometheus_runtime_infoDescription: Get Prometheus runtime information
Parameters: None
Read-only: true
prometheus_build_infoDescription: Get Prometheus build information
Parameters: None
Read-only: true
Tools for executing Prometheus queries:
prometheus_queryDescription: Execute an instant Prometheus query
Parameters:
query(string): Prometheus query expressiontime(string, optional): Time parameter for the query (RFC3339 format)
Read-only: true
prometheus_query_rangeDescription: Execute a Prometheus range query
Parameters:
query(string): Prometheus query expressionstart(string): Start timestamp (RFC3339 or unix timestamp)end(string): End timestamp (RFC3339 or unix timestamp)step(string): Query resolution step width
Read-only: true
Example Usage
Here are some example interactions you can have with your AI assistant:
Basic Queries
"Show me all available metrics in Prometheus"
"What's the current CPU usage across all instances?"
"Get the memory usage for the last hour"
Discovery and Exploration
"List all scrape targets and their status"
"What labels are available for the
http_requests_totalmetric?""Show me all metrics related to 'cpu'"
Advanced Analysis
"Compare CPU usage between production and staging environments"
"Show me the top 10 services by memory consumption"
"What's the error rate trend for the API service over the last 24 hours?"
Security Considerations
Network Access: The server requires network access to your Prometheus instance
Resource Usage: Range queries can be resource-intensive; monitor your Prometheus server load
Troubleshooting
Connection Issues
Verify your Prometheus server is accessible at the configured URL
Check firewall settings and network connectivity
Ensure Prometheus API is enabled (default on port 9090)
Permission Errors
Verify the MCP server has network access to Prometheus
Check if authentication is required for your Prometheus setup
Tool Availability
If certain tools are missing, check if they've been disabled via configuration
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
GitHub Issues: Report bugs or request features
Documentation: Model Context Protocol Documentation
Prometheus: Prometheus Documentation
Built with ❤️ for the Prometheus and MCP communities
Available Tools
10 toolsprometheus_build_infoGet Build InfoARead-only
Get Prometheus build information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool is known to be a safe read operation. The description adds no further behavioral context beyond stating what it does, which is acceptable since annotations carry the safety profile.
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 directly states the tool's purpose without extraneous information. 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, no output schema, and clear annotations, the description is sufficiently complete. It provides the essential purpose without needing elaboration on return values or behavior.
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?
There are zero parameters, so the baseline is 4. The description does not need to add parameter meaning beyond the schema, which already fully covers the empty parameter set.
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 the specific verb 'Get' and clearly identifies the resource as 'Prometheus build information'. It unambiguously distinguishes this tool from siblings like 'prometheus_query' or 'prometheus_list_targets' which perform different operations.
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 tool versus alternatives is provided. The usage is implied by the nature of the tool (retrieving build metadata), but no when-not or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_label_valuesGet Label ValuesARead-only
Get all values for a specific Prometheus label
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | label name to get values for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context. It does not mention what happens if the label does not exist or if values are sorted.
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 of 9 words, conveying the essential purpose without any redundancy or unnecessary detail.
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 has no output schema, yet the description does not specify the return format (e.g., array of strings). While simple, this omission could leave the agent uncertain about the response structure.
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 covers the single parameter 'label' with a description, achieving 100% coverage. The description restates the parameter role but does not add extra meaning 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?
The description clearly states the verb 'Get' and the resource 'label values', distinguishing it from siblings like prometheus_list_labels which lists labels themselves.
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, such as prometheus_list_labels for viewing all labels or prometheus_query for more complex data retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_list_labelsList Prometheus LabelsARead-only
List all available Prometheus labels
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read operation. The description adds no further behavioral context beyond this.
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 without any wasted 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?
Given zero parameters, no output schema, and clear annotations, the description is complete and adequately informs the agent about the tool's functionality.
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 no parameters (100% coverage), and the description is sufficient for a parameterless tool. Baseline for 0 params is 4.
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 'List all available Prometheus labels' uses a specific verb and resource, clearly distinguishing from sibling tools like prometheus_label_values which lists label 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, nor are there prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_list_metricsList Prometheus MetricsARead-only
List all available Prometheus metrics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds no behavioral context (e.g., response format, pagination, potential cost). It does not contradict annotations but provides no extra value.
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, four words, no redundancy. Perfectly concise for a simple listing tool with no parameters.
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 complexity, no parameters, no output schema, and adequate annotations, the description provides complete context. Agent can correctly invoke this 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?
No parameters exist, and schema coverage is 100%. Baseline for zero-parameter tools is 4; here the description is fully adequate as nothing needs explanation.
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 uses specific verb 'List' and resource 'Prometheus metrics', clearly stating what the tool does. It is distinguishable from sibling tools like prometheus_list_labels or prometheus_list_targets by explicitly naming metrics.
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. Lacks when-to-use, when-not-to-use, or mentions of other list tools. Agent must infer usage from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_list_targetsList Prometheus TargetsBRead-only
List all Prometheus targets
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already provide (readOnlyHint, destructiveHint). It merely restates the title, offering no insight into aspects like pagination, filtering, or response 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?
The description is a single concise sentence. While it is front-loaded, it lacks substantive content beyond the title, making it minimally informative.
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, the description should explain what 'targets' means and what the response contains. It fails to provide any context about the structure or content of the listing, leaving the agent uninformed.
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?
There are zero parameters, and schema coverage is 100%. The description does not need to explain parameters, but it provides no added value. 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 'List all Prometheus targets', which matches the tool's name and purpose. However, it does not differentiate from the sibling tool 'prometheus_scrape_pool_targets', which could lead to confusion about which tool to use for listing targets.
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 like 'prometheus_scrape_pool_targets'. The description lacks context about use cases or exclusions, forcing the agent to infer appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_metric_metadataGet Metric MetadataBRead-only
Get metadata for a specific Prometheus metric
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | metric name to get metadata for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no extra behavioral context beyond what annotations provide, such as performance, authentication, or data freshness.
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, efficient sentence that front-loads the purpose. It is appropriately brief given the tool's simplicity, though it could benefit from slightly more detail without becoming 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?
The description does not explain what the metadata contains, any limitations, or the return format. As a metadata retrieval tool with no output schema, it lacks 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%, so the parameter 'metric' is documented in the schema. The description indirectly mentions the parameter but adds no additional semantics 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?
The description clearly states the verb 'Get' and the resource 'metadata for a specific Prometheus metric'. It distinguishes from sibling tools like prometheus_list_metrics (which lists all metrics) and prometheus_label_values, making it clear this is for a single metric's metadata.
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 prometheus_list_metrics or prometheus_label_values. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_queryPrometheus QueryCRead-only
Execute a Prometheus query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | prometheus query expression | |
| time | No | optional time parameter for the query, in RFC3339 format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Execute' implies a safe operation. However, description adds no further behavioral details (e.g., result type, pagination, 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 is concise but lacks structure (e.g., no separation of purpose from details). Could be more informative without added length.
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 query tool with 2 parameters and no output schema, description fails to mention return format (instant vector vs. matrix) or behavior when time is omitted. Incomplete given 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 has 100% coverage with descriptions for both parameters (query, time). Description does not add meaning beyond schema, meeting baseline expectation.
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?
States verb and resource ('Execute a Prometheus query') but lacks differentiation from sibling tools like prometheus_query_range, which also executes queries. The verb 'execute' is generic.
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 prometheus_query_range. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_query_rangePrometheus Query RangeBRead-only
Execute a Prometheus range query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | prometheus query expression | |
| start | Yes | start timestamp (RFC3339 or unix timestamp) | |
| end | Yes | end timestamp (RFC3339 or unix timestamp) | |
| step | Yes | query resolution step width |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no new behavioral context. The description does not contradict annotations, but also fails to explain behaviors like result structure (time-series over range) or potential resource usage.
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, very concise and front-loaded. However, it could be slightly expanded to include key context 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?
Given the absence of an output schema, the description should clarify return values (time-series data). It does not. Also, with many sibling tools, more context about the purpose of a range query vs instant query 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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters (query, start, end, step).
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 'Execute a Prometheus range query' clearly specifies the verb 'execute' and the resource 'Prometheus range query'. However, it does not differentiate from sibling tools like 'prometheus_query' (likely an instant query), leaving ambiguity about the distinction between range and instant queries.
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. There is no mention of the tool being for time-range queries, nor any exclusions or comparisons to siblings like 'prometheus_query' or 'prometheus_label_values'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_runtime_infoGet Runtime InfoBRead-only
Get Prometheus runtime information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds no behavioral details such as what the output looks like, whether it requires authentication, or what happens during execution. With annotations present, the description should add context but does not.
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 wasted words. It is appropriately structured for a simple tool with no parameters.
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 tool has no parameters and annotations cover safety, the description lacks information about the return value or what 'runtime information' means. Since there is no output schema, the description should fill this gap but does not, leaving the agent uninformed about the tool's output.
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 no parameters, so the input schema fully covers the parameter semantics (100% coverage). The description does not need to add parameter information. Baseline for 0 parameters is 4.
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 'Get Prometheus runtime information' clearly states the action and resource. It is distinct from sibling tools like prometheus_build_info or prometheus_query, which target different specific Prometheus data. However, it is somewhat vague as it does not specify what 'runtime information' encompasses.
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?
There is no guidance on when to use this tool versus alternatives. No context or prerequisites are provided. The single sentence does not help an agent decide whether to use this tool over other querying tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prometheus_scrape_pool_targetsGet Scrape Pool TargetsARead-only
Get targets for a specific scrape pool
| Name | Required | Description | Default |
|---|---|---|---|
| scrapePool | Yes | scrape pool name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the tool is safe. The description adds minimal behavioral context beyond the scope (specific pool), which is already implied by the parameter. No additional traits like pagination or limits are disclosed.
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 accurately conveys the tool's purpose with no wasted 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 read-only tool with one parameter and no output schema, the description is largely sufficient. However, it does not explain what 'targets' are or describe the return format, which could be helpful but is not critical given the 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?
The input schema has 100% coverage for the parameter description ('scrape pool name'). The tool description does not add any further meaning about the parameter beyond what the schema already provides, so 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 'Get targets for a specific scrape pool' clearly specifies the action (get) and the resource (targets) with a required filter (scrape pool), distinguishing it from sibling tools like prometheus_list_targets which likely lists all targets.
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 targets for a specific scrape pool, but does not explicitly state when to use this tool versus alternatives like prometheus_list_targets, nor does it provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- Changed
prometheus_build_info1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
prometheus_list_labels1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
prometheus_list_metrics1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
prometheus_list_targets1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
prometheus_runtime_info1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
10 tool updates
- First observed
prometheus_build_info - First observed
prometheus_label_values - First observed
prometheus_list_labels - First observed
prometheus_list_metrics - First observed
prometheus_list_targets - First observed
prometheus_metric_metadata - First observed
prometheus_query - First observed
prometheus_query_range - First observed
prometheus_runtime_info - First observed
prometheus_scrape_pool_targets
TDQS
Every tool has a clearly distinct purpose targeting different aspects of Prometheus monitoring. Tools like prometheus_list_labels, prometheus_list_metrics, and prometheus_list_targets each handle specific listing operations without overlap, while query tools (prometheus_query, prometheus_query_range) are clearly differentiated by scope. There is no ambiguity in tool selection.
All tools follow a consistent 'prometheus_verb_noun' pattern with snake_case throughout. The naming convention is perfectly predictable, starting with 'prometheus_' prefix followed by descriptive action and resource pairs (e.g., prometheus_list_metrics, prometheus_query_range). There are no deviations in style or structure.
With 10 tools, this server is well-scoped for Prometheus monitoring operations. Each tool earns its place by covering distinct functionalities like metadata retrieval, listing operations, query execution, and target management. The count is appropriate for the domain without being overwhelming or insufficient.
The tool surface provides comprehensive coverage for core Prometheus operations including metadata, listing, querying, and target management. Minor gaps exist, such as the absence of alert management or configuration tools, but agents can work around these with the available query capabilities. The set supports essential monitoring workflows effectively.
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
Query application logs, traces, and metrics from your AI coding assistant via Foam's MCP server.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server that enables AI assistants to query Prometheus metrics, discover available data, and analyze system performance through natural language interactions.585MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query Prometheus metrics, monitor alerts, and analyze system health through read-only access to your Prometheus server with built-in query safety and optional AI-powered metric analysis.MIT
- AlicenseNot gradedqualityDmaintenanceA lean MCP server that provides LLM agents with transparent access to multiple Prometheus instances for metrics analysis and SRE operations.4GPL 2.0
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables AI agents to interact directly with Prometheus metrics data through natural language queries.MIT
Appeared in Searches
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/idanfishman/prometheus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server