- Explore MCP Servers
- influxdb
InfluxDB
What is InfluxDB
InfluxDB MCP Server is a Model Context Protocol server that enables interaction with an InfluxDB instance through the InfluxDB OSS API v2. It is primarily designed for developers who need a structured way to manage time-series data within InfluxDB.
Use cases
This server can be utilized for various purposes including managing organizational data, interacting with time-series buckets, executing complex queries, and writing data in line protocol format. It is ideal for applications that require efficient data retrieval and manipulation from InfluxDB databases.
How to use
To use the InfluxDB MCP Server, set the required environment variables including the InfluxDB authentication token and optionally the InfluxDB URL and organization name. The server can be run directly using npx for a quick start or installed globally for more persistent use. Additionally, it can be integrated into custom configurations for environments like Claude for Desktop.
Key features
Key features of the InfluxDB MCP Server include resources for listing organizations and buckets, executing Flux queries, writing data, and managing database objects. It also offers prompt templates for common Flux queries and guides for line protocol format, making it easier for users to interact with InfluxDB.
Where to use
The InfluxDB MCP Server can be used in any application or development environment that requires real-time data monitoring and management. It’s particularly useful for IoT applications, financial analytics, and any system that generates time-series data and needs efficient querying and storage solutions.
Overview
What is InfluxDB
InfluxDB MCP Server is a Model Context Protocol server that enables interaction with an InfluxDB instance through the InfluxDB OSS API v2. It is primarily designed for developers who need a structured way to manage time-series data within InfluxDB.
Use cases
This server can be utilized for various purposes including managing organizational data, interacting with time-series buckets, executing complex queries, and writing data in line protocol format. It is ideal for applications that require efficient data retrieval and manipulation from InfluxDB databases.
How to use
To use the InfluxDB MCP Server, set the required environment variables including the InfluxDB authentication token and optionally the InfluxDB URL and organization name. The server can be run directly using npx for a quick start or installed globally for more persistent use. Additionally, it can be integrated into custom configurations for environments like Claude for Desktop.
Key features
Key features of the InfluxDB MCP Server include resources for listing organizations and buckets, executing Flux queries, writing data, and managing database objects. It also offers prompt templates for common Flux queries and guides for line protocol format, making it easier for users to interact with InfluxDB.
Where to use
The InfluxDB MCP Server can be used in any application or development environment that requires real-time data monitoring and management. It’s particularly useful for IoT applications, financial analytics, and any system that generates time-series data and needs efficient querying and storage solutions.
Content
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
Installing via Smithery
To install InfluxDB MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claude
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/
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:
npm test
License
MIT