Model Context Protocol (MCP) server for InfluxDB 3 integration. Provides tools, resources, and prompts for interacting with InfluxDB v3 (Core/Enterprise/Cloud Dedicated) via MCP clients.
- InfluxDB 3 Instance: URL and token (Core/Enterprise) or Cluster ID and tokens (Cloud Dedicated)
- Node.js: v18 or newer (for npm/npx usage)
- npm: v9 or newer (for npm/npx usage)
- Docker: (for Docker-based setup)
Tool Name | Description | Availability |
---|---|---|
get_help |
Get help and troubleshooting guidance for InfluxDB operations | All versions |
write_line_protocol |
Write data using InfluxDB line protocol | All versions |
create_database |
Create a new database (with Cloud Dedicated config options) | All versions |
update_database |
Update database configuration (maxTables, retention, etc.) | Cloud Dedicated only |
delete_database |
Delete a database by name (irreversible) | All versions |
execute_query |
Run a SQL query against a database (supports multiple formats) | All versions |
get_measurements |
List all measurements (tables) in a database | All versions |
get_measurement_schema |
Get schema (columns/types) for a measurement/table | All versions |
create_admin_token |
Create a new admin token (full permissions) | Core/Enterprise only |
list_admin_tokens |
List all admin tokens (with optional filtering) | Core/Enterprise only |
create_resource_token |
Create a resource token for specific DBs and permissions | Core/Enterprise only |
list_resource_tokens |
List all resource tokens (with filtering and ordering) | Core/Enterprise only |
delete_token |
Delete a token by name | Core/Enterprise only |
regenerate_operator_token |
Regenerate the operator token (dangerous/irreversible) | Core/Enterprise only |
cloud_list_database_tokens |
List all database tokens for Cloud-Dedicated cluster | Cloud Dedicated only |
cloud_get_database_token |
Get details of a specific database token by ID | Cloud Dedicated only |
cloud_create_database_token |
Create a new database token for Cloud-Dedicated cluster | Cloud Dedicated only |
cloud_update_database_token |
Update an existing database token | Cloud Dedicated only |
cloud_delete_database_token |
Delete a database token from Cloud-Dedicated cluster | Cloud Dedicated only |
list_databases |
List all available databases in the instance | All versions |
health_check |
Check InfluxDB connection and health status | All versions |
Resource Name | Description |
---|---|
influx-config |
Read-only access to InfluxDB configuration |
influx-status |
Real-time connection and health status |
influx-databases |
List of all databases in the instance |
You must provide:
INFLUX_DB_INSTANCE_URL
(e.g.http://localhost:8181/
)INFLUX_DB_TOKEN
INFLUX_DB_PRODUCT_TYPE
(core
orenterprise
)
Example .env
:
INFLUX_DB_INSTANCE_URL=http://localhost:8181/
INFLUX_DB_TOKEN=your_influxdb_token_here
INFLUX_DB_PRODUCT_TYPE=core
You must provide INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
and INFLUX_DB_CLUSTER_ID
, plus one of these token combinations:
Option 1: Database Token Only (Query/Write operations only):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_TOKEN=your_database_token_here
Option 2: Management Token Only (Database management only):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_ACCOUNT_ID=your_account_id_here
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here
Option 3: Both Tokens (Full functionality):
INFLUX_DB_PRODUCT_TYPE=cloud-dedicated
INFLUX_DB_CLUSTER_ID=your_cluster_id_here
INFLUX_DB_ACCOUNT_ID=your_account_id_here
INFLUX_DB_TOKEN=your_database_token_here
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here
See env.cloud-dedicated.example
for detailed configuration options and comments.
- Install dependencies:
npm install
- Build the server:
npm run build
- Configure your MCP client to use the built server. Example (see
example-local.mcp.json
):{ "mcpServers": { "influxdb": { "command": "node", "args": ["/path/to/influx-mcp-standalone/build/index.js"], "env": { "INFLUX_DB_INSTANCE_URL": "http://localhost:8181/", "INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>", "INFLUX_DB_PRODUCT_TYPE": "core" } } } }
- Run directly with npx (after publishing to npm, won't work yet):
{ "mcpServers": { "influxdb": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-influxdb"], "env": { "INFLUX_DB_INSTANCE_URL": "http://localhost:8181/", "INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>", "INFLUX_DB_PRODUCT_TYPE": "core" } } } }
Before running the Docker integration, you must build the Docker image:
# Option 1: Use docker compose (recommended)
docker compose build
# Option 2: Use npm script
npm run docker:build
a) Docker with remote InfluxDB instance (see example-docker.mcp.json
):
{
"mcpServers": {
"influxdb": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"INFLUX_DB_INSTANCE_URL",
"-e",
"INFLUX_DB_TOKEN",
"-e",
"INFLUX_DB_PRODUCT_TYPE",
"mcp/influxdb"
],
"env": {
"INFLUX_DB_INSTANCE_URL": "http://remote-influxdb-host:8181/",
"INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>",
"INFLUX_DB_PRODUCT_TYPE": "core"
}
}
}
}
b) Docker with InfluxDB running in Docker on the same machine (see example-docker.mcp.json
):
Use host.docker.internal
as the InfluxDB URL so the MCP server container can reach the InfluxDB container:
{
"mcpServers": {
"influxdb": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--add-host=host.docker.internal:host-gateway",
"-e",
"INFLUX_DB_INSTANCE_URL",
"-e",
"INFLUX_DB_TOKEN",
"-e",
"INFLUX_DB_PRODUCT_TYPE",
"influxdb-mcp-server"
],
"env": {
"INFLUX_DB_INSTANCE_URL": "http://host.docker.internal:8181/",
"INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>",
"INFLUX_DB_PRODUCT_TYPE": "enterprise"
}
}
}
}
- Use your MCP client to call tools, resources, or prompts as described above.
- See the
example-*.mcp.json
files for ready-to-use configuration templates:example-local.mcp.json
- Local development setupexample-npx.mcp.json
- NPX-based setupexample-docker.mcp.json
- Docker-based setupexample-cloud-dedicated.mcp.json
- Cloud Dedicated with all variables
- See the
env.example
andenv.cloud-dedicated.example
files for environment variable templates.
- Use the
get_help
tool for built-in help and troubleshooting. - For connection issues, check your environment variables and InfluxDB instance status.
- For advanced configuration, see the comments in the example
.env
and MCP config files.