InfluxDB MCP 服务器
模型上下文协议 (MCP) 服务器通过 JWT 身份验证提供对 InfluxDB 1.8 的安全只读访问。
概述
InfluxDB MCP 服务器允许 AI 助手通过标准化接口查询存储在 InfluxDB 中的时间序列数据。它通过 JWT 令牌进行身份验证,提供对 InfluxDB 实例的只读访问权限。
Related MCP server: MongoDB MCP Server
先决条件
Docker
InfluxDB 1.8 实例(已运行)
您的 InfluxDB 实例的凭证
安装
克隆存储库:
git clone https://github.com/m4tyn0/influx_mcp cd influxdb-mcp-server使用您的配置创建一个:
cp env.example .envINFLUXDB_HOST= INFLUXDB_PORT=8086 INFLUXDB_USERNAME= INFLUXDB_PASSWORD= INFLUXDB_SSL=false INFLUXDB_VERIFY_SSL=true INFLUXDB_TIMEOUT=10 JWT_SECRET= JWT_ALGORITHM=HS256构建并运行 Docker 容器:
docker build -t influxdb-mcp-server . docker run -d --env-file .env -p 8000:8000 influxdb-mcp-server
JWT 身份验证
服务器使用 JWT 令牌进行身份验证。您需要生成一个令牌来与 MCP 服务器进行身份验证,以下是一个简单的脚本:
保存此令牌以供您的 MCP 客户端使用。
与 MCP 客户端一起使用
使用 JWT 令牌向 MCP 服务器进行身份验证:
Tool: auth Arguments: {"token": "your.jwt.token.here"}查询您的 InfluxDB 数据:
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" }
故障排除
如果您遇到问题:
与 InfluxDB 的连接错误:
验证 INFLUXDB_HOST 是否正确并且可以从 Docker 容器访问
检查您的 InfluxDB 凭据是否正确
确保您的 InfluxDB 实例配置为接受来自外部主机的连接
身份验证问题:
验证您的 JWT_SECRET 设置是否正确
确保您使用的令牌与 JWT_SECRET 匹配并且未过期
检查您的 InfluxDB 凭据是否具有对数据库的读取权限
检查日志:
docker logs
安全说明
MCP 服务器仅允许对 InfluxDB 实例进行只读访问
所有查询都经过验证,以确保它们以 SELECT 开头
JWT 身份验证保护对 MCP 服务器的访问
考虑在专用网络中运行服务器以获得额外的安全性