Integrations
Provides templates and execution capabilities for Flux queries, which is the query language for InfluxDB, allowing for data querying and transformation operations.
Exposes access to an InfluxDB instance using the InfluxDB OSS API v2, allowing for organization and bucket management, measurement data access, writing time-series data, and executing Flux queries against the database.
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-data
: Write time-series data in line protocol format- Parameters: org, bucket, data, precision (optional)
query-data
: Execute Flux queries- Parameters: org, query
create-bucket
: Create a new bucket- Parameters: name, orgID, retentionPeriodSeconds (optional)
create-org
: Create a new organization- Parameters: name, description (optional)
Prompts
The server offers these prompt templates:
flux-query-examples
: Common Flux query examplesline-protocol-guide
: Guide to InfluxDB line protocol format
Configuration
The server requires these environment variables:
INFLUXDB_TOKEN
(required): Authentication token for the InfluxDB APIINFLUXDB_URL
(optional): URL of the InfluxDB instance (defaults tohttp://localhost:8086
)INFLUXDB_ORG
(optional): Default organization name for certain operations
Installation
Option 1: Run with npx (recommended)
Option 2: Install globally
Option 3: From source
Integration with Claude for Desktop
Add the server to your claude_desktop_config.json
:
Using npx (recommended)
If installed locally
Code Structure
The server code is organized into a modular structure:
src/
index.js
- Main server entry pointconfig/
- Configuration related filesenv.js
- Environment variable handling
utils/
- Utility functionsinfluxClient.js
- InfluxDB API clientloggerConfig.js
- Console logger configuration
handlers/
- Resource and tool handlersorganizationsHandler.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 tool
prompts/
- Prompt templatesfluxQueryExamplesPrompt.js
- Flux query exampleslineProtocolGuidePrompt.js
- Line protocol guide
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:
License
MIT
You must be authenticated.
A Model Context Protocol server that provides Claude with access to InfluxDB time-series database instances, enabling data writing, querying, and management of organizations and buckets through natural language.
- Features
- Resources
- Tools
- Prompts
- Configuration
- Installation
- Integration with Claude for Desktop
- Code Structure
- Testing
- License