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 databases visible to this credential. Visibility completeness and permissions to read individual databases remain unknown unless independently observed. |
| query_sqlA | Run one bounded, read-only SQL query against an InfluxDB 3 database. Accepts database as an alias for db and query as an alias for q; differing pairs are rejected. Defaults to JSON output and returns structured rows, warnings, and query metadata. Core and Enterprise also return jsonl or csv; Cloud Dedicated, Cloud Serverless, and Clustered return only JSON. Your answer must report metadata.completeness, the cap when capped, warnings, and row_count; see READING QUERY RESULTS in get_help. 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. Accepts database as an alias for db and query as an alias for q; differing pairs are rejected. Defaults to JSON output and returns structured rows, warnings, and query metadata. Core and Enterprise also return jsonl or csv; Cloud Dedicated, Cloud Serverless, and Clustered return only JSON. Your answer must report metadata.completeness, the cap when capped, warnings, and row_count; see READING QUERY RESULTS in get_help. 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. For regex field selection, write SELECT /pattern/ FROM m; a type suffix such as /pattern/::field fails to parse. |
| 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_databaseB | Discover tables and schemas in a database, optionally sampling recent rows from each table with bounded reads. |
| execute_queryA | Deprecated since 2.0.0. Use query_sql for SQL queries. execute_query remains available for compatibility with existing clients. Execute a SQL query against an InfluxDB database (all versions). Returns results in the specified format (defaults to JSON). On Cloud Dedicated, Cloud Serverless, and Clustered, this tool supports only JSON output. For bounded reads that report completeness, use query_sql. 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. |
| 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. |
| 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_checkB | Check health and ping separately. Any successful endpoint confirms health. A credential denied health access does not imply its permitted databases are unavailable. Client initialization alone does not prove connectivity. |
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 |
TDQS
Scored across 25 tools
Several tool pairs overlap directly: list_tables vs get_measurements both list tables/measurements, describe_table vs get_measurement_schema both return schema, and query_sql vs execute_query both execute SQL with execute_query merely deprecated. The split between cloud_* database token tools and admin-token tools is also easy to confuse, even though descriptions sometimes clarify product scope.
Most names are snake_case verb_noun, but conventions are inconsistent: some tools carry a cloud_ prefix while equivalent admin-token tools do not, and same-purpose operations use different verbs (list_tables vs get_measurements, describe_table vs get_measurement_schema). health_check also breaks the verb_noun pattern, though names remain readable.
25 tools is on the heavy borderline for an InfluxDB server, and several slots are occupied by deprecated or duplicate operations (execute_query, get_measurements, get_measurement_schema). Multi-version and product-specific token management explains part of the count, but the surface feels inflated rather than tightly scoped.
Core database lifecycle CRUD, SQL/InfluxQL querying, schema discovery, line-protocol writes, health checks, and token management for both cloud and Core/Enterprise are present. Remaining gaps are minor—notably no explicit data/table deletion operation and limited non-database resource coverage—but agents can generally work around them.