SuperAPI AI 工具集

influxdb-mcp-server

influxdb-mcp-server 是一个基于模型上下文协议(MCP)的服务器,用于通过 InfluxDB OSS API v2 访问和查询 InfluxDB v2 实例。它主要使用 Claude Code 构建,提供资源、工具和提示模板三类功能。资源包括组织和桶列表、桶内测量值以及执行 Flux 查询;工具支持写入数据(行协议格式)、执行 Flux 查询、创建桶和组织;提示模板提供常见 Flux 查询示例和行协议指南。服务器需要 INFLUXDB_TOKEN 环境变量,可选配置 URL 和组织。支持通过 Smithery 安装,可使用 npx 运行、全局安装或从源码构建。默认使用 stdio 传输,也可通过 --http 选项启用 Streamable HTTP 传输,内部使用 Express.js 服务器。代码模块化组织,包含配置、工具、处理程序和提示模板。集成到 Claude for Desktop 需修改 claude_desktop_config.json。仓库包含集成测试,使用 Docker 启动 InfluxDB 并验证所有功能。

访问官网

工具介绍

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 服务器功能。

运行测试的命令暂未提供。