InfluxDB v2 MCP Server 是一个模型上下文协议(MCP)服务器,通过 InfluxDB OSS API v2 提供对 InfluxDB v2 实例的访问。该项目主要使用 Claude Code 构建。
主要能力
该服务器提供以下三类功能:
资源
- 组织列表:
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 自动为 Claude Desktop 安装 InfluxDB MCP Server。
- 选项 1:使用 npx 运行(推荐)。
- 选项 2:全局安装。
- 选项 3:从源码构建。
运行模式
influxdb-mcp-server 默认使用 stdio 传输。可以显式使用 --stdio 请求,或通过 --http 选项(可选端口号,默认为 3000)以 Streamable HTTP 传输启动服务器。此模式使用内部 Express.js 服务器。
如果已全局安装或使用 npx,可以运行。
与 Claude for Desktop 集成
将服务器添加到 claude_desktop_config.json:
- 使用 npx(推荐)。
- 如果本地安装。
代码结构
服务器代码组织为模块化结构:
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和lineProtocolGuidePrompt.js。
这种结构提高了可维护性、易于测试,并清晰分离关注点。
测试
仓库包含全面的集成测试:
- 启动带有 InfluxDB 的 Docker 容器。
- 填充示例数据。
- 测试所有 MCP 服务器功能。
运行测试的命令暂未提供。