I
InfluxDB
community
database
Run queries against InfluxDB OSS API v2.
InfluxDB MCP Server
A Model Context Protocol (MCP) server that exposes access to an InfluxDB instance using the InfluxDB OSS API v2. Mostly built with Claude Code.
Features
This MCP server provides:
- Resources: Access to organization, bucket, and measurement data
- Tools: Write data, execute queries, and manage database objects
- Prompts: Templates for common Flux queries and Line Protocol format
Resources
The server exposes the following resources:
-
Organizations List:
influxdb://orgs
- Displays all organizations in the InfluxDB instance
-
Buckets List:
influxdb://buckets
- Shows all buckets with their metadata
-
Bucket Measurements:
influxdb://bucket/{bucketName}/measurements
- Lists all measurements within a specified bucket
-
Query Data:
influxdb://query/{orgName}/{fluxQuery}
- Executes a Flux query and returns results as a resource
Tools
The server provides these tools:
-
: Write time-series data in line protocol formatwrite-data
- Parameters: org, bucket, data, precision (optional)
-
: Execute Flux queriesquery-data
- Parameters: org, query
-
: Create a new bucketcreate-bucket
- Parameters: name, orgID, retentionPeriodSeconds (optional)
-
: Create a new organizationcreate-org
- Parameters: name, description (optional)
Prompts
The server offers these prompt templates:
: Common Flux query examplesflux-query-examples
: Guide to InfluxDB line protocol formatline-protocol-guide
Configuration
The server requires these environment variables:
(required): Authentication token for the InfluxDB APIINFLUXDB_TOKEN
(optional): URL of the InfluxDB instance (defaults toINFLUXDB_URL
)http://localhost:8086
(optional): Default organization name for certain operationsINFLUXDB_ORG
Installation
Option 1: Run with npx (recommended)
# Run directly with npx INFLUXDB_TOKEN=your_token npx influxdb-mcp-server
Option 2: Install globally
# Install globally npm install -g influxdb-mcp-server # Run the server INFLUXDB_TOKEN=your_token influxdb-mcp-server
Option 3: From source
# 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
Integration with Claude for Desktop
Add the server to your
claude_desktop_config.json
:Using npx (recommended)
{ "mcpServers": { "influxdb": { "command": "npx", "args": ["influxdb-mcp-server"], "env": { "INFLUXDB_TOKEN": "your_token", "INFLUXDB_URL": "http://localhost:8086", "INFLUXDB_ORG": "your_org" } } } }
If installed locally
{ "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" } } } }
Code Structure
The server code is organized into a modular structure:
src/
- Main server entry pointindex.js
- Configuration related filesconfig/
- Environment variable handlingenv.js
- Utility functionsutils/
- InfluxDB API clientinfluxClient.js
- Console logger configurationloggerConfig.js
- Resource and tool handlershandlers/
- Organizations listingorganizationsHandler.js
- Buckets listingbucketsHandler.js
- Measurements listingmeasurementsHandler.js
- Query executionqueryHandler.js
- Data write toolwriteDataTool.js
- Query toolqueryDataTool.js
- Bucket creation toolcreateBucketTool.js
- Organization creation toolcreateOrgTool.js
- Prompt templatesprompts/
- Flux query examplesfluxQueryExamplesPrompt.js
- Line protocol guidelineProtocolGuidePrompt.js
This structure allows for better maintainability, easier testing, and clearer separation of concerns.
Testing
The repository includes comprehensive integration tests that:
- Spin up a Docker container with InfluxDB
- Populate it with sample data
- Test all MCP server functionality
To run the tests:
npm test
License
MIT
Related Servers
Apache IoTDB
official
MCP Server for [Apache IoTDB](https://github.com/apache/iotdb) database and its tools
View Details