InfluxDB MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INFLUX_DB_TOKEN | No | InfluxDB token (required for core, enterprise, cloud-serverless, and certain cloud-dedicated/clustered options) | |
| INFLUX_DB_ACCOUNT_ID | No | Account ID (required for cloud-dedicated management token options) | |
| INFLUX_DB_CLUSTER_ID | No | Cluster ID (required for cloud-dedicated) | |
| INFLUX_DB_INSTANCE_URL | No | InfluxDB instance URL (required for core, enterprise, cloud-serverless, and clustered) | |
| INFLUX_DB_PRODUCT_TYPE | No | Product type: core, enterprise, cloud-serverless, cloud-dedicated, or clustered | |
| INFLUX_DB_MANAGEMENT_TOKEN | No | Management token (required for cloud-dedicated and clustered management token options) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_database_contextA | Check for and load custom database context if available. Always check this first as it can significantly speed up analysis and clarify data nuances. User-provided context is optional but when present, it contains valuable information about database structure, business context, or personal notes that can guide more accurate analysis. |
| get_helpA | Get help and troubleshooting guidance for InfluxDB operations. Supports specific categories or keyword search. |
| write_line_protocolA | Write data to InfluxDB using line protocol format (all versions). Supports single records or batches. Line Protocol Syntax: measurement,tag1=value1,tag2=value2 field1=value1,field2=value2 timestamp Components:
Field Value Types:
Examples: Single record: temperature,location=office,building=main value=23.5,humidity=45i 1640995200 Batch (separate with newlines): temperature,location=office value=23.5 1640995200 humidity,location=office value=45i 1640995201 Important: Always specify correct precision parameter to match your timestamp format. Use any precision if writing data with no timestamp. Escaping required for special characters in tags/fields. |
| create_databaseA | Create a new database in InfluxDB. Database names must follow InfluxDB naming rules: alphanumeric characters, dashes (-), underscores (_), and forward slashes (/) are allowed. Must start with a letter or number. Maximum 64 characters. For Cloud Dedicated/Clustered: maxTables, maxColumnsPerTable, retentionPeriod. For Cloud Serverless: description, retentionPeriod. |
| update_databaseA | Update database configuration for InfluxDB. For Cloud Dedicated/Clustered: modify maxTables, maxColumnsPerTable, and retentionPeriod. For Cloud Serverless: modify bucket name, description, and retentionPeriod. For Core/Enterprise: modify retentionPeriod only (Core requires v3.2.0+). |
| delete_databaseA | Delete a database from InfluxDB. Use the exact database name as returned by the list_databases tool. |
| list_databasesA | List all databases in the InfluxDB instance (all versions). Returns database names, count, and status information. |
| query_sqlA | Run one bounded, read-only SQL query against an InfluxDB 3 database. Defaults to JSON output and returns structured rows, warnings, and query metadata. In SQL, quoted identifiers are exact column names; if a quoted selector contains *, treat it as wildcard intent, call describe_table, expand matching fields explicitly, then retry one bounded query_sql. Use query_influxql regex only when the user explicitly asks for InfluxQL or regex field selection. |
| query_influxqlA | Run one bounded, read-only InfluxQL query against an InfluxDB 3 database. Rejects SELECT INTO and destructive statements. Prefer query_sql for SQL prompts; use InfluxQL regex field selection only when the user explicitly asks for InfluxQL or regex field matching. |
| list_tablesA | List tables, also called measurements, in an InfluxDB database. |
| describe_tableA | Describe table schema using InfluxDB metadata. Unknown tag/field roles are returned as category=unknown instead of guessed. Use this before retrying SQL queries that fail on quoted wildcard or unknown-field selectors; expand matching fields explicitly and run one bounded query_sql. |
| investigate_databaseA | Discover tables and schemas in a database, optionally sampling recent rows from each table with bounded reads. |
| execute_queryB | Execute a SQL query against an InfluxDB database (all versions). Returns results in the specified format (defaults to JSON). Large Dataset Warning: InfluxDB might contain massive time-series data. Always use COUNT(*) first to check size, then LIMIT/OFFSET for large results (>1000 rows). Cloud Dedicated/Clustered & Cloud Serverless (v3) Requirements:
|
| get_measurementsA | Get a list of all measurements (tables) in a database/bucket (all versions). Uses the InfluxDB information_schema.columns to discover tables. |
| get_measurement_schemaA | Get the schema (column information) for a specific measurement/table (all versions). Shows column names, types, and categories (time/tag/field). |
| create_admin_tokenA | Create a new InfluxDB named admin token with full administrative permissions (Core/Enterprise only). Named admin tokens can manage databases, users, and resource tokens, but cannot manage other admin tokens. |
| list_admin_tokensA | List all admin tokens (operator and named admin tokens) with optional filtering by token name (Core/Enterprise only). Named admin tokens have full administrative access including resource token management. |
| list_resource_tokensA | List all resource tokens with optional filtering by database name and/or token name, and ordering (Core/Enterprise only). |
| regenerate_operator_tokenA | Regenerate the InfluxDB operator token (Core/Enterprise only). Returns the new token value. ⚠️ This action invalidates current operator token and is irreversible. Receive the explicit user confirmation before proceeding. |
| create_resource_tokenA | Create a new InfluxDB resource token with specific database permissions (Core/Enterprise only). Example: databases=["mydb", "testdb"], actions=["read", "write"] |
| delete_tokenB | Delete an InfluxDB token by name (Core/Enterprise only). |
| cloud_list_database_tokensA | List all database tokens for InfluxDB Cloud-Dedicated/Clustered cluster. Returns token information including permissions and creation dates. |
| cloud_get_database_tokenA | Get details of a specific database token by ID for InfluxDB Cloud-Dedicated/Clustered cluster. |
| cloud_create_database_tokenA | Create a new database token for InfluxDB Cloud-Dedicated/Clustered cluster. Specify exact permissions per database or create a no-access token. Permissions format: [{"database": "db_name", "action": "read|write"}, ...] Examples: • No access: omit permissions field or use [] • Read-only on 'analytics': [{"database": "analytics", "action": "read"}] • Mixed permissions: [{"database": "logs", "action": "read"}, {"database": "metrics", "action": "write"}] • Full access: [{"database": "", "action": "read"}, {"database": "", "action": "write"}] |
| cloud_update_database_tokenA | Update an existing database token for InfluxDB Cloud-Dedicated/Clustered cluster. Can update description and/or permissions with precise control. Permissions format: [{"database": "db_name", "action": "read|write"}, ...] Note: Permissions completely replace existing ones - include all desired permissions. Examples: • No access: use [] • Read-only on 'analytics': [{"database": "analytics", "action": "read"}] • Mixed permissions: [{"database": "logs", "action": "read"}, {"database": "metrics", "action": "write"}] • Full access: [{"database": "", "action": "read"}, {"database": "", "action": "write"}] |
| cloud_delete_database_tokenA | Delete a database token from InfluxDB Cloud-Dedicated/Clustered cluster. This action cannot be undone. |
| health_checkA | Check current connection status to the InfluxDB instance. Returns connection status, configuration, and available endpoint results. Health assessment is flexible - if any check passes (client initialization, /health endpoint, or /ping), the instance is considered healthy. Available checks depend on the InfluxDB product type and token configuration. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| list-databases | Generate a prompt to list all available databases |
| check-health | Generate a prompt to check InfluxDB health status |
| load-context | Load custom database context and documentation |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| influx-config | InfluxDB configuration and connection status |
| influx-status | Comprehensive status of the InfluxDB connection including ping and health check results |
| influx-databases | List of all databases in the InfluxDB instance |
| context-file | Custom context file with user-defined database descriptions or documentation |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/influxdata/influxdb3_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server