这是一个使用 InfluxDB OSS API v2 提供对 InfluxDB 实例访问的 Model Context Protocol (MCP) 服务器。主要由 Claude Code 构建。
此 MCP 服务器提供:
该服务器暴露以下资源:
组织列表:influxdb://orgs
存储桶列表:influxdb://buckets
存储桶测量:influxdb://bucket/{bucketName}/measurements
查询数据:influxdb://query/{orgName}/{fluxQuery}
该服务器提供以下工具:
write-data:以 Line Protocol 格式写入时间序列数据
query-data:执行 Flux 查询
create-bucket:创建新的存储桶
create-org:创建新的组织
该服务器提供以下提示模板:
flux-query-examples:常见的 Flux 查询示例line-protocol-guide:InfluxDB Line Protocol 格式指南该服务器需要以下环境变量:
INFLUXDB_TOKEN(必需):用于 InfluxDB API 的身份验证令牌INFLUXDB_URL(可选):InfluxDB 实例的 URL(默认为 http://localhost:8086)INFLUXDB_ORG(可选):某些操作的默认组织名称要通过 Smithery 自动安装 InfluxDB MCP 服务器到 Claude Desktop:
npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claude
# 直接使用 npx 运行
INFLUXDB_TOKEN=your_token npx influxdb-mcp-server
# 全局安装
npm install -g influxdb-mcp-server
# 运行服务器
INFLUXDB_TOKEN=your_token influxdb-mcp-server
# 克隆仓库
git clone https://github.com/idoru/influxdb-mcp-server.git
cd influxdb-mcp-server
# 安装依赖
npm install
# 运行服务器
INFLUXDB_TOKEN=your_token npm start
influxdb-mcp-server 默认使用 stdio 传输。你可以显式请求它使用 --stdio,或者通过提供 --http 选项(可选端口号,默认为 3000)启动 Streamable HTTP 传输模式。此模式使用内部的 Express.js 服务器:
# 在默认端口 3000 上启动 Streamable HTTP 传输
INFLUXDB_TOKEN=your_token npm start -- --http
# 在特定端口上启动 Streamable HTTP 传输
INFLUXDB_TOKEN=your_token npm start -- --http 8080
如果你已全局安装或使用 npx,可以运行:
INFLUXDB_TOKEN=your_token influxdb-mcp-server --http
# 或显式强制使用 stdio
INFLUXDB_TOKEN=your_token influxdb-mcp-server --stdio
# 或
INFLUXDB_TOKEN=your_token influxdb-mcp-server --http 8080
在你的 claude_desktop_config.json 中添加服务器:
{
"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 - Line Protocol 指南这种结构有助于更好的维护性、更简单的测试以及更清晰的关注点分离。
该仓库包含全面的集成测试,这些测试:
要运行测试:
npm test
MIT