InfluxDB 1.x查询代理

为AI助手提供InfluxDB 1.x(InfluxQL)只读访问的中间件服务,支持查询执行、测量列表和标签值检索功能。

  • by coolexer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 coolexer/influxdb_mcp

使用说明

influexdb-1x-mcp

MCP服务器提供只读访问 InfluxDB 1.x (InfluxQL)用于像Claude这样的人工智能助手。

特性

  • 执行任意InfluxQL SELECT 和 SHOW 查询
  • 使用可选正则表达式过滤器列出测量值
  • 列出标签值(例如所有 entity_id 在测量中)
  • 连接ping/健康检查
  • 只读:仅 SELECT 和 SHOW 允许查询

安装

需要Python 3.10+和 紫外线.

git clone https://github.com/coolexer/influxdb_mcp
cd influxdb_mcp
uv sync

配置(克劳德桌面)

添加 claude_desktop_config.json:

"influxdb-1x": {
  "command": "uv",
  "args": [
    "--directory", "C:\\path\\to\\influxdb_mcp",
    "run", "influxdb-1x-mcp"
  ],
  "env": {
    "UV_LINK_MODE": "copy",
    "INFLUXDB_HOST": "192.168.1.100",
    "INFLUXDB_PORT": "8086",
    "INFLUXDB_DATABASE": "homeassistant"
  }
}

环境变量

变量 默认值 描述
INFLUXDB_HOST localhost InfluxDB主机
INFLUXDB_PORT 8086 InfluxDB端口
INFLUXDB_DATABASE homeassistant 默认数据库
INFLUXDB_USERNAME (无) 用户名(可选)
INFLUXDB_PASSWORD (无) 密码(可选)

工具

工具 说明
influx_ping 测试连接,返回服务器版本
influx_show_measurements 列出所有测量值,可选正则表达式过滤器
influx_show_tag_values 列出测量值的标签值(例如所有entity_id)
influx_query 执行任何InfluxQL SELECT或SHOW查询

查询示例

-- All temperature sensors in Home Assistant
SHOW TAG VALUES FROM "°C" WITH KEY = "entity_id"

-- Boiler supply temperature last 24h, 5min averages
SELECT mean("value") FROM "°C"
WHERE "entity_id" = 'kotelnaia_kotel_tdeg_tn'
AND time > now() - 24h
GROUP BY time(5m)

-- Pump power last 6 hours
SELECT mean("value") FROM "W"
WHERE "entity_id" =~ /nasos/
AND time > now() - 6h
GROUP BY time(5m), "entity_id"

许可证

麻省理工学院