Chronosphere MCP Server
Read-only MCP bridge to Chronosphere's observability platform, exposing logs, metrics, traces, events, and config entities to AI agents.
The Chronosphere MCP server is the official integration from Chronosphere that lets AI agents query the company's observability platform through the Model Context Protocol. It exposes more than 30 tools spanning logs, Prometheus metrics, traces, events, and configuration entities (dashboards, monitors, SLOs, recording/rollup/drop/mapping rules, and notification policies), giving an agent read access to the same data engineers use during incident response and capacity reviews.
The server can be consumed two ways. The easiest is the remote hosted endpoint at https://<org-name>.chronosphere.io/api/mcp/mcp, which any MCP client can connect to with a Chronosphere API token or OAuth (depending on client support). The repo also ships a Go binary (chronomcp) you can build from source and run locally against a YAML config file. Operators can selectively disable tools per-session via the X-Chrono-MCP-Disable-Tools header.
Notable capabilities include PromQL instant and range queries, PNG chart rendering of range queries (render_prometheus_range_query), log histograms, field/label discovery for both logs and metrics, and monitor status tracking. The project is Apache-2.0 licensed and currently pre-1.0, so APIs may shift.
Tools
| Tool | Description |
|---|---|
query_logs_range |
Execute a range query against logs. |
get_log |
Retrieve a full log message by ID. |
get_log_histogram |
Generate a histogram from a log query. |
list_log_field_names |
Discover available log field names. |
list_log_field_values |
List values for a specific log field. |
query_prometheus_instant |
Run a PromQL instant query at a single point in time. |
query_prometheus_range |
Run a PromQL range query over a time window. |
render_prometheus_range_query |
Render a PromQL range query as a PNG image. |
list_prometheus_label_names |
Discover available Prometheus label keys. |
list_prometheus_label_values |
Get values for a given Prometheus label. |
list_prometheus_series |
List time series matching a selector. |
list_prometheus_series_metadata |
Fetch metadata for series (help, type, unit). |
list_traces |
Query and list traces. |
list_events |
Query events from Chronosphere. |
list_events_label_values |
List values for an event label. |
get_events_metadata |
Discover queryable event properties. |
get/list dashboard tools |
Get and list dashboards and classic dashboards. |
get/list monitor tools |
Get and list monitors and their status. |
get/list SLO tools |
Get and list SLOs. |
get/list rule tools |
Get and list recording, rollup, drop, and mapping rules. |
get/list notification policy tools |
Get and list notification policies. |
Prerequisites
- A Chronosphere account with API access
- A Chronosphere API token (or an MCP client that supports OAuth)
- Your organization name (the
<org-name>portion of your Chronosphere URL)
Option 1: Remote server (recommended)
Point your MCP client at the hosted endpoint. For Cursor or VS Code, add to your MCP config:
{
"mcpServers": {
"chronosphere": {
"url": "https://<org-name>.chronosphere.io/api/mcp/mcp",
"headers": {
"Authorization": "Bearer <api-token>",
"X-Chrono-MCP-Disable-Tools": "<optional-comma-separated-list>"
}
}
}
}
For Claude Code:
claude mcp add -t http \
-H "Authorization: Bearer ${CHRONOSPHERE_API_TOKEN}" \
chronosphere "https://${CHRONOSPHERE_ORG_NAME}.chronosphere.io/api/mcp/mcp"
Option 2: Build and run locally
Clone the repo and build the binary:
make chronomcp
Then configure your client to launch it:
{
"mcpServers": {
"chronosphere-mcp": {
"command": "<PATH/TO/REPO>/bin/chronomcp",
"args": ["-c", "<PATH/TO/REPO>/config.yaml"],
"env": {
"CHRONOSPHERE_ORG_NAME": "<your-org>",
"CHRONOSPHERE_API_TOKEN": "<your-token>"
}
}
}
}
Environment variables
CHRONOSPHERE_ORG_NAME: your Chronosphere organization nameCHRONOSPHERE_API_TOKEN: API token used for Bearer authentication
- Incident triage from chat: ask an agent to pull the last hour of error logs for a service, render a PromQL latency chart, and correlate with recent events.
- PromQL exploration: have an LLM iterate on a query by inspecting label names/values and series metadata before running
query_prometheus_range. - Monitor and SLO review: list active monitors, get their status, and pull the SLOs and recording rules they depend on for a weekly reliability report.
- Log field discovery: when onboarding to a new service, use
list_log_field_namesandlist_log_field_valuesto map what is actually indexed. - Config audits: enumerate dashboards, drop rules, mapping rules, and notification policies to answer questions like "which drop rules touch metric X?"
- "Run a PromQL range query for
rate(http_requests_total{service=\"checkout\"}[5m])over the last 6 hours and render it as a chart." - "Show me the top error log fields for the
paymentsservice in the last 30 minutes." - "List all monitors that are currently firing and pull the recording rules they reference."
- "Find traces tagged
env=prodwith latency over 2 seconds in the past hour." - "What events were recorded between 14:00 and 15:00 UTC, and which dashboards reference the affected service?"
- Official server maintained by Chronosphere with broad coverage (30+ tools) across logs, metrics, traces, events, and config.
- Available as a hosted remote endpoint, so most users can skip building from source.
- Supports both API token and OAuth authentication, plus per-session tool disabling via header.
- Apache-2.0 licensed and open source, making it easy to audit or fork.
- Read-only: there are no tools to create, edit, or delete monitors, dashboards, SLOs, or rules.
- Pre-1.0 release, so tool names and behavior may change.
- Requires a Chronosphere account and API access, which is a paid commercial product.
- Grafana MCP server for Grafana, Loki, Tempo, and Mimir users.
- Honeycomb MCP server for event-based observability on Honeycomb.
- Prometheus MCP server for direct PromQL access against any Prometheus-compatible endpoint.