Prometheus MCP Server
Um servidor MCP Prometheus com suporte completo à API para gerenciamento abrangente e interação profunda com o Prometheus além do suporte básico a consultas. Escrito em Go, é uma instalação binária única capaz de transportes STDIO, SSE e HTTP para implantações complexas.
Documentação
Servidor MCP do Prometheus

Sobre
Este é um servidor MCP para permitir que LLMs interajam com uma instância Prometheus em execução por meio da API, para fazer coisas como gerar e executar consultas promql, listar e analisar métricas, etc.
Demonstrações e Exemplos
Pedindo ao Claude para Investigar Consultas Lentas
O prompt utilizado foi:
minhas métricas estão lentas, você pode me ajudar a descobrir o porquê?
Investigar métricas produzidas pelo próprio servidor MCP e sugerir regras de gravação para SLOs
O prompt utilizado foi:
use as ferramentas do servidor mcp do prometheus para investigar as métricas do servidor mcp e sugerir regras de gravação do prometheus para SLOs
Resumir as melhores práticas de nomenclatura de métricas/rótulos do Prometheus
O prompt utilizado foi:
resuma as melhores práticas de nomes de métricas/rótulos do prometheus
Relatório sobre a saúde da instância do Prometheus que alimenta prometheus.demo.prometheus.io
O prompt utilizado foi:
forneça uma revisão e resumo abrangentes do servidor prometheus. revise sua configuração, flags, informações de runtime/build e qualquer outra coisa que você considere que possa fornecer insights sobre o status da instância do prometheus, incluindo análise de métricas e execução de consultas
Ferramentas
A API HTTP do Prometheus gera dados em JSON, e as ferramentas deste servidor MCP retornam esse JSON ao LLM para processamento, pois é estruturado e bem compreendido por LLMs.
LLMs e Eficiência de Token/Contexto
Este servidor MCP suporta as seguintes opções que têm o potencial de reduzir o uso de token/contexto:
Codificação TOON
Se o uso de token/contexto for uma preocupação, este servidor MCP também suporta a conversão dos dados JSON da API para o formato Token-Oriented Object Notation (TOON). Embora não seja garantido reduzir o uso de tokens, ele é projetado com eficiência de tokens em mente. Conforme observado na documentação do TOON, ele se destaca em arrays uniformes de objetos; objetos não uniformes/complexos podem ainda ser mais eficientes em tokens no JSON. O uso real de tokens dependerá dos padrões de uso; revise os fluxos de trabalho comuns para determinar se a saída TOON pode ser benéfica. Consulte Flags para obter mais informações sobre as flags disponíveis e suas variáveis de ambiente correspondentes.
Truncamento de Resposta da API
Este recurso permite definir um limite máximo no número de linhas ou entradas retornadas pela API do Prometheus, o que pode ajudar a reduzir a quantidade de dados enviados ao LLM.
Definir o limite como 0 desativa o truncamento.
O truncamento é desativado por padrão.
Observe que LLMs capazes de lidar com argumentos de solicitação de ferramentas podem substituir esse limite global de truncamento por chamada de ferramenta para ferramentas suportadas.
Consulte Flags para obter mais informações sobre as flags disponíveis e suas variáveis de ambiente correspondentes.
Lista Completa de Ferramentas
| Nome da Ferramenta | Descrição |
|---|---|
alertmanagers | Obter visão geral da descoberta do Alertmanager do Prometheus |
build_info | Obter informações de build do Prometheus |
config | Obter configuração do Prometheus |
docs_list | Lista de Arquivos Oficiais de Documentação do Prometheus |
docs_read | Ler o arquivo markdown nomeado contendo documentação oficial do Prometheus do repositório prometheus/docs |
docs_search | Pesquisar os arquivos markdown contendo documentação oficial do Prometheus do repositório prometheus/docs |
exemplar_query | Executa uma consulta por exemplares pela consulta e intervalo de tempo fornecidos |
flags | Obter flags de runtime |
healthy | Endpoint da API de gerenciamento que pode ser usado para verificar a saúde do Prometheus |
label_names | Retorna os nomes de rótulos exclusivos presentes no bloco em ordem classificada pelo intervalo de tempo e correspondências fornecidos |
label_values | Executa uma consulta para os valores do rótulo, intervalo de tempo e correspondências fornecidos |
list_alerts | Listar todos os alertas ativos |
list_rules | Listar todas as regras de alerta e gravação carregadas |
list_targets | Obter visão geral da descoberta de alvos do Prometheus |
metric_metadata | Retorna metadados sobre métricas atualmente coletadas pelo nome da métrica |
query | Executa uma consulta instantânea contra a fonte de dados do Prometheus, retornando um valor por série em um único ponto no tempo |
quit | Endpoint da API de gerenciamento que pode ser usado para acionar um desligamento gracioso do Prometheus |
range_query | Executa uma consulta de intervalo contra a fonte de dados do Prometheus, retornando valores ao longo de uma janela de tempo |
ready | Endpoint da API de gerenciamento que pode ser usado para verificar se o Prometheus está pronto para servir tráfego (ou seja, responder a consultas) |
reload | Endpoint da API de gerenciamento que pode ser usado para acionar um recarregamento da configuração do Prometheus e dos arquivos de regras |
runbooks_list | Listar os runbooks incorporados neste servidor: fluxos de trabalho guiados (Agent Skills) para tarefas comuns do Prometheus |
runbooks_read | Ler o runbook nomeado pelo nome da skill (por exemplo, check-system-health) |
runtime_info | Obter informações de runtime do Prometheus |
series | Encontra séries por correspondências de rótulos |
targets_metadata | Retorna metadados sobre métricas atualmente coletadas pelo alvo |
tsdb_stats | Obter estatísticas de uso e cardinalidade do TSDB |
wal_replay_status | Obter status atual da reprodução do WAL |
NOTA:
Como os endpoints da API de administração do TSDB permitem operações potencialmente destrutivas, como exclusão de dados, eles não são habilitados por padrão. Para habilitar os endpoints da API de administração do TSDB, o servidor MCP deve ser iniciado com a flag
--dangerous.enable-tsdb-admin-toolspara reconhecer o risco associado que esses endpoints carregam.
| Nome da Ferramenta | Descrição |
|---|---|
clean_tombstones | Remove os dados excluídos do disco e limpa os tombstones existentes |
delete_series | exclui dados para uma seleção de séries em um intervalo de tempo |
snapshot | cria um snapshot de todos os dados atuais em snapshots/- sob o diretório de dados do TSDB e retorna o diretório como resposta |
Conjuntos de Ferramentas
O servidor expõe muitas ferramentas para interagir com o Prometheus. Há ferramentas para interagir com o Prometheus por meio da API, bem como ferramentas adicionais para fazer coisas como ler documentação, etc. Por padrão, todas são registradas e disponíveis para uso (as ferramentas da API de administração do TSDB precisam de uma flag extra).
Para ser atencioso com LLMs que possuem janelas de contexto menores, é possível passar uma lista de permissões de ferramentas específicas para registrar no servidor.
As seguintes ferramentas 'principais' são sempre carregadas: [docs_list, docs_read, docs_search, runbooks_list, runbooks_read, query, range_query, metric_metadata, label_names, label_values, series].
Ferramentas adicionais podem ser especificadas com a flag --mcp.tools.
Por exemplo, a linha de comando:
prometheus-mcp-server --mcp.tools=build_info --mcp.tools=flags --mcp.tools=runtime_info
Resultaria no carregamento das seguintes ferramentas:
build_infodocs_listdocs_readdocs_searchflagslabel_nameslabel_valuesmetric_metadataqueryrange_queryrunbooks_listrunbooks_readruntime_infoseries
Runbooks (Agent Skills) e Prompts
O servidor incorpora um conjunto de runbooks: fluxos de trabalho guiados para tarefas comuns do Prometheus, expressos em termos das ferramentas do servidor. Cada runbook orienta o modelo sobre as ferramentas relevantes e, em seguida, sugere tópicos para explorar com consultas de exemplo, em vez de prescrever uma sequência fixa de etapas. Os runbooks cobrem tarefas como verificações de saúde do sistema, triagem de dados ausentes, investigação de taxas de erro, otimização de alta cardinalidade, revisão de regras de gravação/alerta e ajuste de configuração/desempenho.
Cada runbook é empacotado como uma Agent Skill completa: um diretório contendo um SKILL.md com frontmatter name/description.
Os runbooks são expostos de três maneiras:
- Ferramentas: o modelo pode descobri-los e lê-los por conta própria por meio das ferramentas
runbooks_list/runbooks_readquando uma solicitação corresponde ao propósito de um runbook. Ferramentas são o caminho mais portátil e funcionam em todos os clientes MCP. - Recursos de skill: de acordo com o rascunho da extensão de skills SEP-2640, cada runbook é um recurso
skill://<name>/SKILL.md, enumerado pelo índice de descobertaskill://index.jsonbem conhecido, e o servidor declara o recurso de extensãoio.modelcontextprotocol/skills. Hosts com suporte a skills podem consumi-los como skills de sistema de arquivos local; outros clientes ainda podem lê-los como recursos MCP comuns. - Prompts MCP: cada runbook também é registrado como um prompt MCP sob seu nome de skill (por exemplo,
check-system-health,optimize-high-cardinality), para que clientes com suporte a prompts possam invocar um fluxo de trabalho guiado diretamente (frequentemente exibido como comandos de barra).
Backends Compatíveis com Prometheus
Existem muitos backends compatíveis com Prometheus que podem ser usados para estender o prometheus de várias maneiras, muitas vezes com os objetivos de oferecer armazenamento de longo prazo ou agregação de consultas de múltiplas instâncias do prometheus. Alguns exemplos podem ser encontrados no Remote Storage da documentação do prometheus.
Muitos desses serviços também oferecem uma API "compatível com prometheus" que pode ser usada para consultar/interagir com os dados usando promQL nativo. Em geral, este servidor MCP deve, no mínimo, funcionar para outros serviços compatíveis com a API do prometheus para executar consultas e interagir com os endpoints de séries/rótulos/metadados para descoberta de métricas e rótulos. Além disso, pode haver diferenças de API, pois os diferentes sistemas implementam diferentes partes/extensões da API para suas necessidades.
Exemplos:
- Thanos não usa uma configuração centralizada, então o endpoint de configuração não é implementado e, portanto, a ferramenta de configuração falha.
- Mimir e Cortex implementam endpoints extras para gerenciar/adicionar/remover regras.
Para contornar isso e fornecer uma melhor experiência em alguns dos sistemas compatíveis com Prometheus comumente usados, este projeto pode adicionar suporte direto para sistemas selecionados para fornecer ferramentas diferentes/mais.
A escolha de uma implementação de backend prometheus específica pode ser feita com a flag --prometheus.backend.
A lista de implementações de backend disponíveis em uma determinada versão do servidor MCP pode ser encontrada na saída da flag --help.
Qualificações e critérios de suporte ainda estão em consideração; abra uma issue para solicitar suporte/recursos para um backend específico para discussão adicional.
Diferenças de Implementação do Backend Prometheus
| Backend | Ferramenta | Adicionar/Remover/Alterar | Notas |
|---|---|---|---|
prometheus | n/a | nenhum | Ferramentas padrão do Prometheus. Funcionalmente equivalentes a --mcp.tools="all". O conjunto de ferramentas padrão do servidor MCP. |
thanos | alertmanagers | remover | Thanos não implementa o endpoint e a ferramenta retorna um 404. |
thanos | clean_tombstones | remover | Endpoint administrativo do TSDB do Prometheus |
thanos | config | remover | Thanos não usa uma configuração centralizada, portanto não implementa o endpoint e a ferramenta retorna um 404. |
thanos | delete_series | remover | Endpoint administrativo do TSDB do Prometheus |
thanos | list_stores | adicionar | Thanos fornece um endpoint adicional para listar servidores da API store. |
thanos | quit | remover | Thanos não implementa o endpoint e a ferramenta retorna um 404. |
thanos | reload | remover | Thanos não implementa o endpoint e a ferramenta retorna um 404. |
thanos | snapshot | remover | Endpoint administrativo do TSDB do Prometheus |
thanos | wal_replay_status | remover | Thanos não implementa o endpoint e a ferramenta retorna um 404. |
Recursos
| Nome do Recurso | URI do Recurso | Descrição |
|---|---|---|
| Lista de Arquivos Oficiais de Documentação do Prometheus | prometheus://docs | Lista de arquivos oficiais de documentação do Prometheus |
| Ler Documentação Oficial do Prometheus | prometheus://docs/{+file} | Ler arquivos oficiais de documentação do Prometheus por nome |
| Índice de Descoberta de Habilidades de Agente | skill://index.json | Índice de descoberta SEP-2640 dos runbooks/habilidades incorporados |
| Runbook do Prometheus (Habilidade de Agente) | skill://<name>/SKILL.md | Ler o runbook nomeado, empacotado como uma Habilidade de Agente (um recurso por runbook) |
Instalação e Uso
Este servidor MCP é mais útil quando totalmente integrado a ferramentas e/ou instalado como um servidor de ferramentas com outro sistema. Os procedimentos de instalação e o suporte à integração variam dependendo das ferramentas utilizadas. Por exemplo:
- alguns sistemas só conseguem interagir com ferramentas MCP e não com recursos/prompts
- alguns sistemas usam o formato de arquivo de configuração mcp.json para gerenciar servidores MCP e outros exigem formatos personalizados
- alguns sistemas não falam MCP diretamente e exigem ferramentas como mcp-to-openapi para fazer proxy
Consulte a documentação da ferramenta utilizada/integrada para obter instruções específicas e o nível de suporte.
Binário
Baixe uma versão adequada para o seu sistema na página Releases. Consulte Flags para obter mais informações sobre as flags disponíveis e suas variáveis de ambiente correspondentes.
/path/to/prometheus-mcp-server <flags>
# or using env vars
PROMETHEUS_MCP_SERVER_PROMETHEUS_URL="https://$yourPrometheus:9090" /path/to/prometheus-mcp-server
Docker
Consulte Flags para obter mais informações sobre as flags disponíveis e suas variáveis de ambiente correspondentes.
# Stdio transport
docker run --rm -i ghcr.io/tjhop/prometheus-mcp-server:latest --prometheus.url "https://$yourPrometheus:9090"
# or using env vars
docker run --rm -i -e PROMETHEUS_MCP_SERVER_PROMETHEUS_URL="https://$yourPrometheus:9090" ghcr.io/tjhop/prometheus-mcp-server:latest
# Streamable HTTP transport (capable of SSE as well)
docker run --rm -p 8080:8080 ghcr.io/tjhop/prometheus-mcp-server:latest --prometheus.url "https://$yourPrometheus:9090" --mcp.transport "http" --web.listen-address ":8080"
# or using env vars
docker run --rm -p 8080:8080 -e PROMETHEUS_MCP_SERVER_PROMETHEUS_URL="https://$yourPrometheus:9090" -e PROMETHEUS_MCP_SERVER_MCP_TRANSPORT="http" -e PROMETHEUS_MCP_SERVER_WEB_LISTEN_ADDRESS=":8080" ghcr.io/tjhop/prometheus-mcp-server:latest
Helm Chart (Kubernetes)
Um Helm chart está disponível para implantação no Kubernetes. O chart é publicado como um artefato OCI em cada release.
helm install prometheus-mcp-server oci://ghcr.io/tjhop/charts/prometheus-mcp-server \
--version <version> \
--set prometheus.url=http://prometheus:9090
Consulte o README do chart para obter a lista completa de valores de configuração e exemplos.
Kubernetes (Manifestos Brutos)
Se preferir implantar sem Helm, manifestos Kubernetes de exemplo estão disponíveis:
Pacotes de Sistema
Baixe uma versão adequada para o seu sistema na página Releases. Um arquivo de serviço Systemd está incluído nos pacotes de sistema que são compilados.
# install system package (example assuming Debian based)
apt install /path/to/package
# create unit override, add any needed flags or environment variables
systemctl edit prometheus-mcp-server.service
systemctl enable --now prometheus-mcp-server.service
Nota: Embora pacotes sejam compilados para vários sistemas, atualmente não há planos de tentar submeter pacotes aos repositórios de pacotes upstream.
Segurança e Autenticação
Conectando a Instâncias Prometheus Seguras
O servidor MCP suporta arquivos de configuração HTTP do Prometheus para conectar a instâncias Prometheus protegidas.
Um exemplo de configuração pode ser encontrado na pasta de exemplos aqui.
Use a flag de linha de comando --http.config para fornecer um arquivo de configuração HTTP.
Consulte Flags para obter mais informações.
Encaminhamento de Credenciais do Cliente
Ao usar o transporte HTTP, o servidor MCP encaminha o cabeçalho Authorization em cada solicitação MCP para o Prometheus nas chamadas de API dessa solicitação.
Solicitações sem o cabeçalho Authorization e todas as solicitações pelo transporte stdio usam o cliente padrão construído a partir das flags (consulte Conectando a Instâncias Prometheus Seguras).
O servidor encaminha as credenciais do cliente ao Prometheus como estão e não as valida.
Uma credencial que não inclui um esquema de autenticação é enviada como um token Bearer.
Qualquer pessoa que consiga acessar o endpoint MCP pode consultar o Prometheus com pelo menos as credenciais do cliente padrão, portanto restrinja o acesso ao endpoint com um arquivo de configuração web ou controles de nível de rede.
Observe que a autenticação básica no arquivo de configuração web (basic_auth_users) conflita com o encaminhamento de credenciais: o mesmo cabeçalho Authorization que um cliente usa para autenticar no servidor MCP é então encaminhado ao Prometheus no lugar das credenciais do cliente padrão.
Configurações web somente TLS não usam o cabeçalho Authorization e não são afetadas.
Protegendo os Endpoints do Servidor MCP
O servidor MCP suporta arquivos de Configuração Web do Prometheus para expor seus endpoints atrás de autenticação básica opcional e configurações TLS personalizadas.
Use a flag de linha de comando --web.config.file para fornecer um arquivo de configuração HTTP.
Consulte Flags para obter mais informações.
Telemetria
Endpoints de Saúde
O servidor web expõe endpoints de saúde no endereço de escuta configurado, seguindo a convenção /-/healthy e /-/ready usada em todo o ecossistema Prometheus:
| Endpoint | Descrição |
|---|---|
/-/healthy | Liveness: sempre retorna 200 OK enquanto o processo está ativo e servindo HTTP. |
/-/ready | Readiness: retorna 200 OK assim que o transporte MCP está montado e capaz de aceitar sessões de clientes, e 503 Service Unavailable antes disso e durante o desligamento. |
Esses endpoints mapeiam diretamente para as sondas de liveness/readiness do Kubernetes. A métrica prom_mcp_server_ready relata o mesmo estado de readiness.
Métricas
Quando em execução, o servidor expõe métricas do Prometheus no endereço de escuta e no caminho de telemetria configurados (:8080/metrics, por padrão).
Consulte Flags para obter mais informações sobre como alterar a interface de escuta, a porta ou o caminho de telemetria.
Métricas do Prometheus MCP Server
| Nome da métrica | Tipo | Descrição | Labels |
|---|---|---|---|
prom_mcp_build_info | Gauge | Uma métrica com valor constante '1' e labels para versão, commit e build_date a partir dos quais o prometheus-mcp-server foi compilado. | version, commit, build_date, goversion |
prom_mcp_server_ready | Gauge | Métrica de informação com '1' estático se o servidor MCP estiver pronto, e '0' caso contrário. | |
prom_mcp_api_calls_failed_total | Counter | Número total de falhas da API do Prometheus, por endpoint. | target_path |
prom_mcp_api_call_duration_seconds | Histogram | Duração das chamadas à API do Prometheus, por endpoint, em segundos. | target_path |
prom_mcp_tool_calls_failed_total | Counter | Número total de falhas por ferramenta. | tool_name |
prom_mcp_tool_call_duration_seconds | Histogram | Duração das chamadas de ferramenta, por ferramenta, em segundos. | tool_name |
prom_mcp_resource_calls_failed_total | Counter | Número total de falhas por recurso. | resource_uri |
prom_mcp_resource_call_duration_seconds | Histogram | Duração das chamadas de recurso, por recurso, em segundos. | resource_uri |
prom_mcp_docs_last_update_timestamp_seconds | Gauge | Timestamp Unix da última atualização automática de documentação bem-sucedida. | |
prom_mcp_docs_update_failures_total | Counter | Número total de falhas na atualização automática de documentação. | |
go_* | Gauge/Counter | Métricas padrão de runtime do Go da biblioteca client_golang. | |
process_* | Gauge/Counter | Métricas padrão de processo da biblioteca client_golang. |
Painel Grafana
Um painel Grafana pré-construído está incluído no diretório grafana/ para visualizar as métricas expostas pelo servidor MCP. Importe o json do painel para o grafana e ele deve estar pronto para uso.
Logs
Este projeto faz uso intenso de logging estruturado e em níveis. Consulte Flags para obter mais informações sobre como definir o formato do log, o nível e o arquivo opcional.
Desenvolvimento
Ambiente de Desenvolvimento com Devbox + Direnv
Se você usa Devbox e Direnv, basta entrar no diretório do repositório para configurar o software necessário.
LLM Local com Ollama
Consulte mcp.json para um exemplo de configuração MCP para uso com ferramentas.
Requer ollama instalado.
NOTA:
Para substituir o LLM padrão (
ollama:gpt-oss:20b), executeexport OLLAMA_MODEL="ollama:your_model"to override it before runningmake.
Usando o MCP Inspector e uma instância local do ollama:
Requer MCP Inpsector instalado:
make inspector
Gemini com gemini-cli
Consulte settings.json para um exemplo de arquivo de configuração para executar gemini-cli com o prometheus-mcp-server.
Requer gemini-cli instalado.
Usando `gemini-cli` e modelos hospedados:
make gemini
Configuração Manual
Software necessário:
- Ambiente Go funcional
- Docker para testes locais/linting/construção de imagens/etc
- GNU Make
- ollama
- mcp inspector
- mcphost
Compilação
Este projeto usa o conjunto de ferramentas de compilação padrão do Prometheus: promu
conduzido por Makefile / Makefile.common. O binário incorpora um
snapshot fixado de prometheus/docs, que os alvos de compilação baixam e extraem
automaticamente (o pin está em DOCS_VERSION no Makefile).
make build # build the binary for the host platform (via promu)
make test # run the test suite
make crossbuild # build binaries for all release platforms
make # run the full check suite: style, license, yamllint, lint, build, test
Os alvos auxiliares específicos do projeto (empacotamento helm e as integrações
locais de cliente LLM) são listados por make help:
make help
Usage:
make <target>
Project targets:
help print this help message (see Makefile.common for the standard prometheus targets)
docs download and extract the pinned prometheus/docs snapshot for embedding
helm-sync-dashboards copy grafana dashboards into helm chart for packaging
helm-lint run helm chart linting
helm-template render helm templates for inspection
helm-test install helm chart and run tests (requires a running cluster)
mcphost use mcphost to run the prometheus-mcp-server against a local ollama model
inspector use inspector to run the prometheus-mcp-server in STDIO transport mode
inspector-http use inspector to run the prometheus-mcp-server in streamable HTTP transport mode
open-webui use open-webui to run the prometheus-mcp-server
gemini use gemini-cli to run the prometheus-mcp-server against Google Gemini models
Flags de Linha de Comando
As flags de linha de comando disponíveis estão documentadas na flag de ajuda:
~/go/src/github.com/tjhop/prometheus-mcp-server (main [ ]) -> ./prometheus-mcp-server --help
usage: prometheus-mcp-server [<flags>]
Flags:
-h, --[no-]help Show context-sensitive help (also
try --help-long and --help-man).
($PROMETHEUS_MCP_SERVER_HELP)
--mcp.tools=all ... List of mcp tools to load. The target
`all` can be used to load all tools.
The target `core` loads only the core tools:
docs_list,docs_read,docs_search,runbooks_list,runbooks_read,query,range_query,metric_metadata,label_names,label_values,series
Otherwise, it is treated as an allow-list
of tools to load, in addition to the core
tools. Please see project README for more
information and the full list of tools.
($PROMETHEUS_MCP_SERVER_MCP_TOOLS)
--[no-]mcp.enable-toon-output
Enable Token-Oriented Object Notation
(TOON) output for tools instead of JSON
($PROMETHEUS_MCP_SERVER_MCP_ENABLE_TOON_OUTPUT)
--[no-]mcp.enable-client-logging
Enable sending log messages to connected
MCP clients as protocol notifications.
When enabled, tool execution logs are
sent both to the server's primary
log output and to the MCP client,
allowing LLMs to observe server activity.
($PROMETHEUS_MCP_SERVER_MCP_ENABLE_CLIENT_LOGGING)
--mcp.transport="stdio" The type of transport to use for
the MCP server [`stdio`, `http`].
($PROMETHEUS_MCP_SERVER_MCP_TRANSPORT)
--prometheus.backend=PROMETHEUS.BACKEND
Customize the toolset for a specific
Prometheus API compatible backend.
Supported backends include: prometheus,thanos
($PROMETHEUS_MCP_SERVER_PROMETHEUS_BACKEND)
--prometheus.url="http://127.0.0.1:9090"
URL of the Prometheus instance to connect to
($PROMETHEUS_MCP_SERVER_PROMETHEUS_URL)
--prometheus.timeout=1m Timeout for API calls to the Prometheus backend
($PROMETHEUS_MCP_SERVER_PROMETHEUS_TIMEOUT)
--prometheus.truncation-limit=0
If enabled, this controls the maximum query
response size in number of lines/entries
provided to the LLM from the API response.
LLMs can override truncation limits if
needed on a per-tool-call basis via tool
request arguments on supported tools.
To disable truncation limits, set to 0.
($PROMETHEUS_MCP_SERVER_PROMETHEUS_TRUNCATION_LIMIT)
--http.config=HTTP.CONFIG Path to config file to set
Prometheus HTTP client options
($PROMETHEUS_MCP_SERVER_HTTP_CONFIG)
--web.telemetry-path="/metrics"
Path under which to expose metrics.
($PROMETHEUS_MCP_SERVER_WEB_TELEMETRY_PATH)
--web.max-requests=40 Maximum number of parallel scrape
requests. Use 0 to disable.
($PROMETHEUS_MCP_SERVER_WEB_MAX_REQUESTS)
--[no-]dangerous.enable-tsdb-admin-tools
Enable and allow using tools that access
Prometheus' TSDB Admin API endpoints
(`snapshot`, `delete_series`, and
`clean_tombstones` tools). This is dangerous,
and allows for destructive operations
like deleting data. It is not the fault
of this MCP server if the LLM you're
connected to nukes all your data. Docs:
https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
($PROMETHEUS_MCP_SERVER_DANGEROUS_ENABLE_TSDB_ADMIN_TOOLS)
--[no-]docs.auto-update Enable automatic documentation updates
from the official prometheus/docs
repository. Checks every 24h0m0s.
($PROMETHEUS_MCP_SERVER_DOCS_AUTO_UPDATE)
--log.file=LOG.FILE The name of the file to log to (file
rotation policies should be configured
with external tools like logrotate)
($PROMETHEUS_MCP_SERVER_LOG_FILE)
--[no-]web.systemd-socket Use systemd socket activation listeners
instead of port listeners (Linux only).
($PROMETHEUS_MCP_SERVER_WEB_SYSTEMD_SOCKET)
--web.listen-address=:8080 ...
Addresses on which to expose metrics and
web interface. Repeatable for multiple
addresses. Examples: `:9100` or `[::1]:9100`
for http, `vsock://:9100` for vsock
($PROMETHEUS_MCP_SERVER_WEB_LISTEN_ADDRESS)
--web.config.file="" Path to configuration file that can
enable TLS or authentication. See:
https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md
($PROMETHEUS_MCP_SERVER_WEB_CONFIG_FILE)
--log.level=info Only log messages with the given severity
or above. One of: [debug, info, warn, error]
($PROMETHEUS_MCP_SERVER_LOG_LEVEL)
--log.format=logfmt Output format of log messages. One of: [logfmt,
json] ($PROMETHEUS_MCP_SERVER_LOG_FORMAT)
--[no-]version Show application version.
($PROMETHEUS_MCP_SERVER_VERSION)



