InfluxDB
Um servidor para integração com InfluxDB, um banco de dados de séries temporais.
Documentação
Servidor MCP InfluxDB
Servidor oficial do Model Context Protocol (MCP) para integração com InfluxDB. Fornece ferramentas, recursos e prompts para interagir com InfluxDB v3 (Core/Enterprise/Cloud Dedicated) por meio de clientes MCP.
Pré-requisitos
- Instância InfluxDB: URL e token (Core/Enterprise) ou ID do cluster e tokens (Cloud Dedicated)
- Node.js: v18 ou mais recente (para uso via npm/npx)
- npm: v9 ou mais recente (para uso via npm/npx)
- Docker: (para configuração baseada em Docker)
Ferramentas Disponíveis
| Nome da Ferramenta | Descrição | Disponibilidade |
|---|---|---|
get_help | Obtenha ajuda e orientação para solução de problemas em operações InfluxDB | Todas as versões |
write_line_protocol | Escreva dados usando o protocolo de linha do InfluxDB | Todas as versões |
create_database | Crie um novo banco de dados (com opções de configuração do Cloud Dedicated) | Todas as versões |
update_database | Atualize a configuração do banco de dados (maxTables, retenção, etc.) | Somente Cloud Dedicated |
delete_database | Exclua um banco de dados pelo nome (irreversível) | Todas as versões |
execute_query | Execute uma consulta SQL em um banco de dados (suporta vários formatos) | Todas as versões |
get_measurements | Liste todas as medições (tabelas) em um banco de dados | Todas as versões |
get_measurement_schema | Obtenha o esquema (colunas/tipos) para uma medição/tabela | Todas as versões |
create_admin_token | Crie um novo token de administrador (permissões totais) | Somente Core/Enterprise |
list_admin_tokens | Liste todos os tokens de administrador (com filtragem opcional) | Somente Core/Enterprise |
create_resource_token | Crie um token de recurso para bancos de dados e permissões específicos | Somente Core/Enterprise |
list_resource_tokens | Liste todos os tokens de recurso (com filtragem e ordenação) | Somente Core/Enterprise |
delete_token | Exclua um token pelo nome | Somente Core/Enterprise |
regenerate_operator_token | Regenere o token do operador (perigoso/irreversível) | Somente Core/Enterprise |
cloud_list_database_tokens | Liste todos os tokens de banco de dados para cluster Cloud-Dedicated | Somente Cloud Dedicated |
cloud_get_database_token | Obtenha detalhes de um token de banco de dados específico por ID | Somente Cloud Dedicated |
cloud_create_database_token | Crie um novo token de banco de dados para cluster Cloud-Dedicated | Somente Cloud Dedicated |
cloud_update_database_token | Atualize um token de banco de dados existente | Somente Cloud Dedicated |
cloud_delete_database_token | Exclua um token de banco de dados do cluster Cloud-Dedicated | Somente Cloud Dedicated |
list_databases | Liste todos os bancos de dados disponíveis na instância | Todas as versões |
health_check | Verifique a conexão e o status de saúde do InfluxDB | Todas as versões |
Recursos Disponíveis
| Nome do Recurso | Descrição |
|---|---|
influx-config | Acesso somente leitura à configuração do InfluxDB |
influx-status | Conexão em tempo real e status de saúde |
influx-databases | Lista de todos os bancos de dados na instância |
Guia de Configuração e Integração
1. Variáveis de Ambiente
Para InfluxDB Core/Enterprise:
Você deve fornecer:
INFLUX_DB_INSTANCE_URL(ex.:http://localhost:8181/)INFLUX_DB_TOKENINFLUX_DB_PRODUCT_TYPE(coreouenterprise)
Exemplo .env:
INFLUX_DB_INSTANCE_URL=http://localhost:8181/
INFLUX_DB_TOKEN=your_influxdb_token_here
INFLUX_DB_PRODUCT_TYPE=core
Para InfluxDB Cloud Dedicated:
Você deve fornecer INFLUX_DB_PRODUCT_TYPE=cloud-dedicated e INFLUX_DB_CLUSTER_ID, além de uma destas combinações de token:
Opção 1: Somente Token de Banco de Dados (somente operações de Consulta/Escrita):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_TOKEN=your_database_token_here
Opção 2: Somente Token de Gerenciamento (somente gerenciamento de banco de dados):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_ACCOUNT_ID=your_account_id_here
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here
Opção 3: Ambos os Tokens (funcionalidade completa):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_ACCOUNT_ID=your_account_id_here
INFLUX_DB_TOKEN=your_database_token_here
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here
Consulte env.cloud-dedicated.example para opções de configuração detalhadas e comentários.
2. Integração com Clientes MCP
A. Local (npm install & run)
- Instale as dependências:
npm install - Construa o servidor:
npm run build - Configure seu cliente MCP para usar o servidor compilado. Exemplo (veja
example-local.mcp.json):{ "mcpServers": { "influxdb": { "command": "node", "args": ["/path/to/influx-mcp-standalone/build/index.js"], "env": { "INFLUX_DB_INSTANCE_URL": "http://localhost:8181/", "INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>", "INFLUX_DB_PRODUCT_TYPE": "core" } } } }
B. Local (npx, sem necessidade de instalação/build)
- Execute diretamente com npx (após publicar no npm, ainda não funcionará):
{ "mcpServers": { "influxdb": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-influxdb"], "env": { "INFLUX_DB_INSTANCE_URL": "http://localhost:8181/", "INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>", "INFLUX_DB_PRODUCT_TYPE": "core" } } } }
C. Docker
Antes de executar a integração Docker, você deve construir a imagem Docker:
# Option 1: Use docker compose (recommended)
docker compose build
# Option 2: Use npm script
npm run docker:build
a) Docker com instância InfluxDB remota (veja example-docker.mcp.json):
{
"mcpServers": {
"influxdb": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"INFLUX_DB_INSTANCE_URL",
"-e",
"INFLUX_DB_TOKEN",
"-e",
"INFLUX_DB_PRODUCT_TYPE",
"mcp/influxdb"
],
"env": {
"INFLUX_DB_INSTANCE_URL": "http://remote-influxdb-host:8181/",
"INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>",
"INFLUX_DB_PRODUCT_TYPE": "core"
}
}
}
}
b) Docker com InfluxDB rodando em Docker na mesma máquina (veja example-docker.mcp.json):
Use host.docker.internal como URL do InfluxDB para que o contêiner do servidor MCP possa alcançar o contêiner InfluxDB:
{
"mcpServers": {
"influxdb": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--add-host=host.docker.internal:host-gateway",
"-e",
"INFLUX_DB_INSTANCE_URL",
"-e",
"INFLUX_DB_TOKEN",
"-e",
"INFLUX_DB_PRODUCT_TYPE",
"influxdb-mcp-server"
],
"env": {
"INFLUX_DB_INSTANCE_URL": "http://host.docker.internal:8181/",
"INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>",
"INFLUX_DB_PRODUCT_TYPE": "enterprise"
}
}
}
}
Exemplo de Uso
- Use seu cliente MCP para chamar ferramentas, recursos ou prompts conforme descrito acima.
- Consulte os arquivos
example-*.mcp.jsonpara modelos de configuração prontos para uso:example-local.mcp.json- Configuração de desenvolvimento localexample-npx.mcp.json- Configuração baseada em NPXexample-docker.mcp.json- Configuração baseada em Dockerexample-cloud-dedicated.mcp.json- Cloud Dedicated com todas as variáveis
- Consulte os arquivos
env.exampleeenv.cloud-dedicated.examplepara modelos de variáveis de ambiente.
Suporte e Solução de Problemas
- Use a ferramenta
get_helppara ajuda integrada e solução de problemas. - Para problemas de conexão, verifique suas variáveis de ambiente e o status da instância InfluxDB.
- Para configuração avançada, consulte os comentários nos arquivos de exemplo
.enve de configuração MCP.