InfluxDB MCP Server
一个使用InfluxDB OSS API v2暴露对InfluxDB实例访问的模型上下文协议(MCP)服务器。主要由Claude Code构建。
功能
此MCP服务器提供:
- 资源:访问组织、存储桶和测量数据
- 工具:写入数据、执行查询和管理数据库对象
- 提示:常见Flux查询和Line Protocol格式的模板
资源
服务器暴露以下资源:
-
组织列表:
influxdb://orgs- 显示InfluxDB实例中的所有组织
-
存储桶列表:
influxdb://buckets- 显示所有存储桶及其元数据
-
存储桶测量值:
influxdb://bucket/{bucketName}/measurements- 列出指定存储桶内的所有测量值
-
查询数据:
influxdb://query/{orgName}/{fluxQuery}- 执行Flux查询并将结果作为资源返回
工具
服务器提供以下工具:
-
write-data:以行协议格式写入时间序列数据- 参数:org、bucket、data、precision(可选)
-
query-data:执行Flux查询- 参数:org、query
-
create-bucket:创建新存储桶- 参数:name、orgID、retentionPeriodSeconds(可选)
-
create-org:创建新组织- 参数:name、description(可选)
提示
服务器提供以下提示模板:
flux-query-examples:常见Flux查询示例line-protocol-guide:InfluxDB行协议格式指南
配置
服务器需要以下环境变量:
INFLUXDB_TOKEN(必需):InfluxDB API的认证令牌INFLUXDB_URL(可选):InfluxDB实例的URL(默认为http://localhost:8086)INFLUXDB_ORG(可选):某些操作的默认组织名称
安装
通过Smithery安装
要通过Smithery自动为Claude Desktop安装InfluxDB MCP Server:
npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claude
选项1:使用npx(推荐)
# 直接使用npx运行
INFLUXDB_TOKEN=your_token npx influxdb-mcp-server
选项2:全局安装
# 全局安装
npm install -g influxdb-mcp-server
# 运行服务器
INFLUXDB_TOKEN=your_token influxdb-mcp-server
选项3:从源代码安装
# 克隆仓库
git clone https://github.com/idoru/influxdb-mcp-server.git
cd influxdb-mcp-server
# 安装依赖
npm install
# 运行服务器
INFLUXDB_TOKEN=your_token npm start
与Claude for Desktop集成
将服务器添加到你的claude_desktop_config.json:
使用npx(推荐)
{
"mcpServers": {
"influxdb": {
"command": "npx",
"args": ["influxdb-mcp-server"],
"env": {
"INFLUXDB_TOKEN": "your_token",
"INFLUXDB_URL": "http://localhost:8086",
"INFLUXDB_ORG": "your_org"
}
}
}
}
如果本地安装
{
"mcpServers": {
"influxdb": {
"command": "node",
"args": ["/path/to/influxdb-mcp-server/src/index.js"],
"env": {
"INFLUXDB_TOKEN": "your_token",
"INFLUXDB_URL": "http://localhost:8086",
"INFLUXDB_ORG": "your_org"
}
}
}
}
代码结构
服务器代码按模块化结构组织:
src/index.js- 主服务器入口config/- 配置相关文件env.js- 环境变量处理
utils/- 工具函数influxClient.js- InfluxDB API客户端loggerConfig.js- 控制台日志配置
handlers/- 资源和工具处理器organizationsHandler.js- 组织列表bucketsHandler.js- 存储桶列表measurementsHandler.js- 测量值列表queryHandler.js- 查询执行writeDataTool.js- 数据写入工具queryDataTool.js- 查询工具createBucketTool.js- 存储桶创建工具createOrgTool.js- 组织创建工具
prompts/- 提示模板fluxQueryExamplesPrompt.js- Flux查询示例lineProtocolGuidePrompt.js- 行协议指南
这种结构允许更好的可维护性、更简单的测试以及更清晰的职责分离。
测试
仓库包含全面的集成测试,这些测试:
- 启动包含InfluxDB的Docker容器
- 用示例数据填充
- 测试所有MCP服务器功能
要运行测试:
npm test
许可证
MIT
