by grafana
Provides programmatic access to a Grafana instance and its surrounding ecosystem through the Model Context Protocol, enabling AI assistants and other clients to query and manipulate dashboards, datasources, alerts, incidents, on‑call schedules, and more.
The server acts as a bridge between Grafana and any client that speaks the Model Context Protocol (MCP). It exposes a rich set of tools for reading and writing Grafana resources—dashboards, panels, datasources, alerts, incidents, Sift investigations, OnCall schedules, and navigation deeplinks—while handling context‑window management for LLM‑driven workflows.
GRAFANA_URL
– URL of the Grafana instance (e.g., http://localhost:3000
or https://myinstance.grafana.net
).GRAFANA_SERVICE_ACCOUNT_TOKEN
– token of a service account that has the required RBAC permissions.stdio
, sse
, or streamable‑http
). The default is stdio
for direct CLI integration; add -t sse
or -t streamable-http
for server mode.mcpServers
JSON block shown in the README.--disable-<category>
flags if you want to limit the context window or restrict functionality.Q: Which Grafana version is required? A: Version 9.0 or later; earlier versions lack some datasource API endpoints.
Q: How are permissions configured?
A: Create a Grafana service account and grant the minimal RBAC permissions listed in the tools table. Use broad scopes (*
) for full access or UID‑specific scopes for limited access.
Q: Can I run the server behind TLS?
A: Yes. Use --tls‑cert‑file
, --tls‑key‑file
, and --tls‑ca‑file
for client‑side mTLS, or --server.tls‑cert‑file
and --server.tls‑key‑file
for HTTPS when using the streamable‑http transport.
Q: How do I reduce context‑window usage?
A: Prefer get_dashboard_summary
or get_dashboard_property
with JSONPath; avoid get_dashboard_by_uid
unless the full JSON is needed.
Q: What transports are available?
A: stdio
(default, ideal for local CLI), sse
(HTTP Server‑Sent Events), and streamable-http
(multi‑client HTTP server, optionally TLS‑enabled).
A Model Context Protocol (MCP) server for Grafana.
This provides access to your Grafana instance and the surrounding ecosystem.
The following features are currently available in MCP server. This list is for informational purposes only and does not represent a roadmap or commitment to future features.
$.title
, $.panels[*].title
) to fetch only needed data and reduce context window consumptionThe dashboard tools now include several strategies to manage context window usage effectively (issue #101):
get_dashboard_summary
for dashboard overview and planning modificationsget_dashboard_property
with JSONPath when you only need specific dashboard partsget_dashboard_by_uid
unless you specifically need the complete dashboard JSONhttp://localhost:3000/d/dashboard-uid
)http://localhost:3000/d/dashboard-uid?viewPanel=5
)http://localhost:3000/explore?left={"datasource":"prometheus-uid"}
)from=now-1h&to=now
)The list of tools is configurable, so you can choose which tools you want to make available to the MCP client.
This is useful if you don't use certain functionality or if you don't want to take up too much of the context window.
To disable a category of tools, use the --disable-<category>
flag when starting the server. For example, to disable
the OnCall tools, use --disable-oncall
, or to disable navigation deeplink generation, use --disable-navigation
.
Each tool requires specific RBAC permissions to function properly. When creating a service account for the MCP server, ensure it has the necessary permissions based on which tools you plan to use. The permissions listed are the minimum required actions - you may also need appropriate scopes (e.g., datasources:*
, dashboards:*
, folders:*
) depending on your use case.
Note: Grafana Incident and Sift tools use basic Grafana roles instead of fine-grained RBAC permissions:
For more information about Grafana RBAC, see the official documentation.
Scopes define the specific resources that permissions apply to. Each action requires both the appropriate permission and scope combination.
Common Scope Patterns:
Broad access: Use *
wildcards for organization-wide access
datasources:*
- Access to all datasourcesdashboards:*
- Access to all dashboardsfolders:*
- Access to all foldersteams:*
- Access to all teamsLimited access: Use specific UIDs or IDs to restrict access to individual resources
datasources:uid:prometheus-uid
- Access only to a specific Prometheus datasourcedashboards:uid:abc123
- Access only to dashboard with UID abc123
folders:uid:xyz789
- Access only to folder with UID xyz789
teams:id:5
- Access only to team with ID 5
global.users:id:123
- Access only to user with ID 123
Examples:
Full MCP server access: Grant broad permissions for all tools
datasources:* (datasources:read, datasources:query)
dashboards:* (dashboards:read, dashboards:create, dashboards:write)
folders:* (for dashboard creation and alert rules)
teams:* (teams:read)
global.users:* (users:read)
Limited datasource access: Only query specific Prometheus and Loki instances
datasources:uid:prometheus-prod (datasources:query)
datasources:uid:loki-prod (datasources:query)
Dashboard-specific access: Read only specific dashboards
dashboards:uid:monitoring-dashboard (dashboards:read)
dashboards:uid:alerts-dashboard (dashboards:read)
Tool | Category | Description | Required RBAC Permissions | Required Scopes |
---|---|---|---|---|
list_teams |
Admin | List all teams | teams:read |
teams:* or teams:id:1 |
list_users_by_org |
Admin | List all users in an organization | users:read |
global.users:* or global.users:id:123 |
search_dashboards |
Search | Search for dashboards | dashboards:read |
dashboards:* or dashboards:uid:abc123 |
get_dashboard_by_uid |
Dashboard | Get a dashboard by uid | dashboards:read |
dashboards:uid:abc123 |
update_dashboard |
Dashboard | Update or create a new dashboard | dashboards:create , dashboards:write |
dashboards:* , folders:* or folders:uid:xyz789 |
get_dashboard_panel_queries |
Dashboard | Get panel title, queries, datasource UID and type from a dashboard | dashboards:read |
dashboards:uid:abc123 |
get_dashboard_property |
Dashboard | Extract specific parts of a dashboard using JSONPath expressions | dashboards:read |
dashboards:uid:abc123 |
get_dashboard_summary |
Dashboard | Get a compact summary of a dashboard without full JSON | dashboards:read |
dashboards:uid:abc123 |
list_datasources |
Datasources | List datasources | datasources:read |
datasources:* |
get_datasource_by_uid |
Datasources | Get a datasource by uid | datasources:read |
datasources:uid:prometheus-uid |
get_datasource_by_name |
Datasources | Get a datasource by name | datasources:read |
datasources:* or datasources:uid:loki-uid |
query_prometheus |
Prometheus | Execute a query against a Prometheus datasource | datasources:query |
datasources:uid:prometheus-uid |
list_prometheus_metric_metadata |
Prometheus | List metric metadata | datasources:query |
datasources:uid:prometheus-uid |
list_prometheus_metric_names |
Prometheus | List available metric names | datasources:query |
datasources:uid:prometheus-uid |
list_prometheus_label_names |
Prometheus | List label names matching a selector | datasources:query |
datasources:uid:prometheus-uid |
list_prometheus_label_values |
Prometheus | List values for a specific label | datasources:query |
datasources:uid:prometheus-uid |
list_incidents |
Incident | List incidents in Grafana Incident | Viewer role | N/A |
create_incident |
Incident | Create an incident in Grafana Incident | Editor role | N/A |
add_activity_to_incident |
Incident | Add an activity item to an incident in Grafana Incident | Editor role | N/A |
get_incident |
Incident | Get a single incident by ID | Viewer role | N/A |
query_loki_logs |
Loki | Query and retrieve logs using LogQL (either log or metric queries) | datasources:query |
datasources:uid:loki-uid |
list_loki_label_names |
Loki | List all available label names in logs | datasources:query |
datasources:uid:loki-uid |
list_loki_label_values |
Loki | List values for a specific log label | datasources:query |
datasources:uid:loki-uid |
query_loki_stats |
Loki | Get statistics about log streams | datasources:query |
datasources:uid:loki-uid |
list_alert_rules |
Alerting | List alert rules | alert.rules:read |
folders:* or folders:uid:alerts-folder |
get_alert_rule_by_uid |
Alerting | Get alert rule by UID | alert.rules:read |
folders:uid:alerts-folder |
list_contact_points |
Alerting | List notification contact points | alert.notifications:read |
Global scope |
list_oncall_schedules |
OnCall | List schedules from Grafana OnCall | grafana-oncall-app.schedules:read |
Plugin-specific scopes |
get_oncall_shift |
OnCall | Get details for a specific OnCall shift | grafana-oncall-app.schedules:read |
Plugin-specific scopes |
get_current_oncall_users |
OnCall | Get users currently on-call for a specific schedule | grafana-oncall-app.schedules:read |
Plugin-specific scopes |
list_oncall_teams |
OnCall | List teams from Grafana OnCall | grafana-oncall-app.user-settings:read |
Plugin-specific scopes |
list_oncall_users |
OnCall | List users from Grafana OnCall | grafana-oncall-app.user-settings:read |
Plugin-specific scopes |
get_sift_investigation |
Sift | Retrieve an existing Sift investigation by its UUID | Viewer role | N/A |
get_sift_analysis |
Sift | Retrieve a specific analysis from a Sift investigation | Viewer role | N/A |
list_sift_investigations |
Sift | Retrieve a list of Sift investigations with an optional limit | Viewer role | N/A |
find_error_pattern_logs |
Sift | Finds elevated error patterns in Loki logs. | Editor role | N/A |
find_slow_requests |
Sift | Finds slow requests from the relevant tempo datasources. | Editor role | N/A |
list_pyroscope_label_names |
Pyroscope | List label names matching a selector | datasources:query |
datasources:uid:pyroscope-uid |
list_pyroscope_label_values |
Pyroscope | List label values matching a selector for a label name | datasources:query |
datasources:uid:pyroscope-uid |
list_pyroscope_profile_types |
Pyroscope | List available profile types | datasources:query |
datasources:uid:pyroscope-uid |
fetch_pyroscope_profile |
Pyroscope | Fetches a profile in DOT format for analysis | datasources:query |
datasources:uid:pyroscope-uid |
get_assertions |
Asserts | Get assertion summary for a given entity | Plugin-specific permissions | Plugin-specific scopes |
generate_deeplink |
Navigation | Generate accurate deeplink URLs for Grafana resources | None (read-only URL generation) | N/A |
The mcp-grafana
binary supports various command-line flags for configuration:
Transport Options:
-t, --transport
: Transport type (stdio
, sse
, or streamable-http
) - default: stdio
--address
: The host and port for SSE/streamable-http server - default: localhost:8000
--base-path
: Base path for the SSE/streamable-http server--endpoint-path
: Endpoint path for the streamable-http server - default: /
Debug and Logging:
--debug
: Enable debug mode for detailed HTTP request/response loggingTool Configuration:
--enabled-tools
: Comma-separated list of enabled tools - default: all tools enabled--disable-search
: Disable search tools--disable-datasource
: Disable datasource tools--disable-incident
: Disable incident tools--disable-prometheus
: Disable prometheus tools--disable-loki
: Disable loki tools--disable-alerting
: Disable alerting tools--disable-dashboard
: Disable dashboard tools--disable-oncall
: Disable oncall tools--disable-asserts
: Disable asserts tools--disable-sift
: Disable sift tools--disable-admin
: Disable admin tools--disable-pyroscope
: Disable pyroscope tools--disable-navigation
: Disable navigation toolsClient TLS Configuration (for Grafana connections):
--tls-cert-file
: Path to TLS certificate file for client authentication--tls-key-file
: Path to TLS private key file for client authentication--tls-ca-file
: Path to TLS CA certificate file for server verification--tls-skip-verify
: Skip TLS certificate verification (insecure)Server TLS Configuration (streamable-http transport only):
--server.tls-cert-file
: Path to TLS certificate file for server HTTPS--server.tls-key-file
: Path to TLS private key file for server HTTPSThis MCP server works with both local Grafana instances and Grafana Cloud. For Grafana Cloud, use your instance URL (e.g., https://myinstance.grafana.net
) instead of http://localhost:3000
in the configuration examples below.
If using service account token authentication, create a service account in Grafana with enough permissions to use the tools you want to use, generate a service account token, and copy it to the clipboard for use in the configuration file. Follow the Grafana service account documentation for details on creating service account tokens.
Note: The environment variable
GRAFANA_API_KEY
is deprecated and will be removed in a future version. Please migrate to usingGRAFANA_SERVICE_ACCOUNT_TOKEN
instead. The old variable name will continue to work for backward compatibility but will show deprecation warnings.
You have several options to install mcp-grafana
:
Docker image: Use the pre-built Docker image from Docker Hub.
Important: The Docker image's entrypoint is configured to run the MCP server in SSE mode by default, but most users will want to use STDIO mode for direct integration with AI assistants like Claude Desktop:
-t stdio
and include the -i
flag to keep stdin open:docker pull mcp/grafana
# For local Grafana:
docker run --rm -i -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> mcp/grafana -t stdio
# For Grafana Cloud:
docker run --rm -i -e GRAFANA_URL=https://myinstance.grafana.net -e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> mcp/grafana -t stdio
-p
flag:docker pull mcp/grafana
docker run --rm -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> mcp/grafana
-p
flag: For this mode you must explicitly override the default with -t streamable-http
docker pull mcp/grafana
docker run --rm -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> mcp/grafana -t streamable-http
For HTTPS streamable HTTP mode with server TLS certificates:
docker pull mcp/grafana
docker run --rm -p 8443:8443 \
-v /path/to/certs:/certs:ro \
-e GRAFANA_URL=http://localhost:3000 \
-e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> \
mcp/grafana \
-t streamable-http \
-addr :8443 \
--server.tls-cert-file /certs/server.crt \
--server.tls-key-file /certs/server.key
Download binary: Download the latest release of mcp-grafana
from the releases page and place it in your $PATH
.
Build from source: If you have a Go toolchain installed you can also build and install it from source, using the GOBIN
environment variable
to specify the directory where the binary should be installed. This should also be in your PATH
.
GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
Deploy to Kubernetes using Helm: use the Helm chart from the Grafana helm-charts repository
helm repo add grafana https://grafana.github.io/helm-charts
helm install --set grafana.apiKey=<Grafana_ApiKey> --set grafana.url=<GrafanaUrl> my-release grafana/grafana-mcp
Add the server configuration to your client configuration file. For example, for Claude Desktop:
If using the binary:
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": [],
"env": {
"GRAFANA_URL": "http://localhost:3000", // Or "https://myinstance.grafana.net" for Grafana Cloud
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>",
// If using username/password authentication
"GRAFANA_USERNAME": "<your username>",
"GRAFANA_PASSWORD": "<your password>"
}
}
}
}
Note: if you see
Error: spawn mcp-grafana ENOENT
in Claude Desktop, you need to specify the full path tomcp-grafana
.
If using Docker:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GRAFANA_URL",
"-e",
"GRAFANA_SERVICE_ACCOUNT_TOKEN",
"mcp/grafana",
"-t",
"stdio"
],
"env": {
"GRAFANA_URL": "http://localhost:3000", // Or "https://myinstance.grafana.net" for Grafana Cloud
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>",
// If using username/password authentication
"GRAFANA_USERNAME": "<your username>",
"GRAFANA_PASSWORD": "<your password>"
}
}
}
}
Note: The
-t stdio
argument is essential here because it overrides the default SSE mode in the Docker image.
Using VSCode with remote MCP server
If you're using VSCode and running the MCP server in SSE mode (which is the default when using the Docker image without overriding the transport), make sure your .vscode/settings.json
includes the following:
"mcp": {
"servers": {
"grafana": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
For HTTPS streamable HTTP mode with server TLS certificates:
"mcp": {
"servers": {
"grafana": {
"type": "sse",
"url": "https://localhost:8443/sse"
}
}
}
You can enable debug mode for the Grafana transport by adding the -debug
flag to the command. This will provide detailed logging of HTTP requests and responses between the MCP server and the Grafana API, which can be helpful for troubleshooting.
To use debug mode with the Claude Desktop configuration, update your config as follows:
If using the binary:
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": ["-debug"],
"env": {
"GRAFANA_URL": "http://localhost:3000", // Or "https://myinstance.grafana.net" for Grafana Cloud
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
If using Docker:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GRAFANA_URL",
"-e",
"GRAFANA_SERVICE_ACCOUNT_TOKEN",
"mcp/grafana",
"-t",
"stdio",
"-debug"
],
"env": {
"GRAFANA_URL": "http://localhost:3000", // Or "https://myinstance.grafana.net" for Grafana Cloud
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
Note: As with the standard configuration, the
-t stdio
argument is required to override the default SSE mode in the Docker image.
If your Grafana instance is behind mTLS or requires custom TLS certificates, you can configure the MCP server to use custom certificates. The server supports the following TLS configuration options:
--tls-cert-file
: Path to TLS certificate file for client authentication--tls-key-file
: Path to TLS private key file for client authentication--tls-ca-file
: Path to TLS CA certificate file for server verification--tls-skip-verify
: Skip TLS certificate verification (insecure, use only for testing)Example with client certificate authentication:
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": [
"--tls-cert-file",
"/path/to/client.crt",
"--tls-key-file",
"/path/to/client.key",
"--tls-ca-file",
"/path/to/ca.crt"
],
"env": {
"GRAFANA_URL": "https://secure-grafana.example.com",
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
Example with Docker:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"/path/to/certs:/certs:ro",
"-e",
"GRAFANA_URL",
"-e",
"GRAFANA_SERVICE_ACCOUNT_TOKEN",
"mcp/grafana",
"-t",
"stdio",
"--tls-cert-file",
"/certs/client.crt",
"--tls-key-file",
"/certs/client.key",
"--tls-ca-file",
"/certs/ca.crt"
],
"env": {
"GRAFANA_URL": "https://secure-grafana.example.com",
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
The TLS configuration is applied to all HTTP clients used by the MCP server, including:
Direct CLI Usage Examples:
For testing with self-signed certificates:
./mcp-grafana --tls-skip-verify -debug
With client certificate authentication:
./mcp-grafana \
--tls-cert-file /path/to/client.crt \
--tls-key-file /path/to/client.key \
--tls-ca-file /path/to/ca.crt \
-debug
With custom CA certificate only:
./mcp-grafana --tls-ca-file /path/to/ca.crt
Programmatic Usage:
If you're using this library programmatically, you can also create TLS-enabled context functions:
// Using struct literals
tlsConfig := &mcpgrafana.TLSConfig{
CertFile: "/path/to/client.crt",
KeyFile: "/path/to/client.key",
CAFile: "/path/to/ca.crt",
}
grafanaConfig := mcpgrafana.GrafanaConfig{
Debug: true,
TLSConfig: tlsConfig,
}
contextFunc := mcpgrafana.ComposedStdioContextFunc(grafanaConfig)
// Or inline
grafanaConfig := mcpgrafana.GrafanaConfig{
Debug: true,
TLSConfig: &mcpgrafana.TLSConfig{
CertFile: "/path/to/client.crt",
KeyFile: "/path/to/client.key",
CAFile: "/path/to/ca.crt",
},
}
contextFunc := mcpgrafana.ComposedStdioContextFunc(grafanaConfig)
When using the streamable HTTP transport (-t streamable-http
), you can configure the MCP server to serve HTTPS instead of HTTP. This is useful when you need to secure the connection between your MCP client and the server itself.
The server supports the following TLS configuration options for the streamable HTTP transport:
--server.tls-cert-file
: Path to TLS certificate file for server HTTPS (required for TLS)--server.tls-key-file
: Path to TLS private key file for server HTTPS (required for TLS)Note: These flags are completely separate from the client TLS flags documented above. The client TLS flags configure how the MCP server connects to Grafana, while these server TLS flags configure how clients connect to the MCP server when using streamable HTTP transport.
Example with HTTPS streamable HTTP server:
./mcp-grafana \
-t streamable-http \
--server.tls-cert-file /path/to/server.crt \
--server.tls-key-file /path/to/server.key \
-addr :8443
This would start the MCP server on HTTPS port 8443. Clients would then connect to https://localhost:8443/
instead of http://localhost:8000/
.
Docker example with server TLS:
docker run --rm -p 8443:8443 \
-v /path/to/certs:/certs:ro \
-e GRAFANA_URL=http://localhost:3000 \
-e GRAFANA_SERVICE_ACCOUNT_TOKEN=<your service account token> \
mcp/grafana \
-t streamable-http \
-addr :8443 \
--server.tls-cert-file /certs/server.crt \
--server.tls-key-file /certs/server.key
If you encounter the following error when using datasource-related tools:
get datasource by uid : [GET /datasources/uid/{uid}][400] getDataSourceByUidBadRequest {"message":"id is invalid"}
This typically indicates that you are using a Grafana version earlier than 9.0. The /datasources/uid/{uid}
API endpoint was introduced in Grafana 9.0, and datasource operations will fail on earlier versions.
Solution: Upgrade your Grafana instance to version 9.0 or later to resolve this issue.
Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.
This project is written in Go. Install Go following the instructions for your platform.
To run the server locally in STDIO mode (which is the default for local development), use:
make run
To run the server locally in SSE mode, use:
go run ./cmd/mcp-grafana --transport sse
You can also run the server using the SSE transport inside a custom built Docker image. Just like the published Docker image, this custom image's entrypoint defaults to SSE mode. To build the image, use:
make build-image
And to run the image in SSE mode (the default), use:
docker run -it --rm -p 8000:8000 mcp-grafana:latest
If you need to run it in STDIO mode instead, override the transport setting:
docker run -it --rm mcp-grafana:latest -t stdio
There are three types of tests available:
make test-unit
You can also run unit tests with:
make test
make test-integration
make test-cloud
Note: Cloud tests are automatically configured in CI. For local development, you'll need to set up your own Grafana Cloud instance and credentials.
More comprehensive integration tests will require a Grafana instance to be running locally on port 3000; you can start one with Docker Compose:
docker-compose up -d
The integration tests can be run with:
make test-all
If you're adding more tools, please add integration tests for them. The existing tests should be a good starting point.
To lint the code, run:
make lint
This includes a custom linter that checks for unescaped commas in jsonschema
struct tags. The commas in description
fields must be escaped with \\,
to prevent silent truncation. You can run just this linter with:
make lint-jsonschema
See the JSONSchema Linter documentation for more details.
This project is licensed under the Apache License, Version 2.0.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by Arize-ai
Open-source AI observability platform enabling tracing, evaluation, dataset versioning, experiment tracking, prompt management, and interactive playground for LLM applications.
by dynatrace-oss
Provides a local server that enables real‑time interaction with the Dynatrace observability platform, exposing tools for querying data, retrieving problems, sending Slack notifications, and integrating AI assistance.
by VictoriaMetrics-Community
Provides a Model Context Protocol server exposing read‑only VictoriaMetrics APIs, enabling seamless monitoring, observability, and automation through AI‑driven assistants.
by GeLi2001
Enables interaction with the Datadog API through a Model Context Protocol server, providing access to monitors, dashboards, metrics, logs, events, and incident data.
by QAInsights
Execute JMeter test plans through Model Context Protocol clients, capture console output, generate HTML dashboards, and automatically analyze JTL results to surface performance metrics, bottlenecks, and actionable recommendations.
by grafana
Provides a Model Context Protocol (MCP) server that enables AI agents to query Grafana Loki log data via stdin/stdout or Server‑Sent Events, supporting both local binary execution and containerized deployment.
by TocharianOU
Provides a Model Context Protocol (MCP) server that enables MCP‑compatible clients to access, search, and manage Kibana APIs using natural language or programmatic requests.
by MindscapeHQ
Provides comprehensive access to Raygun's API V3 endpoints for crash reporting and real user monitoring via the Model Context Protocol.
by grafana
Provides Model Context Protocol endpoints that enable AI assistants to query and analyze distributed tracing data stored in Grafana Tempo, supporting both stdin/stdout communication and an HTTP SSE interface.