observability-mcp
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., "@observability-mcpshow error logs from 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.
observability-mcp
MCP (Model Context Protocol) servers that let AI assistants query your observability stack — Grafana/Loki for logs and Thanos/Prometheus for metrics — directly from Cursor, Claude Desktop, or any MCP-compatible client.
Packages
Package | Entry-point | What it does |
|
| Query Loki logs via Grafana datasource proxy |
|
| Query Prometheus/Thanos metrics (PromQL) |
|
| Combined server — all tools in one connection |
Related MCP server: mcp-server-logs-sieve
Requirements
Python 3.10+
Access to a running Grafana instance (for
grafana_mcp)Access to a Thanos or Prometheus instance (for
thanos_mcp)
Installation
From GitHub (recommended)
Install directly from the repo without cloning:
pip install "observability-mcp @ git+https://github.com/ThainaJardim/observability-mcp.git"
# With browser-cookie support for Grafana SSO:
pip install "observability-mcp[browser-cookie] @ git+https://github.com/ThainaJardim/observability-mcp.git"After installation, the grafana-mcp, thanos-mcp, and observability-mcp commands are available.
From source (local clone)
git clone https://github.com/ThainaJardim/observability-mcp.git
cd observability-mcp
pip install .
# For automatic Grafana SSO login via browser cookies (macOS/Linux):
pip install ".[browser-cookie]"Quick start
Grafana / Loki
export GRAFANA_URL=https://grafana.example.com
export LOKI_DATASOURCE_ID=1 # numeric datasource ID in Grafana
export OIDC_ISSUER=https://keycloak.example.com/auth/realms/myrealm
grafana-mcpThanos / Prometheus
export THANOS_URL=https://thanos.example.com
export OIDC_ISSUER=https://keycloak.example.com/auth/realms/myrealm
thanos-mcpCombined (both in one server)
# Set all env vars from above, then:
observability-mcpAuthentication
Grafana MCP
Auth mode is auto-detected from environment variables (or forced with
GRAFANA_AUTH_MODE):
Mode | How it works | Variables needed |
| Reads Keycloak SSO cookies from Chrome, follows the Grafana OAuth flow automatically, caches |
|
| Grafana service-account token |
|
| Static |
|
| OIDC id-token from kubectl kubeconfig |
|
browser-cookie mode requires
browser-cookie3(pip install ".[browser-cookie]"). On first use it reads Chrome's cookie store — you may be prompted to allow macOS Keychain access. You must be logged into Grafana in Chrome at least once.
Thanos MCP
Auth mode is auto-detected (or forced with THANOS_AUTH_MODE):
Mode | How it works | Variables needed |
| OIDC id-token from kubectl kubeconfig, auto-refreshed |
|
| Static Bearer token |
|
| oauth2-proxy session cookie |
|
Cursor MCP configuration
Create or edit .cursor/mcp.json in your project:
{
"mcpServers": {
"grafana": {
"command": "python",
"args": ["-m", "grafana_mcp.server"],
"env": {
"GRAFANA_URL": "https://grafana.example.com",
"LOKI_DATASOURCE_ID": "1",
"OIDC_ISSUER": "https://keycloak.example.com/auth/realms/myrealm",
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
},
"thanos": {
"command": "python",
"args": ["-m", "thanos_mcp.server"],
"env": {
"THANOS_URL": "https://thanos.example.com",
"OIDC_ISSUER": "https://keycloak.example.com/auth/realms/myrealm",
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
}
}
}Tip: Use an absolute Python interpreter path (e.g.
/usr/local/bin/python3) if Cursor cannot findpythonin its PATH.
Combined server (one entry)
{
"mcpServers": {
"observability": {
"command": "python",
"args": ["-m", "observability_mcp.server"],
"env": {
"GRAFANA_URL": "https://grafana.example.com",
"LOKI_DATASOURCE_ID": "1",
"THANOS_URL": "https://thanos.example.com",
"OIDC_ISSUER": "https://keycloak.example.com/auth/realms/myrealm",
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
}
}
}Available MCP tools
Grafana/Loki tools (grafana_mcp)
Tool | Description |
| Run a LogQL range query and return matching log streams |
| Run a LogQL instant query |
| List all available Loki label names |
| List values for a specific Loki label |
Thanos/Prometheus tools (thanos_mcp)
Tool | Description |
| Run an instant PromQL query |
| Run a PromQL range query |
| List all metric label names |
| List time-series matching a selector |
Development
# Install in editable mode with dev extras
pip install -e ".[dev,browser-cookie]"
# Run tests
pytest
# Run a specific server locally
python -m grafana_mcp.server
python -m thanos_mcp.server
python -m observability_mcp.serverEnvironment variable reference
Variable | Default | Description |
| (required) | Grafana base URL |
| (required) | Numeric Loki datasource ID in Grafana |
| auto | Force Grafana auth mode |
| — | Grafana service-account token |
| — | grafana_session cookie value |
|
| Path to session cache file |
| (required) | Thanos/Prometheus base URL |
| auto | Force Thanos auth mode |
| — | Static Bearer token |
| — | oauth2-proxy cookie value |
| — | OIDC issuer URL (Keycloak realm URL) |
|
| HTTP timeout for all requests |
|
| Logging level |
License
MIT
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 Servers
- AlicenseAqualityDmaintenanceA server that enables AI assistants to access and query Grafana dashboards, metrics, logs, and configurations through an MCP protocol interface.106MIT
- Alicense-qualityCmaintenanceAn MCP server that connects Claude (or any MCP compatible client) to your existing log infrastructure. Query, summarize, and trace logs in plain English across GCP Cloud Logging, AWS CloudWatch, Azure Log Analytics, Grafana Loki, and Elasticsearch without writing filter expressions or leaving your editor.103MIT
- Alicense-qualityDmaintenanceA lean MCP server that provides LLM agents with transparent access to multiple Prometheus instances for metrics analysis and SRE operations.4GPL 2.0
- Flicense-qualityFmaintenanceAn MCP server that enables AI assistants to query and analyze logs from Grafana Loki using LogQL, supporting label discovery and keyword search.4
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
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/ThainaJardim/observability-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server