InfluxDB v2 MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A Model Context Protocol (MCP) server that exposes access to an InfluxDB v2 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:
1. **Organizations List**: influxdb://orgs
- Displays all organizations in the InfluxDB instance
2. **Buckets List**: influxdb://buckets
- Shows all buckets with their metadata
3. **Bucket Measurements**: influxdb://bucket/{bucketName}/measurements
- Lists all measurements within a specified bucket
4. **Query Data**: influxdb://query/{orgName}/{fluxQuery}
- Executes a Flux query and returns results as a resource
Tools
The server provides these tools:
1. write-data: Write time-series data in line protocol format
- Parameters: org, bucket, data, precision (optional)
2. query-data: Execute Flux queries
- Parameters: org, query
3. create-bucket: Create a new bucket
- Parameters: name, orgID, retentionPeriodSeconds (optional)
4. create-org: Create a new organization
- Parameters: name, description (optional)
Prompts
The server offers these prompt templates:
1. flux-query-examples: Common Flux query examples
2. line-protocol-guide: Guide to InfluxDB line protocol format
Configuration
The server requires these environment variables:
- INFLUXDB_TOKEN (required): Authentication token for the InfluxDB API
- INFLUXDB_URL (optional): URL of the InfluxDB instance (defaults to http://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:
Option 1: Run with npx (recommended)
Option 2: Install globally
Option 3: From source
influxdb-mcp-server uses stdio transport by default. You can explicitly request it with --stdio, or start the server with Streamable HTTP transport by providing the --http option with an optional port number (defaults to 3000). This mode uses an internal Express.js server:
If you installed globally or are using npx, you can run:
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 point
- config/ - Configuration related files
- env.js - Environment variable handling
- utils/ - Utility functions
- influxClient.js - InfluxDB API client
- loggerConfig.js - Console logger configuration