
InfluxDB MCP Server

2025.03.14
1
Python时间序列数据库数据查询数据库
InfluxDB MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,提供通过 JWT 认证对 InfluxDB 1.8 的安全只读访问。它允许 AI 助手通过标准化接口查询存储在 InfluxDB 中的时间序列数据。
View on GitHub
Overview
基本能力
产品定位
InfluxDB MCP Server 是一个中间件服务,旨在为 AI 助手提供对 InfluxDB 时间序列数据库的安全、只读访问。
核心功能
- 提供对 InfluxDB 1.8 的只读访问
- 支持 JWT 认证
- 标准化查询接口
- 数据查询功能(列出数据库、列出测量值、执行查询)
适用场景
- AI 助手需要访问时间序列数据的场景
- 需要安全控制对 InfluxDB 访问的场景
- 需要标准化接口查询 InfluxDB 的场景
工具列表
auth
- 使用 JWT 令牌进行认证list_databases
- 列出可用的数据库list_measurements
- 列出指定数据库中的测量值query
- 执行查询语句
常见问题解答
- 连接问题:检查 INFLUXDB_HOST 是否正确,确认 InfluxDB 凭证正确,确保 InfluxDB 配置允许外部连接
- 认证问题:验证 JWT_SECRET 设置正确,确认令牌未过期且与 JWT_SECRET 匹配,检查 InfluxDB 凭证是否有读取权限
- 日志检查:使用
docker logs
命令查看容器日志
使用教程
使用依赖
- Docker
- 运行中的 InfluxDB 1.8 实例
- InfluxDB 实例的凭证
安装教程
- 克隆仓库:
bash git clone https://github.com/m4tyn0/influx_mcp cd influxdb-mcp-server
- 创建
.env
文件:bash cp env.example .env
并配置以下内容:INFLUXDB_HOST= INFLUXDB_PORT=8086 INFLUXDB_USERNAME= INFLUXDB_PASSWORD= INFLUXDB_SSL=false INFLUXDB_VERIFY_SSL=true INFLUXDB_TIMEOUT=10 JWT_SECRET= JWT_ALGORITHM=HS256
- 构建并运行 Docker 容器:
bash docker build -t influxdb-mcp-server . docker run -d --env-file .env -p 8000:8000 influxdb-mcp-server
JWT 认证
使用 Python 生成 JWT 令牌:
import jwt
import datetime
payload = {
"sub": "username",
"iat": datetime.datetime.utcnow(),
"exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1)
}
token = jwt.encode(payload, "your-jwt-secret", algorithm="HS256")
print(token)
调试方式
- 认证:
Tool: auth Arguments: {"token": "your.jwt.token.here"}
- 查询数据:
Tool: list_databases Arguments: {}
Tool: list_measurements Arguments: {"database": "your_database_name"}
Tool: query Arguments: { "database": "your_database_name", "query": "SELECT * FROM measurement_name LIMIT 10" }
- 查看日志:
bash docker logs <container_id>
许可证
None