trackmcp
Back to directory
idoru

influxdb-mcp-server

View on GitHub

An MCP Server for querying InfluxDB

27 stars JavaScriptServers & Infrastructure Updated Oct 20, 2025

Documentation

MseeP Badge

InfluxDB v2 MCP Server

smithery badge
Trust Score

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`

    2. Buckets List: `influxdb://buckets`

      3. Bucket Measurements: `influxdb://bucket/{bucketName}/measurements`

        4. Query Data: `influxdb://query/{orgName}/{fluxQuery}`

          Tools

          The server provides these tools:

          1. `write-data`: Write time-series data in line protocol format

            2. `query-data`: Execute Flux queries

              3. `create-bucket`: Create a new bucket

                4. `create-org`: Create a new organization

                  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:

                  bash
                  npx -y @smithery/cli install @idoru/influxdb-mcp-server --client claude
                  bash
                  # Run directly with npx
                  INFLUXDB_TOKEN=your_token npx influxdb-mcp-server

                  Option 2: Install globally

                  bash
                  # Install globally
                  npm install -g influxdb-mcp-server
                  
                  # Run the server
                  INFLUXDB_TOKEN=your_token influxdb-mcp-server

                  Option 3: From source

                  bash
                  # 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

                  `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:

                  bash
                  # Start with Streamable HTTP transport on default port 3000
                  INFLUXDB_TOKEN=your_token npm start -- --http
                  
                  # Start with Streamable HTTP transport on a specific port
                  INFLUXDB_TOKEN=your_token npm start -- --http 8080

                  If you installed globally or are using npx, you can run:

                  bash
                  INFLUXDB_TOKEN=your_token influxdb-mcp-server --http
                  # or explicitly force stdio
                  INFLUXDB_TOKEN=your_token influxdb-mcp-server --stdio
                  # or
                  INFLUXDB_TOKEN=your_token influxdb-mcp-server --http 8080

                  Integration with Claude for Desktop

                  Add the server to your `claude_desktop_config.json`:

                  json
                  {
                    "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

                  json
                  {
                    "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 point
                    • `config/` - Configuration related files
                      • `env.js` - Environment variable handling
                    • `utils/` - Utility functions
                      • `influxClient.js` - InfluxDB API client
                      • `loggerConfig.js` - Console logger configuration
                    • `handlers/` - Resource and tool handlers
                      • `organizationsHandler.js` - Organizations listing
                      • `bucketsHandler.js` - Buckets listing
                      • `measurementsHandler.js` - Measurements listing
                      • `queryHandler.js` - Query execution
                      • `writeDataTool.js` - Data write tool
                      • `queryDataTool.js` - Query tool
                      • `createBucketTool.js` - Bucket creation tool
                      • `createOrgTool.js` - Organization creation tool
                    • `prompts/` - Prompt templates
                      • `fluxQueryExamplesPrompt.js` - Flux query examples
                      • `lineProtocolGuidePrompt.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:

                  bash
                  npm test

                  License

                  MIT

                  Frequently asked questions

                  What is influxdb-mcp-server?

                  influxdb-mcp-server is An MCP Server for querying InfluxDB

                  How do I install influxdb-mcp-server?

                  Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

                  Is influxdb-mcp-server open source?

                  Yes — it is hosted on GitHub at https://github.com/idoru/influxdb-mcp-server and has 27 stars.

                  Related MCP tools

                  Run your own MCP server? See who uses it and what to fix.

                  Measure it with TrackMCP