InfluxDB
STDIOInfluxDB时序数据库访问与管理MCP服务器
InfluxDB时序数据库访问与管理MCP服务器
A Model Context Protocol (MCP) server that exposes access to an InfluxDB instance using the InfluxDB OSS API v2. Mostly built with Claude Code.
This MCP server provides:
The server exposes the following resources:
Organizations List: influxdb://orgs
Buckets List: influxdb://buckets
Bucket Measurements: influxdb://bucket/{bucketName}/measurements
Query Data: influxdb://query/{orgName}/{fluxQuery}
The server provides these tools:
write-data: Write time-series data in line protocol format
query-data: Execute Flux queries
create-bucket: Create a new bucket
create-org: Create a new organization
The server offers these prompt templates:
flux-query-examples: Common Flux query examplesline-protocol-guide: Guide to InfluxDB line protocol formatThe server requires these environment variables:
INFLUXDB_TOKEN (required): Authentication token for the InfluxDB APIINFLUXDB_URL (optional): URL of the InfluxDB instance (defaults to http://localhost:8086)INFLUXDB_ORG (optional): Default organization name for certain operationsTo install InfluxDB MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claude
# Run directly with npx INFLUXDB_TOKEN=your_token npx influxdb-mcp-server
# Install globally npm install -g influxdb-mcp-server # Run the server INFLUXDB_TOKEN=your_token influxdb-mcp-server
# Clone the repository git clone https://github.com/idoru/influxdb-mcp-server.git cd influxdb-mcp-server # Install dependencies npm install # Run the server INFLUXDB_TOKEN=your_token npm start
Add the server to your 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" } } } }
The server code is organized into a modular structure:
src/
index.js - Main server entry pointconfig/ - Configuration related files
env.js - Environment variable handlingutils/ - Utility functions
influxClient.js - InfluxDB API clientloggerConfig.js - Console logger configurationhandlers/ - Resource and tool handlers
organizationsHandler.js - Organizations listingbucketsHandler.js - Buckets listingmeasurementsHandler.js - Measurements listingqueryHandler.js - Query executionwriteDataTool.js - Data write toolqueryDataTool.js - Query toolcreateBucketTool.js - Bucket creation toolcreateOrgTool.js - Organization creation toolprompts/ - Prompt templates
fluxQueryExamplesPrompt.js - Flux query exampleslineProtocolGuidePrompt.js - Line protocol guideThis structure allows for better maintainability, easier testing, and clearer separation of concerns.
The repository includes comprehensive integration tests that:
To run the tests:
npm test
MIT