InfluxDB MCP Server
STDIOA Model Context Protocol server that exposes access to an InfluxDB instance.
A Model Context Protocol server that exposes access to an InfluxDB instance.
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