Skip to main content
Glama

Grafana

Official
by grafana
Apache 2.0
959
  • Linux
  • Apple

Servidor MCP de Grafana

Un servidor de Protocolo de Contexto de Modelo (MCP) para Grafana.

Esto proporciona acceso a su instancia de Grafana y al ecosistema circundante.

Características

  • [x] Buscar paneles de control
  • [x] Paneles de control
    • [x] Obtener el panel por UID
    • [x] Actualizar o crear un panel (DESCARGO DE RESPONSABILIDAD: Tenga cuidado con las ventanas de contexto. Consulte https://github.com/grafana/mcp-grafana/issues/101 para obtener más detalles)
    • [x] Obtener el título, la cadena de consulta y la información de la fuente de datos (incluido el UID y el tipo, si está disponible) de cada panel en un tablero
  • [x] Listar y obtener información de la fuente de datos
  • [ ] Consultar fuentes de datos
    • [x] Prometeo
    • [x] Loki
      • [x] Consultas de registro
      • [x] Consultas métricas
    • [ ] Ritmo
    • [ ] Piroscopio
  • [x] Consultar metadatos de Prometheus
    • [x] Metadatos métricos
    • [x] Nombres de métricas
    • [x] Nombres de etiquetas
    • [x] Valores de etiqueta
  • [x] Consultar metadatos de Loki
    • [x] Nombres de etiquetas
    • [x] Valores de etiqueta
    • [x] Estadísticas
  • [x] Buscar, crear, actualizar y cerrar incidentes
  • [x] Iniciar investigaciones de Sift y ver los resultados
    • [x] Crear investigaciones
    • [x] Enumere las investigaciones con un parámetro límite
    • [x] Obtener investigación
    • [x] Obtener análisis
    • [x] Encuentre patrones de error en los registros usando Sift
    • [x] Encuentra solicitudes lentas usando Sift
    • [ ] Agregar herramientas en los otros controles de tamizado
  • [ ] Alerta
    • [x] Listar y obtener información de reglas de alerta
    • [x] Obtener estados de reglas de alerta (activación/normal/error/etc.)
    • [ ] Crear y cambiar reglas de alerta
    • [x] Lista de puntos de contacto
    • [ ] Crear y cambiar puntos de contacto
  • [x] Acceda a la funcionalidad de Grafana OnCall
    • [x] Enumerar y administrar horarios
    • [x] Obtener detalles del turno
    • [x] Obtener los usuarios de guardia actuales
    • [x] Lista de equipos y usuarios
    • [ ] Lista de grupos de alerta
  • [x] Funcionalidad de administrador
    • [ ] Lista de usuarios
    • [x] Lista de equipos
    • [ ] Lista de roles
    • [ ] Enumere las asignaciones de roles
    • [ ] Asignaciones de roles de depuración

La lista de herramientas es configurable, por lo que puede elegir qué herramientas quiere que estén disponibles para el cliente MCP. Esto resulta útil si no utiliza alguna funcionalidad o si no desea ocupar demasiado espacio en la ventana de contexto. Para deshabilitar una categoría de herramientas, utilice el indicador --disable-<category> al iniciar el servidor. Por ejemplo, para deshabilitar las herramientas OnCall, utilice --disable-oncall .

Herramientas

HerramientaCategoríaDescripción
list_teamsAdministraciónListar todos los equipos
search_dashboardsBuscarBuscar paneles de control
get_dashboard_by_uidPanelObtener un panel por uid
update_dashboardPanelActualizar o crear un nuevo panel
get_dashboard_panel_queriesPanelObtener el título del panel, las consultas, el UID de la fuente de datos y el tipo desde un tablero
list_datasourcesFuentes de datosLista de fuentes de datos
get_datasource_by_uidFuentes de datosObtener una fuente de datos por uid
get_datasource_by_nameFuentes de datosObtener una fuente de datos por nombre
query_prometheusPrometeoEjecutar una consulta en una fuente de datos de Prometheus
list_prometheus_metric_metadataPrometeoLista de metadatos de métricas
list_prometheus_metric_namesPrometeoLista de nombres de métricas disponibles
list_prometheus_label_namesPrometeoLista de nombres de etiquetas que coinciden con un selector
list_prometheus_label_valuesPrometeoLista de valores para una etiqueta específica
list_incidentsIncidenteLista de incidentes en Grafana Incident
create_incidentIncidenteCrear un incidente en Grafana Incident
add_activity_to_incidentIncidenteAgregar un elemento de actividad a un incidente en Grafana Incident
resolve_incidentIncidenteResolver un incidente en Grafana Incident
query_loki_logsLokiConsultar y recuperar registros utilizando LogQL (consultas de registros o métricas)
list_loki_label_namesLokiEnumere todos los nombres de etiquetas disponibles en los registros
list_loki_label_valuesLokiLista de valores para una etiqueta de registro específica
query_loki_statsLokiObtener estadísticas sobre los flujos de registros
list_alert_rulesAlertaLista de reglas de alerta
get_alert_rule_by_uidAlertaObtener regla de alerta por UID
list_oncall_schedulesDe guardiaLista de horarios de Grafana OnCall
get_oncall_shiftDe guardiaObtenga detalles de un turno específico de OnCall
get_current_oncall_usersDe guardiaObtener usuarios que actualmente están de guardia para un horario específico
list_oncall_teamsDe guardiaLista de equipos de Grafana OnCall
list_oncall_usersDe guardiaLista de usuarios de Grafana OnCall
get_investigationTamizar aRecuperar una investigación de Sift existente por su UUID
get_analysisTamizar aRecuperar un análisis específico de una investigación de Sift
list_investigationsTamizar aRecuperar una lista de investigaciones de Sift con un límite opcional
find_error_pattern_logsTamizar aEncuentra patrones de error elevados en los registros de Loki.
find_slow_requestsTamizar aEncuentra solicitudes lentas de las fuentes de datos de tempo relevantes.

Uso

  1. Cree una cuenta de servicio en Grafana con permisos suficientes para usar las herramientas que desee, genere un token de cuenta de servicio y cópielo al portapapeles para usarlo en el archivo de configuración. Consulte la documentación de Grafana para obtener más información.
  2. Tiene varias opciones para instalar mcp-grafana :
    • Imagen de Docker : utilice la imagen de Docker prediseñada desde Docker Hub:
      docker pull mcp/grafana docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your service account token> mcp/grafana
    • Descargar binario : descargue la última versión de mcp-grafana desde la página de versiones y colóquela en su $PATH .
    • Compilar desde el código fuente : Si tiene instalada una cadena de herramientas Go, también puede compilarla e instalarla desde el código fuente. Para ello, utilice la variable de entorno GOBIN para especificar el directorio donde se instalará el binario. Esta variable también debe estar en su PATH .
      GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
  3. Agregue la configuración del servidor al archivo de configuración del cliente. Por ejemplo, para Claude Desktop:Si se utiliza el binario:
    { "mcpServers": { "grafana": { "command": "mcp-grafana", "args": [], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }
    Si usa Docker:
    { "mcpServers": { "grafana": { "command": "docker", "args": [ "run", "--rm", "-p", "8000:8000", "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY", "mcp/grafana" ], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

Nota: si ve Error: spawn mcp-grafana ENOENT en Claude Desktop, debe especificar la ruta completa a mcp-grafana .

Uso de VSCode con un servidor MCP remoto

Asegúrese de que su .vscode/settings.json incluya:

"mcp": { "servers": { "grafana": { "type": "sse", "url": "http://localhost:8000/sse" } } }

Modo de depuración

Puede habilitar el modo de depuración para el transporte de Grafana añadiendo la opción -debug al comando. Esto proporcionará un registro detallado de las solicitudes y respuestas HTTP entre el servidor MCP y la API de Grafana, lo cual puede ser útil para la resolución de problemas.

Para utilizar el modo de depuración con la configuración de Claude Desktop, actualice su configuración de la siguiente manera:

Si se utiliza el binario:

{ "mcpServers": { "grafana": { "command": "mcp-grafana", "args": ["-debug"], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

Si usa Docker:

{ "mcpServers": { "grafana": { "command": "docker", "args": [ "run", "--rm", "-p", "8000:8000", "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY", "mcp/grafana", "-debug" ], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

Desarrollo

¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios si tiene alguna sugerencia o mejora.

Este proyecto está escrito en Go. Instale Go siguiendo las instrucciones para su plataforma.

Para ejecutar el servidor, utilice:

make run

También puedes ejecutar el servidor usando el transporte SSE dentro de una imagen de Docker personalizada. Para crear la imagen, usa

make build-image

Y para ejecutar la imagen, usa:

docker run -it --rm -p 8000:8000 mcp-grafana:latest

Pruebas

Hay tres tipos de pruebas disponibles:

  1. Pruebas unitarias (no se requieren dependencias externas):
make test-unit

También puedes ejecutar pruebas unitarias con:

make test
  1. Pruebas de integración (requiere que los contenedores Docker estén en funcionamiento):
make test-integration
  1. Pruebas en la nube (requiere instancia de Grafana en la nube y credenciales):
make test-cloud

Nota: Las pruebas en la nube se configuran automáticamente en CI. Para el desarrollo local, deberá configurar su propia instancia y credenciales de Grafana Cloud.

Las pruebas de integración más completas requerirán que una instancia de Grafana se ejecute localmente en el puerto 3000; puede iniciar una con Docker Compose:

docker-compose up -d

Las pruebas de integración se pueden ejecutar con:

make test-all

Si va a agregar más herramientas, incorpore pruebas de integración para ellas. Las pruebas existentes deberían ser un buen punto de partida.

Pelusa

Para depurar el código, ejecute:

make lint

Esto incluye un linter personalizado que busca comas sin escape en las etiquetas de estructura jsonschema . Las comas en los campos description deben escaparse con \\, para evitar el truncamiento silencioso. Puede ejecutar este linter con:

make lint-jsonschema

Consulte la documentación de JSONSchema Linter para obtener más detalles.

Licencia

Este proyecto está licenciado bajo la Licencia Apache, Versión 2.0 .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de Protocolo de Contexto de Modelo (MCP) para Grafana.

Esto proporciona acceso a su instancia de Grafana y al ecosistema circundante.

  1. Características
    1. Herramientas
  2. Uso
    1. Modo de depuración
  3. Desarrollo
    1. Pruebas
    2. Pelusa
  4. Licencia

    Related MCP Servers

    • A
      security
      F
      license
      A
      quality
      A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.
      Last updated -
      8
      84
      27
      JavaScript
    • A
      security
      A
      license
      A
      quality
      A beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.
      Last updated -
      3
      9
      36
      JavaScript
      Apache 2.0
    • -
      security
      A
      license
      -
      quality
      MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
      Last updated -
      4
      3
      TypeScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
      Last updated -
      13
      2
      TypeScript
      MIT License

    View all related MCP servers

    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/grafana/mcp-grafana'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server