Skip to main content
Glama
influxdata

InfluxDB MCP Server

Official
by influxdata

InfluxDB 3 MCP Server

CI

Trust Score

Model Context Protocol (MCP) server for InfluxDB 3 integration. Provides tools, resources, and prompts for interacting with InfluxDB 3 Core and Enterprise, plus InfluxDB Cloud Dedicated, InfluxDB Clustered, and InfluxDB Cloud Serverless via MCP clients.


Prerequisites

  • InfluxDB 3 Instance: URL and token (Core/Enterprise/Cloud Serverless) or Cluster ID and tokens (Cloud Dedicated/Clustered)

  • Node.js: v20.11 or newer (for npm/npx usage)

  • pnpm: use the version pinned in package.json for local development. Run corepack enable to activate it with Node.js 20 or 22.

  • Docker: (for Docker-based setup)


Related MCP server: InfluxDB OSS API MCP Server

Migrating to 2.0

Version 2.0 changes query result envelopes, health-check output, argument errors, and telemetry. Clients that parse these responses must follow the read-only output contract. Read metadata.completeness, caps, and warnings before treating query results as a complete answer. Discovery metadata states its source and leaves unavailable values unknown. Tool names and configured profiles remain available.

Read-only Agent Workflows

Set INFLUX_MCP_TOOL_PROFILE=readonly to give an MCP client tools that explore and query data. The profile leaves out every tool that writes data, administers databases, manages tokens, or runs on the host.

Credentials

Set INFLUX_DB_TOKEN to an admin token, a scoped token, or an Enterprise user-authentication JWT. The server sends it in a Bearer header without inspecting it, so the token's permissions decide which databases the tools can read.

Query arguments

query_sql and query_influxql accept database for db and query for q. A call that gives both names with different values fails with invalid_arguments. Every argument error is a structured tool error and is recorded in telemetry.

Discovery

list_databases returns what the server lists, with visibility: "unknown", because a listed database might still be unreadable. health_check returns JSON with separate health and ping outcomes. A scoped token can be denied both checks and still read its databases.

investigate_database keeps each table's result even when another table fails, and reports how many tables it saw and whether it stopped early. Samples come from a time window, 24 hours by default; set sampleWindowHours to change it. An empty window doesn't mean the table is empty. On Core and Enterprise, describe_table and investigation use system.influxdb_schema for authoritative column roles. They also read schema mode and deletion status from the _internal catalog when the same credential permits it, reporting source: "server" and the catalog table name. Unavailable values stay unknown; catalog denial does not discard readable column metadata or samples. Without authoritative deletion metadata, a table name with a timestamp-shaped suffix gets an advisory possibly_deleted warning and stays listed. Cardinality estimates aren't supported yet.

Errors

When a call fails, read error.code, error.recovery, and error.retryable:

  • A 403 is not_found_or_denied. A token without access gets 403 whether or not the database exists.

  • A 404 is not_found.

  • A SQL query that names an unknown table has recovery: "fix_reference". Call list_tables or describe_table for the right name.

  • A query that runs out of server memory has recovery: "narrow".

  • A query sent to an Enterprise ingest-only node has recovery: "change_endpoint".

  • Other server failures have recovery: "none".

EXPLAIN ANALYZE runs the query within the same bounds and adds a diagnostic_execution warning.

Analyst explores an unfamiliar database

An analyst can connect an MCP client such as Claude Desktop, Cursor, Codex, or another agent harness and ask a question like:

Which sensors had the highest average temperature in the last 24 hours?

With the read-only profile, the agent can:

  1. Call list_databases to see accessible databases.

  2. Call list_tables and describe_table to discover measurements and columns.

  3. Treat uncertain tag and field categories as unknown.

  4. Build a bounded SQL query with db, q, and optional params.

  5. Call query_sql with structured JSON output.

  6. Return the result, row count, truncation status, warnings, and correlation metadata.

The user gets a grounded answer and a reusable query while the agent explores and queries data without access to mutation or administration tools.

Operator investigates an InfluxQL dashboard query

An operator can troubleshoot an existing InfluxQL dashboard panel and ask:

Why did this panel stop showing data after the deploy?

With the read-only profile, the agent can:

  1. Keep the user's query in InfluxQL and call query_influxql.

  2. Use SHOW queries and schema discovery to verify the measurement and referenced columns.

  3. Sample recent rows with bounded reads to distinguish missing data from a broken query.

  4. Reject unsafe follow-up attempts, such as SELECT INTO or destructive statements.

  5. Return request_id, query_id, and query_id_source so the operator can correlate the MCP result with system.queries.id when query history is available.

  6. Emit structured logs to stderr for stdio transports so stdout remains reserved for MCP protocol messages.

The user gets a practical diagnosis, such as missing data, renamed schema, a wrong time predicate, or a query failure. The investigation is traceable without logging full query text by default.


Available Tools

Tool Name

Description

Availability

load_database_context

Load optional custom database context and documentation

All versions

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-specific config options)

All versions

update_database

Update database configuration (retention for all; maxTables/maxColumns for Cloud Dedicated/Clustered)

All versions

delete_database

Delete a database by name (irreversible)

All versions

execute_query

Deprecated since 2.0.0. Use query_sql. Retained for compatibility

All versions

query_sql

Run bounded read-only SQL with structured response metadata

All versions

query_influxql

Run bounded read-only InfluxQL with structured response metadata

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

list_tables

List tables, also called measurements, in a database

All versions

describe_table

Describe table schema with conservative column categories

All versions

investigate_database

Run high-level read-only database discovery and sampling

All versions

create_admin_token

Create a named admin token with an optional expiration

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

Enterprise only

list_resource_tokens

List all resource tokens (with filtering and ordering)

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/Clustered cluster

Cloud Dedicated/Clustered

cloud_get_database_token

Get details of a specific database token by ID

Cloud Dedicated/Clustered

cloud_create_database_token

Create a new database token for Cloud-Dedicated/Clustered cluster

Cloud Dedicated/Clustered

cloud_update_database_token

Update an existing database token

Cloud Dedicated/Clustered

cloud_delete_database_token

Delete a database token from Cloud-Dedicated/Clustered cluster

Cloud Dedicated/Clustered

list_databases

List all available databases in the instance

All versions

health_check

Check InfluxDB connection and health status

All versions


Available Resources

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

context-file

Custom user-provided database context and documentation


Available Prompts

Prompt 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


Setup & Integration Guide

1. Environment Variables

For Core/Enterprise InfluxDB:

You must provide:

  • INFLUX_DB_INSTANCE_URL (e.g. http://localhost:8181/)

  • INFLUX_DB_TOKEN

  • INFLUX_DB_PRODUCT_TYPE (core or enterprise)

Example .env:

INFLUX_DB_INSTANCE_URL=http://localhost:8181/
INFLUX_DB_TOKEN=your_influxdb_token_here
INFLUX_DB_PRODUCT_TYPE=core

For Cloud Serverless InfluxDB:

You must provide:

  • INFLUX_DB_INSTANCE_URL (e.g. https://us-east-1-1.aws.cloud2.influxdata.com)

  • INFLUX_DB_TOKEN

  • INFLUX_DB_PRODUCT_TYPE (cloud-serverless)

Example .env:

INFLUX_DB_INSTANCE_URL=https://us-east-1-1.aws.cloud2.influxdata.com
INFLUX_DB_TOKEN=your_influxdb_token_here
INFLUX_DB_PRODUCT_TYPE=cloud-serverless

For Cloud Dedicated InfluxDB:

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

For Clustered InfluxDB:

You must provide INFLUX_DB_PRODUCT_TYPE=clustered and INFLUX_DB_INSTANCE_URL, plus one of these token combinations:

Option 1: Database Token Only (Query/Write operations only):

INFLUX_DB_PRODUCT_TYPE=clustered
INFLUX_DB_INSTANCE_URL=https://your_cluster_host.com
INFLUX_DB_TOKEN=your_database_token_here

Option 2: Management Token Only (Database management only):

INFLUX_DB_PRODUCT_TYPE=clustered
INFLUX_DB_INSTANCE_URL=https://your_cluster_host.com
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here

Option 3: Both Tokens (Full functionality):

INFLUX_DB_PRODUCT_TYPE=clustered
INFLUX_DB_INSTANCE_URL=https://your_cluster_host.com
INFLUX_DB_TOKEN=your_database_token_here
INFLUX_DB_MANAGEMENT_TOKEN=your_management_token_here

See corresponding env.<instancetype>.example for examples and detailed info.

Optional MCP tool profile and telemetry

Use INFLUX_MCP_TOOL_PROFILE=readonly to expose only read-only tools. If unset, the server uses the full operator tool profile.

INFLUX_MCP_TOOL_PROFILE=readonly

Tool-call telemetry is enabled by default and writes structured JSON lines to stderr, which keeps stdout reserved for MCP stdio protocol messages. To disable telemetry:

MCP_LOG_TOOL_CALLS=false

To write telemetry to a file, configure the file backend:

MCP_LOG_BACKEND=file
MCP_LOG_FILE=/logs/influxdb-mcp.jsonl

The telemetry log includes tool name, request ID, query ID, duration, database, row count, truncation state, success state, and error code. It does not log API tokens, request headers, tool arguments, or query text. Sample harness profiles live in harness-profiles/; for approval settings and repeatable E2E prompts, see AGENT_E2E_TESTS.md.


2. Integration with MCP Clients

A. Local (pnpm install & run)

  1. Install dependencies:

    pnpm install
  2. Build the server:

    pnpm run build
  3. 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"
          }
        }
      }
    }

B. Local (npx, no install/build required)

  1. Run directly with npx (after publishing to npm, won't work yet):

    {
      "mcpServers": {
        "influxdb": {
          "command": "npx",
          "args": ["-y", "@influxdata/influxdb3-mcp-server"],
          "env": {
            "INFLUX_DB_INSTANCE_URL": "http://localhost:8181/",
            "INFLUX_DB_TOKEN": "<YOUR_INFLUXDB_TOKEN>",
            "INFLUX_DB_PRODUCT_TYPE": "core"
          }
        }
      }
    }

C. Docker

Before running the Docker integration, you must build the Docker image:

# Option 1: Use docker compose (recommended)
docker compose build
# Option 2: Use pnpm script
pnpm 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"
      }
    }
  }
}

Example Usage

  • Use your MCP client to call tools, resources, or prompts as described above.

  • Custom Context: Edit the provided context/database-context.md file or remove it and create your own context file with "context" in the name (.json, .txt, .md) to provide database documentation. Use the load_database_context tool or load-context prompt to access it.

  • See the example-*.mcp.json files for ready-to-use configuration templates:

    • example-local.mcp.json - Local development setup

    • example-npx.mcp.json - NPX-based setup

    • example-docker.mcp.json - Docker-based setup

    • example-cloud-dedicated.mcp.json - Cloud Dedicated with all variables

    • example-clustered.mcp.json - Clustered with all variables

    • example-cloud-serverless.mcp.json - Cloud Serverless configuration

  • See the env.example, env.cloud-dedicated.example, env.clustered.example, and env.cloud-serverless.example files for environment variable templates.

  • See AGENT_E2E_TESTS.md for MCP harness tips, read-only profile runs, and telemetry correlation checks.

Run Cloud Serverless integration tests

The Cloud Serverless test command accepts Claire's INFLUXDB3_CLOUD_* variables and maps them to the MCP server's runtime variables. The command sets INFLUX_TEST_ENABLED=true and INFLUX_DB_PRODUCT_TYPE=cloud-serverless.

For local tests with 1Password, store only op:// references in ~/.config/claire/cloud-serverless.env:

INFLUXDB3_CLOUD_URL=op://VAULT/ITEM/hostname
INFLUXDB3_CLOUD_TOKEN=op://VAULT/ITEM/token
INFLUXDB3_CLOUD_BUCKET=op://VAULT/ITEM/bucket
INFLUXDB3_CLOUD_ORG=op://VAULT/ITEM/org

Run the live tests through 1Password so the token exists only in the test process environment:

op run --env-file ~/.config/claire/cloud-serverless.env -- \
  pnpm run test:integration:cloud-serverless

You can instead copy env.cloud-serverless.example to the ignored .env.cloud-serverless.local file and set the MCP runtime variables there. Then run pnpm run test:integration:cloud-serverless directly.

To use another plaintext credentials file, set INFLUX_TEST_ENV_FILE:

INFLUX_TEST_ENV_FILE=/path/to/serverless.env pnpm run test:integration:cloud-serverless

GitHub Actions runs the same command with the existing URL and token secrets from the cloud-serverless environment. The workflow selects the mcp-ci-tests bucket explicitly.

Database Retention Policy Examples

Core/Enterprise - Set 90-day Retention

// Set 90-day retention policy on Enterprise instance
await mcp.update_database({
  name: "my_database",
  retentionPeriod: 7776000000000000, // 90 days in nanoseconds
});

Cloud Dedicated - Update Multiple Settings

// Update retention, maxTables, and maxColumnsPerTable
await mcp.update_database({
  name: "my_database",
  retentionPeriod: 7776000000000000, // 90 days
  maxTables: 1000,
  maxColumnsPerTable: 250,
});

Common Retention Periods

Duration

Nanoseconds

7 days

604,800,000,000,000

30 days

2,592,000,000,000,000

90 days

7,776,000,000,000,000

180 days

15,552,000,000,000,000

1 year

31,536,000,000,000,000


Support & Troubleshooting

  • 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.

Write errors

write_line_protocol surfaces InfluxDB's own error text, not a generic message. If InfluxDB rejects a write — a duplicate tag key, an unauthenticated token, a payload over the size limit — the tool error includes the specific reason, for example:

Bad request: invalid line protocol - multiple instances of 'region' tag found

A 503 reaching this server is phrased as retryable (Service temporarily unavailable, retry the write: ...) — safe to retry the write. Any other status is not.

InfluxDB 3.11 compatibility

Verified against InfluxDB 3.11.5 Core and Enterprise, including a multi-node Enterprise cluster). Core and Enterprise write through POST /api/v3/write_lp, which 3.11's write-availability changes for the legacy /api/v2/write endpoint do not affect; only clustered calls /api/v2/write. Query and schema-discovery tools behave the same whether the target database is on Parquet (Core, or Enterprise before an upgrade) or PachaTree (Enterprise 3.11+ by default, or after --upgrade-pacha-tree) — new system.pt_* tables are excluded from get_measurements/get_measurement_schema results by the same table_schema = 'iox' filter that already excludes other system tables.

Core and Enterprise create named admin tokens through POST /api/v3/configure/token/named_admin. Named admin tokens accept an optional expiration in seconds. Only Enterprise supports resource tokens, so the MCP server doesn't advertise resource-token tools for Core connections.


Publishing to the MCP Registry

Stable GitHub releases publish the npm package first, then register io.github.influxdata/influxdb3-mcp-server in the official MCP Registry. The registry stores metadata; clients install the server from npm. GitHub OIDC authenticates the release job using id-token: write, so no additional registry secret is needed. Releases marked as prereleases or with - in their tag skip registry publishing.

Before tagging a release, update package.json, src/config.ts, the latest CHANGELOG.md entry, and both version fields in server.json together. Keep package.json's mcpName equal to server.json's name. Check locally:

node scripts/check-versions.js
bash scripts/install-mcp-publisher.sh /tmp/mcp-publisher
/tmp/mcp-publisher validate

The installer pins and verifies the Linux amd64 publisher used in CI. The validate command contacts the registry and checks metadata without publishing. CI runs these checks, and the npm release job also checks the versions and tag. The first registry release must use a freshly published npm version containing mcpName; an existing npm version cannot be updated to add it.

After publishing, verify the release at each destination:

  • npm: The exact package version must exist and include the expected mcpName.

  • Docker Hub: The image tagged with the release version must be available.

  • MCP Registry: The exact version endpoint must return the expected server name and version. The registry release job automates this check.

From the release checkout, verify npm and the registry manually:

version="$(node -p "require('./package.json').version")"
pnpm view "@influxdata/influxdb3-mcp-server@$version" version mcpName
docker manifest inspect "influxdata/influxdb3-mcp-server:$version"
curl --fail --silent --show-error \
  "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.influxdata%2Finfluxdb3-mcp-server/versions/$version" \
  | jq --exit-status --arg version "$version" \
    '.server.name == "io.github.influxdata/influxdb3-mcp-server" and .server.version == $version'

With valid database environment variables configured, also smoke-test the exact published npm version using MCP Inspector:

npx @modelcontextprotocol/inspector --cli \
  npx -y "@influxdata/influxdb3-mcp-server@$version" --method tools/list

Metadata validation checks the registry description; the smoke test checks that the published package initializes and advertises tools. Keep the release-note verification checklist unchecked until the corresponding checks pass.

If registry publishing fails after npm succeeds, rerun only the failed registry job; rerunning the successful npm job would try to publish an existing version.

License

MIT

Available Tools

25 tools
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"}]

NameRequiredDescriptionDefault
descriptionYesDescription/name for the token
permissionsNoArray of permission objects. Each object specifies database and action. Leave empty array [] for no-access token.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the permission structure, wildcard usage, and the option for a no-access token, which adds value. However, it does not mention security implications, that the token may be shown only once, or what happens on invalid input. The description adequately explains the core behavior but omits some operational consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it opens with the main purpose, then explains the permissions format, and lists examples. It is slightly longer than ideal but every sentence contributes necessary information, especially the examples. It is concise for the complexity involved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has two parameters with full schema descriptions, and the description adds detailed permission examples, making it sufficiently complete for invocation. It lacks any mention of the response format (e.g., what the API returns), but since there is no output schema, that is a gap. Overall, for a creation tool with well-documented inputs, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by providing a detailed permission format, examples for no-access, read-only, mixed, and full-access tokens, and clarifying the wildcard '*' behavior. This enriches the parameters with practical usage semantics that the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a new database token for InfluxDB Cloud-Dedicated/Clustered cluster.' It uses a specific verb ('Create') and resource ('database token'), and distinguishes it from sibling tools like cloud_delete_database_token and create_admin_token by focusing on database tokens with per-database permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the context (Cloud-Dedicated/Clustered) and provides concrete examples of how to use permissions. While it does not explicitly name alternatives or say when not to use this tool, the permission format and examples make its intended use clear. It implies this is the tool for creating database-scoped tokens, contrasting with admin or resource tokens.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloud_delete_database_tokenA

Delete a database token from InfluxDB Cloud-Dedicated/Clustered cluster. This action cannot be undone.

NameRequiredDescriptionDefault
token_idYesThe ID of the token to delete

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It discloses 'This action cannot be undone,' which is a critical irreversible trait. However, it does not mention permissions, potential cascading effects, or what happens to the token's associated resources, leaving the disclosure incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the core action and then add the key irreversible caveat. No wasted words or irrelevant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter delete operation with no output schema and no annotations, the description adequately covers purpose and the most important caveat (irreversibility). It does not explain prerequisites or return behavior, but these are less critical for a delete tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single parameter 'token_id' as 'The ID of the token to delete.' The tool description does not add further meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete'), the resource ('database token'), and the specific environment ('InfluxDB Cloud-Dedicated/Clustered cluster'), which distinguishes it from the generic 'delete_token' sibling. This is a specific verb+resource+scope definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for deleting database tokens in a Cloud-Dedicated/Clustered environment, providing clear context. However, it does not explicitly contrast it with the sibling 'delete_token' or state when not to use it, so it lacks explicit alternatives/exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloud_get_database_tokenA

Get details of a specific database token by ID for InfluxDB Cloud-Dedicated/Clustered cluster.

NameRequiredDescriptionDefault
token_idYesThe ID of the token to retrieve

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It clearly indicates a read operation ('Get details'), but it does not disclose what happens if the token is not found, whether the full token value is returned, or any permissions required. This is adequate but lacks richer behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence that directly states the tool's purpose and scope. No fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter get tool, the description and schema together are reasonably complete. The agent knows the required parameter and the resource type. However, the absence of an output schema means the return format ('details') remains vague, so it's not a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (token_id is fully described in the schema), so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Get details of a specific database token by ID.' It clearly differentiates from sibling tools like list, create, update, and delete database tokens by focusing on retrieving a single token by its ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by ID' implies the tool is for fetching one specific token, and the context of Cloud-Dedicated/Clustered clusters helps. However, it does not explicitly mention alternatives like cloud_list_database_tokens for listing all tokens, so when-to-use guidance is only implied rather than clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloud_list_database_tokensA

List all database tokens for InfluxDB Cloud-Dedicated/Clustered cluster. Returns token information including permissions and creation dates.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It clearly indicates a read-only listing operation and mentions returned fields (permissions, creation dates), but omits authentication requirements, error conditions, or scope limitations. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, two sentences, and front-loaded with the action ('List all database tokens'). It adds no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description states the tool's scope and key return fields, which is good for a simple list tool. It could mention pagination or boundaries of 'all', but the core functionality is covered adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so parameter semantics are not applicable. The description clarifies what the tool lists and returns, which is sufficient given the parameterless schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists database tokens for InfluxDB Cloud-Dedicated/Clustered clusters, specifying the resource (database tokens) and scope. It distinguishes itself from sibling tools like list_admin_tokens by focusing on database tokens.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context (targets cloud-dedicated/clustered clusters) but does not explicitly mention when to use this tool versus alternatives like list_admin_tokens or list_resource_tokens. The name implies usage, but no direct guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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"}]

NameRequiredDescriptionDefault
token_idYesThe ID of the token to update
descriptionNoNew description for the token (optional)
permissionsNoArray of permission objects. Each object specifies database and action. Use empty array [] for no-access token.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden. It discloses a critical behavioral trait: 'Permissions completely replace existing ones - include all desired permissions.' This is valuable. However, it does not clarify whether omitted fields (like description) remain unchanged, nor does it mention response behavior, authorization requirements, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a clear opening sentence, a permissions format note, and bulleted examples. It is slightly padded with phrases like 'with precise control' that add little value, but overall the content is purposeful and the examples earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main operational detail (permission replacement) and provides examples, which is good for a moderate-complexity tool. However, it lacks information about the return value or success/failure response, and it does not explicitly state that omitting optional fields leaves them unchanged. Given no output schema and no annotations, these gaps leave the description incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds substantial value by explaining the permissions format in detail, providing concrete examples (no-access, read-only, mixed, full access), and clarifying the replacement semantics. This goes beyond the schema's generic 'Array of permission objects'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a clear verb+resource phrase: 'Update an existing database token for InfluxDB Cloud-Dedicated/Clustered cluster.' It explicitly states what can be updated (description and/or permissions) and distinguishes itself from sibling tools like cloud_create_database_token and cloud_delete_database_token.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear this tool is for updating existing tokens, and it provides essential usage guidance about permissions replacing existing ones. However, it does not explicitly mention alternatives or when-not-to-use (e.g., 'use create for new tokens'), though the context with sibling tools makes this somewhat implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameNoOptional name for the admin token (e.g., "backup-admin-token"). If not provided, a unique name will be generated.
expiry_secsNoOptional expiration time in seconds. If omitted, the token doesn't expire.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral disclosure. It usefully states permission scope and an important limitation (cannot manage other admin tokens), but it omits auth requirements and how the generated token secret is handled, which are important for a privileged credential tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. The key purpose, permission scope, edition restriction, and limitation are all communicated efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a privileged credential-creation tool with no annotations and no output schema, the description covers purpose and permission boundaries but omits auth prerequisites and return-value behavior (e.g., whether the token secret is surfaced). It is adequate but incomplete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both optional parameters are already well documented. The description adds no additional parameter syntax or constraints beyond what the schema provides, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Create'), resource ('InfluxDB named admin token'), and scope ('full administrative permissions'), with parenthetical edition gating. It also distinguishes what the token can and cannot manage, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies creation of an admin token and notes Core/Enterprise-only availability, but does not explicitly state when to choose this over sibling tools like cloud_create_database_token or regenerate_operator_token. Usage is inferable but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
nameYesName of the database to create (alphanumeric, -, _, / allowed; max 64 chars; must start with letter/number)
maxTablesNoMaximum number of tables (Cloud Dedicated/Clustered only, default: 500)
descriptionNoDescription for the bucket/database (Cloud Serverless only)
retentionPeriodNoRetention period in nanoseconds (Cloud Dedicated/Clustered: default 0 = no expiration, Cloud Serverless: default 30 days)
maxColumnsPerTableNoMaximum columns per table (Cloud Dedicated/Clustered only, default: 200)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It adds value by detailing naming rules and cloud-specific parameter applicability, which are behavioral constraints. However, it does not mention permissions, side effects (e.g., what happens if the database already exists), or whether the operation is reversible, leaving gaps that are typically expected for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and is concise at about four sentences. It efficiently summarizes naming rules and cloud-specific parameters, though some content duplicates the schema descriptions. Overall, it earns its place without being bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, no annotations, and no output schema, the description is adequate but not complete. It explains naming constraints and parameter applicability, but it omits the return value, error behavior, and prerequisites (e.g., authentication). Given the lack of structured annotations, these gaps make it only minimally viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with detailed descriptions for all five parameters, including cloud-specific notes. The description's grouping of parameters by cloud type is helpful but largely redundant with the schema descriptions, so it adds only marginal semantic value beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with 'Create a new database in InfluxDB', a specific verb+resource statement. This clearly distinguishes it from sibling tools like update_database, delete_database, and list_databases, so there is no ambiguity about its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about which parameters apply to Cloud Dedicated/Clustered vs Cloud Serverless, guiding the agent on what to use in different environments. However, it does not explicitly state when this tool should be used instead of alternatives or mention any exclusions, such as checking if a database already exists first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_databaseA

Delete a database from InfluxDB. Use the exact database name as returned by the list_databases tool.

NameRequiredDescriptionDefault
nameYesName of the database to delete (use exact name from database list)

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavioral traits. It states the action but does not explicitly mention that the deletion is permanent, cannot be undone, or that it removes all data in the database. It also does not address permission requirements or error conditions, which is a significant gap for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no redundant information. It front-loads the core function and adds a practical usage tip, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description covers the main action and parameter sourcing, but omits details about the permanence of deletion and potential error scenarios. Given the simplicity, the description is adequate but could be enhanced with a note on irreversible consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single 'name' parameter with a description. The description adds value by instructing the agent to use the exact database name returned by list_databases, providing a reliable source for the parameter value. This goes beyond the schema's basic field description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource ('Delete a database from InfluxDB'), distinguishing it from sibling tools like create_database, update_database, and list_databases. The added guidance about using the exact name from list_databases reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (when a database needs to be deleted) and offers a specific prerequisite (use the exact database name from list_databases). It does not explicitly mention when not to use it or enumerate alternatives, but no direct alternatives are apparent among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_tokenB

Delete an InfluxDB token by name (Core/Enterprise only).

NameRequiredDescriptionDefault
token_nameYesName of the token to delete (required)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose side effects. It indicates the action (delete) but does not mention irreversibility, permission requirements, or consequences, leaving important behavioral context out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence that is front-loaded with the action and scope, with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too sparse to be fully complete; it omits return behavior, error conditions, and token type clarity, and offers no guidance on successful deletion outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents token_name with description (100% coverage). The description adds no new information beyond echoing 'by name', so it meets the baseline without adding value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool deletes an InfluxDB token by name and specifies it is Core/Enterprise only, distinguishing it from cloud token deletion sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a scoping constraint (Core/Enterprise only) implying it is not for Cloud, but it does not name alternative tools or specify when to use this versus other token deletion options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
dbYesDatabase name containing the table
tableYesTable or measurement name to describe

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It adds a key behavioral trait: 'Unknown tag/field roles are returned as category=unknown instead of guessed.' This clarifies non-guessing behavior. However, it does not disclose other aspects like return format, error handling, or read-only safety, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose, followed by a clear usage directive. No filler or redundant repetition of schema fields. Every sentence earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description must carry more weight. It explains the purpose, a key behavior, and a usage scenario, which is decent. However, it does not describe the returned schema structure or error behavior, leaving some contextual gaps for an agent to fully rely on it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters (db, table). The description adds no additional parameter semantics beyond the existing schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Describe table schema using InfluxDB metadata.' It distinguishes its behavior by noting unknown roles are returned as 'category=unknown' rather than guessed. However, it does not explicitly differentiate from the similarly named sibling tool 'get_measurement_schema', so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage context: 'Use this before retrying SQL queries that fail on quoted wildcard or unknown-field selectors.' It gives a clear workflow instruction: 'expand matching fields explicitly and run one bounded query_sql.' It does not mention when not to use it or alternatives, but the guidance is specific and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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:

  • GROUP BY: Include all group columns in SELECT (e.g., SELECT place, COUNT(*) ... GROUP BY place)

  • Aggregations: Cast and alias COUNT (e.g., CAST(COUNT(*) AS DOUBLE) AS count)

  • Note: Both products require CAST for all aggregation functions (COUNT, SUM, AVG, MIN, MAX) to ensure results appear properly in response

NameRequiredDescriptionDefault
queryYesSQL query to execute.
formatNoOutput format for query results. On Cloud Dedicated, Cloud Serverless, and Clustered, this tool supports only JSON.json
databaseYesName of the database/bucket to query

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it discloses deprecation status, the default JSON output, that Cloud Dedicated/Serverless/Clustered support only JSON, and a large-dataset safety protocol (COUNT(*) first, then LIMIT/OFFSET). It stops short of describing error behavior, authentication requirements, or pagination/truncation semantics of the response, which keeps it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Deprecation and the sibling hand-off are correctly front-loaded, and the version-specific requirements are grouped under a heading. It loses a point for redundancy, since the advice to use query_sql appears in both the opening and the closing lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter tool with no output schema and no annotations, the description covers the important failure modes: version-gated format support, unsafe result sizes, and SQL dialect differences that would otherwise produce malformed queries. Return-value structure is only partly described, but the main operational risks are addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning about the `query` parameter: version-specific SQL rules for GROUP BY column inclusion and CAST/alias requirements for aggregations, plus the row-volume strategy. That is query-construction semantics the schema does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Execute a SQL query against an InfluxDB database") and immediately scopes it against the sibling query_sql and, implicitly, query_influxql. An agent can distinguish this from the other query tools without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says the tool is deprecated since 2.0.0 and that query_sql should be used for SQL, while giving a concrete reason to still call it (compatibility with existing clients) and a second routing condition ("For bounded reads that report completeness, use query_sql"). The guidance is clear, but the twice-repeated hand-off to query_sql without saying when execute_query is the correct choice beyond legacy compatibility leaves mild ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_helpA

Get help and troubleshooting guidance for InfluxDB operations. Supports specific categories or keyword search.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It mentions support for 'specific categories or keyword search', which is a behavioral trait, but lacks details about how the tool actually behaves (e.g., whether it returns a list, requires follow-up, or has restrictions). This is minimal but not absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences. Every word is informative and no filler exists. The structure is clean and easily parsed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description conveys the core purpose but omits practical details like how the 'keyword search' is initiated given no parameters. It is adequate but leaves questions about the interaction model, so it is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no schema detail to augment. The description's mention of categories and keyword search adds context that could guide invocation, though it is somewhat underspecified. Baseline for 0 parameters is 4, and the description does not detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'help and troubleshooting guidance for InfluxDB operations', using a specific verb and resource. It is distinct from sibling tools, which are all operational (queries, tokens, databases), so the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a help resource but does not explicitly state when to prefer it over other tools or any exclusions. The phrase 'Supports specific categories or keyword search' hints at interaction modes but stops short of clear guidance on when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_measurementsA

Get a list of all measurements (tables) in a database/bucket (all versions). Uses the InfluxDB information_schema.columns to discover tables.

NameRequiredDescriptionDefault
databaseYesName of the database/bucket to list measurements from

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the tool uses InfluxDB's information_schema.columns, implying a read-only metadata query. However, it does not clarify permissions, response format, or the exact meaning of 'all versions', leaving behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the core action and includes a useful technical detail about how discovery works, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter list tool, the description covers the main purpose and mechanism. Minor ambiguity around 'all versions' and lack of return structure keep it from being fully complete, but it is sufficient for most invocation scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the 'database' parameter with 100% coverage. The description only repeats 'database/bucket' and adds no extra constraints or format details, warranting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of all measurements (tables) in a database/bucket, using a specific verb and resource. It also distinguishes itself from sibling tools like list_tables by specifying InfluxDB context and 'all versions', making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when you need to discover measurements in an InfluxDB database/bucket. However, it does not explicitly mention alternatives or when not to use it, leaving some room for misinterpretation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_measurement_schemaA

Get the schema (column information) for a specific measurement/table (all versions). Shows column names, types, and categories (time/tag/field).

NameRequiredDescriptionDefault
databaseYesName of the database/bucket containing the measurement
measurementYesName of the measurement to describe

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description is responsible for behavioral disclosure. It states it 'Shows column names, types, and categories' which implies a read-only operation, and adds the behavioral nuance of returning schema for 'all versions'. However, it does not mention potential errors, pagination, or limits, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, two sentences long, and front-loads the action ('Get the schema...'). Every word adds value, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only schema retrieval tool with two parameters and no output schema, the description covers the return value fields (column names, types, categories) and version scope. It could be enhanced by clarifying the relationship to similar sibling tools, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both 'database' and 'measurement' have clear descriptions). The tool description adds no additional parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the specific resource: the schema (column information) for a specific measurement/table. It further details what is shown (column names, types, categories) and includes the scope '(all versions)', distinguishing it from a simple 'describe' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: use this tool to retrieve schema information for a measurement. However, there is no explicit guidance on when to use this vs. similar siblings like 'describe_table' or 'list_tables', and no mention of alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden, and it does add real context: health and ping are distinct endpoints, any success confirms health, and a denied credential does not prove permitted databases are down. It still omits what a response looks like, whether latency/status fields are returned, and whether this touches credentials or state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with no filler, and the core action leads. Some phrasing ('Check health and ping separately') is compressed to the point of ambiguity, which slightly undercuts front-loading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-param, no-output-schema probe, the description should explain the shape of the result or at least what counts as a failure. It provides useful interpretation caveats but leaves the agent unable to predict the response, and there are no annotations to cover the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the description correctly introduces no parameter discussion, so there is nothing to mis-describe. Baseline for a 0-parameter tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening 'Check health and ping separately' indicates a health-check operation, but it never states what is being checked (the server? a database? a cluster endpoint?) and the word 'separately' is ambiguous — it may describe two distinct endpoints or two modes. An agent can infer a liveness probe, but not the target resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus siblings like investigate_database, load_database_context, or query_sql, and no prerequisites. The sentences about credential denial and client initialization guide interpretation of results rather than use, which is useful but not selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

investigate_databaseB

Discover tables and schemas in a database, optionally sampling recent rows from each table with bounded reads.

NameRequiredDescriptionDefault
dbYesDatabase name to investigate
maxTablesNo
includeSamplesNoWhether to include recent sample rows
sampleWindowHoursNoLook back this many hours from investigation start.
sampleRowsPerTableNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Bounded reads' usefully signals that sampling is capped rather than a full table scan, which is real behavioral information, but there is no disclosure of read-only safety, required permissions, or the cost/latency of sampling many tables at once.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-packed sentence with the core capability front-loaded and no filler. It could be marginally tighter by separating the discovery mode from the sampling mode, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter exploration tool with no output schema and no annotations, the description should say what comes back (table names, column schemas, sample shape) and what maxTables/default-20 truncation implies. It covers the two operating modes but leaves the result contract and partial-coverage caveats unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%: db, includeSamples, and sampleWindowHours are documented inline, while maxTables and sampleRowsPerTable are not. The description supplies partial compensation by saying sampling happens 'from each table' and is 'bounded', hinting at per-table limits, but it never explains what maxTables truncation means for completeness of the discovery result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Discover tables and schemas in a database', plus an optional sampling mode. An agent can tell it is an exploration tool rather than a query executor, but it never names list_tables or describe_table, which occupy adjacent ground in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'optionally sampling recent rows' implies when to set includeSamples, but there is no explicit when-to-use versus list_tables, describe_table, or query_sql, and no guidance on when sampling is wasteful. Usage must be inferred from the name and the word 'investigate'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
tokenNameNoOptional filter to search for tokens with names containing this text (case-insensitive partial match)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the transparency burden. It implies a read-only listing operation and provides useful context about named admin tokens' access, but it does not disclose return format, permissions, or any side effects. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that front-load the core action. Each sentence adds relevant information: the listing scope and the nature of admin tokens.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and no output schema. The description covers the purpose, filtering, licensing constraint, and token context. It does not explain the return structure, which would be helpful without an output schema, but the overall completeness is strong for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the tokenName parameter with a case-insensitive partial-match filter. The description only repeats that filtering is optional, adding little beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all admin tokens (operator and named), with optional filtering. It explicitly distinguishes itself from sibling tools like list_resource_tokens by specifying 'admin tokens' and the operator/named distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys its use case by naming the resource type and mentions the 'Core/Enterprise only' constraint. However, it does not explicitly mention alternatives or when not to use it, though the scope is clear from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_databasesA

List databases visible to this credential. Visibility completeness and permissions to read individual databases remain unknown unless independently observed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does add a meaningful caveat: visibility may be incomplete and read permissions are unknown unless independently observed. This is valuable honesty for a zero-parameter listing tool, though it omits return shape and any ordering or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the scope stated first and the caveat second. No filler, and each sentence contributes information about how to interpret the result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-parameter list tool with no output schema, the description covers purpose and a key limitation. It could say more about what a result entry contains (name, id, status), but nothing critical to invoking the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema baseline of 4 applies. There are no parameter semantics for the description to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("List databases") and scopes it to credentials, which clearly distinguishes it from mutation siblings like create_database or delete_database. It does not explicitly name a sibling alternative, but the resource is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The credential-visibility scope implies when this tool is relevant, but there is no explicit guidance on when to prefer it over siblings such as list_tables or investigate_database. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tablesA

List tables, also called measurements, in an InfluxDB database.

NameRequiredDescriptionDefault
dbYesDatabase name to inspect

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. The word 'List' implies a non-mutating read operation, and the clarification 'also called measurements' adds terminological context. However, it does not mention pagination, authentication, or whether the output includes all tables by default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the verb and resource. Every word earns its place, and there is no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description is adequate: it states what is listed and where. It could mention that the output is a list of table names, but this is strongly implied by the verb 'List' and the context is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single parameter 'db' with description 'Database name to inspect', so schema coverage is 100%. The tool description adds no additional parameter semantics beyond restating that the operation is within an InfluxDB database, which is already clear from the parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' with a clear resource ('tables, also called measurements') and scope ('in an InfluxDB database'). This clearly distinguishes it from sibling tools like list_databases and describe_table, even though get_measurements may overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as get_measurements or query_sql. The description only states what the tool does, offering no context about when it is preferred or when other tools should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It mentions the conditional nature ('if available') and the optional context, but does not explicitly state that it is a non-modifying read operation or describe what happens after loading (e.g., whether it returns data or sets internal state). This is a moderate gap for a simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action and followed by value rationale. Every sentence serves a purpose: the first states what it does, the second explains when and why. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, no output schema), the description is mostly complete: it explains purpose, timing, and optionality. However, it does not specify what the tool returns or how the context is delivered (e.g., as a string, or loaded into memory), which leaves a small gap for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters, so the baseline is 4. The description adds meaningful context about what the loaded data contains (e.g., 'database structure, business context, or personal notes'), which implicitly clarifies that the tool itself does not require inputs. There are no parameters to elaborate on.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Check for and load custom database context if available.' It uses a specific verb ('load') and resource ('database context'), and distinguishes itself from sibling tools by highlighting its role as an optional context provider that should be checked first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides usage guidance: 'Always check this first as it can significantly speed up analysis and clarify data nuances.' This tells the agent when to use the tool (before analysis) and why, while noting context is optional—so no misuse if absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
qNoRead-only InfluxQL query to run. Provide q or query; if both are present, they must agree.
dbNoDatabase name to query. Provide db or database; if both are present, they must agree.
queryNoAlias for q; provide one or equal values.
formatNoOutput format for query results. Core and Enterprise return json, jsonl, or csv; Cloud Dedicated, Cloud Serverless, and Clustered return json. Other formats are refused with unsupported_query_format.json
paramsNoOptional query parameters to pass through
maxRowsNoMaximum rows to return. Default 1000; hard max 5000.
databaseNoAlias for db; provide one or equal values.
timeoutMsNoOptional query timeout in milliseconds

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so well: it states read-only and bounded behavior, rejects SELECT INTO and destructive statements, explains alias conflict rejection, describes deployment-dependent output formats, and says results include rows, warnings, and metadata. It also tells the agent what must be reported from the results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the sentences are information-dense rather than padded. It is somewhat packed with multiple operational details, but each item is relevant to correct invocation and result handling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex query tool with no annotations and no output schema, the description covers the important gaps: what it runs, what it refuses, how aliases behave, deployment-dependent formats, what the response contains, and how to interpret completeness and warnings. It also points to get_help for deeper reading guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by explaining alias equivalence and rejection of conflicting db/database or q/query pairs, plus output-format availability by deployment and the JSON default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Run one bounded, read-only InfluxQL query against an InfluxDB 3 database.' It also explicitly distinguishes this tool from query_sql and frames the scope around InfluxQL rather than generic query execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to prefer query_sql for SQL prompts and to use InfluxQL regex field selection only when the user explicitly asks for InfluxQL or regex field matching. That is clear routing guidance with an exclusion condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault
qNoRead-only SQL query to run. Provide q or query; if both are present, they must agree.
dbNoDatabase name to query. Provide db or database; if both are present, they must agree.
queryNoAlias for q; provide one or equal values.
formatNoOutput format for query results. Core and Enterprise return json, jsonl, or csv; Cloud Dedicated, Cloud Serverless, and Clustered return json. Other formats are refused with unsupported_query_format.json
paramsNoOptional query parameters to pass through
maxRowsNoMaximum rows to return. Default 1000; hard max 5000.
databaseNoAlias for db; provide one or equal values.
timeoutMsNoOptional query timeout in milliseconds

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden and does: read-only, single/bounded execution, JSON default, per-deployment format support, and the required reporting contract (metadata.completeness, cap, warnings, row_count). It also discloses that conflicting alias pairs are rejected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and constraint, and every sentence carries operational information. The middle section is dense and long-sentenced, but none of it is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, no-output-schema query tool, the description covers return shape (structured rows, warnings, query metadata), format availability, alias handling, and a recovery path, plus a pointer to get_help for result interpretation. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds semantics the schema lacks, notably that db/database and q/query alias pairs must agree or be rejected, and that non-JSON formats are refused on Cloud/Clustered deployments. It does not restate maxRows fallback or timeout behavior beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb, resource, and constraint set: "Run one bounded, read-only SQL query against an InfluxDB 3 database." It also separates itself from the sibling query_influxql by naming that tool and its distinct use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: use query_influxql "only when the user explicitly asks for InfluxQL or regex field selection." It also gives a concrete fallback workflow (call describe_table, expand fields, retry one bounded query) for wildcard-in-quoted-selector cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It explicitly states the token is invalidated, the action is irreversible, returns the new token value, and requires explicit user confirmation before proceeding. This covers key behavioral consequences and prerequisites beyond what the tool name alone implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: purpose, return value, and critical warnings. It is front-loaded with the action and resource, followed by necessary cautionary notes. No redundant or vague filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (0 params, no output schema) and the description fully covers what it does, what it returns ('the new token value'), and the critical downside (invalidates current token, irreversible). The confirmation requirement is also included, making the description complete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so the baseline is 4. The description adds no parameter details because none exist, which is appropriate and sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Regenerate the InfluxDB operator token' which is a specific verb+resource combination. It also scopes to 'Core/Enterprise only,' distinguishing it from sibling tools like create_admin_token or cloud_create_database_token. The focus on 'operator token' uniquely identifies its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is for Core/Enterprise, requires explicit user confirmation, and emphasizes irreversibility. It does not explicitly name alternatives or exclusions, but the 'only' scope and uniqueness of the operator token implicitly guide usage. It falls short of a 5 by not mentioning when not to use or alternative token operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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+).

NameRequiredDescriptionDefault
nameYesName of the database/bucket to update
newNameNoNew name for the database/bucket (Cloud Serverless only)
maxTablesNoMaximum number of tables (Cloud Dedicated/Clustered only)
descriptionNoDescription for the bucket (Cloud Serverless only)
retentionPeriodNoRetention period in nanoseconds (Cloud Dedicated/Clustered, Cloud Serverless, and Core/Enterprise)
maxColumnsPerTableNoMaximum columns per table (Cloud Dedicated/Clustered only)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses product-specific limitations (e.g., Core/Enterprise can only modify retentionPeriod) and the Core v3.2.0+ requirement, adding meaningful behavioral context. It does not mention authorization, reversibility, or side effects, but the included constraints provide more than minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the core purpose, and the second efficiently maps product variants to allowed fields. Every clause earns its place with no filler or redundancy, and it is structured to front-load the primary intent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the parameter count (6) and no output schema, the description covers all major usage scenarios across InfluxDB product types and includes version constraints. It does not describe return values or error cases, but for a configuration update tool with strong parameter schema coverage, the provided context is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents each parameter with 100% coverage, so the description need not repeat definitions. It adds value by grouping parameters by product type, clarifying that fields like maxTables and maxColumnsPerTable are only for Cloud Dedicated/Clustered, which is not immediately obvious from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates InfluxDB database configuration and specifies exact fields per product variant, which distinguishes it from sibling tools like create_database and delete_database. The verb 'update' plus the resource 'database configuration' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on which parameters to use for each InfluxDB product type (Cloud Dedicated/Clustered, Cloud Serverless, Core/Enterprise) and includes a version prerequisite. However, it does not explicitly contrast with alternative tools or state when not to use this tool, so it stops short of a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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:

  • measurement: table/measurement name (required)

  • tags: indexed metadata (optional) - comma-separated key=value pairs

  • fields: actual data (required) - space-separated from tags, comma-separated key=value pairs

  • timestamp: optional timestamp (precision must be specified in tool parameters)

Field Value Types:

  • Strings: "quoted string"

  • Floats: 123.45

  • Integers: 123i (note the 'i' suffix)

  • Booleans: t or f

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.

NameRequiredDescriptionDefault
dataYesLine protocol formatted data. For multiple records, separate each line with \n
noSyncNoAcknowledge without waiting for WAL persistence
databaseYesName of the database/bucket to write to
precisionYesPrecision of timestamps
acceptPartialNoAccept partial writes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It does this well by explaining line protocol syntax, field value types, timestamp precision requirements, and escaping needs. It also states 'all versions' and batch support. It lacks details on error handling or side effects beyond writing, but the write operation itself is clearly described with practical examples.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long (~200 words) but well-structured with clear sections (Line Protocol Syntax, Components, Field Value Types, Examples, Important). It front-loads the purpose and then provides necessary format details. Some redundancy, like repeating 'comma-separated key=value pairs,' but the structured format and examples justify the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (custom line protocol format), 5 parameters, no annotations, and no output schema, the description covers syntax, types, examples, precision, and escaping. It does not explicitly state return values or error behavior, but for a write tool this is reasonably complete. The presence of a detailed schema further supplements parameter usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds substantial value beyond the schema by explaining the line protocol structure, field types (strings, floats, integers with 'i', booleans), and the importance of matching precision to timestamp format. These details directly help construct the 'data' parameter correctly, which the schema description only handles at a high level.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Write data to InfluxDB using line protocol format (all versions).' It clearly distinguishes from sibling query tools by indicating this is for writing data, not reading or managing. The line protocol format is explicitly named, making the tool's core function unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: it supports single records or batches and emphasizes precision handling and escaping. While it doesn't explicitly mention alternatives, the sibling tools are predominantly read/query/management operations, so the usage context is clear. No explicit when-not-to-use guidance, but the detailed examples and syntax instructions inherently guide correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv2.0.0
    • Changedcreate_admin_token1 field changed
      • addedInput schema / properties / expiry_secs
        Added value: +{
        +  "description": "Optional expiration time in seconds. If omitted, the token doesn't expire.",
        +  "minimum": 1,
        +  "type": "number"
        +}
    • Removedcreate_resource_token
    • Changedexecute_query1 field changed
      • changedInput schema / properties / format / description
        Previous value: -"Output format for query results"New value: +"Output format for query results. On Cloud Dedicated, Cloud Serverless, and Clustered, this tool supports only JSON."
    • Changedinvestigate_database3 fields changed
      • changedInput schema / properties / maxTables / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / properties / sampleRowsPerTable / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / sampleWindowHours
        Added value: +{
        +  "default": 24,
        +  "description": "Look back this many hours from investigation start.",
        +  "maximum": 8760,
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Removedlist_resource_tokens
    • Changedquery_influxql9 fields changed
      • addedInput schema / properties / database
        Added value: +{
        +  "description": "Alias for db; provide one or equal values.",
        +  "type": "string"
        +}
      • changedInput schema / properties / db / description
        Previous value: -"Database name to query"New value: +"Database name to query. Provide db or database; if both are present, they must agree."
      • changedInput schema / properties / format / description
        Previous value: -"Output format for query results"New value: +"Output format for query results. Core and Enterprise return json, jsonl, or csv; Cloud Dedicated, Cloud Serverless, and Clustered return json. Other formats are refused with unsupported_query_format."
      • changedInput schema / properties / maxRows / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / params / anyOf
        Added value: +[
        +  {
        +    "type": "object"
        +  },
        +  {
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / q / description
        Previous value: -"Read-only InfluxQL query to run"New value: +"Read-only InfluxQL query to run. Provide q or query; if both are present, they must agree."
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Alias for q; provide one or equal values.",
        +  "type": "string"
        +}
      • changedInput schema / properties / timeoutMs / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "db",
        -  "q"
        -]New value: +[]
    • Changedquery_sql9 fields changed
      • addedInput schema / properties / database
        Added value: +{
        +  "description": "Alias for db; provide one or equal values.",
        +  "type": "string"
        +}
      • changedInput schema / properties / db / description
        Previous value: -"Database name to query"New value: +"Database name to query. Provide db or database; if both are present, they must agree."
      • changedInput schema / properties / format / description
        Previous value: -"Output format for query results"New value: +"Output format for query results. Core and Enterprise return json, jsonl, or csv; Cloud Dedicated, Cloud Serverless, and Clustered return json. Other formats are refused with unsupported_query_format."
      • changedInput schema / properties / maxRows / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / params / anyOf
        Added value: +[
        +  {
        +    "type": "object"
        +  },
        +  {
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / q / description
        Previous value: -"Read-only SQL query to run"New value: +"Read-only SQL query to run. Provide q or query; if both are present, they must agree."
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Alias for q; provide one or equal values.",
        +  "type": "string"
        +}
      • changedInput schema / properties / timeoutMs / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / required
        Previous value: -[
        -  "db",
        -  "q"
        -]New value: +[]
  2. 27 tool updatesv1.4.1-test.1
    • First observedcloud_create_database_token
    • First observedcloud_delete_database_token
    • First observedcloud_get_database_token
    • First observedcloud_list_database_tokens
    • First observedcloud_update_database_token
    • First observedcreate_admin_token
    • First observedcreate_database
    • First observedcreate_resource_token
    • First observeddelete_database
    • First observeddelete_token
    • First observeddescribe_table
    • First observedexecute_query
    • First observedget_help
    • First observedget_measurement_schema
    • First observedget_measurements
    • First observedhealth_check
    • First observedinvestigate_database
    • First observedlist_admin_tokens
    • First observedlist_databases
    • First observedlist_resource_tokens
    • First observedlist_tables
    • First observedload_database_context
    • First observedquery_influxql
    • First observedquery_sql
    • First observedregenerate_operator_token
    • First observedupdate_database
    • First observedwrite_line_protocol

TDQS

B3.4/5.0

Scored across 25 tools

Disambiguation2/5

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.

Naming Consistency3/5

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.

Tool Count3/5

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.

Completeness4/5

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.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A Model Context Protocol server that provides Claude with access to InfluxDB time-series database instances, enabling data writing, querying, and management of organizations and buckets through natural language.
    4
    791 npm
    46
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with InfluxDB v3 (Core/Enterprise/Cloud Dedicated) through MCP clients. Supports database management, data querying and writing, schema inspection, and token administration operations.
    791 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    InfluxDB-v1-MCP is a powerful Model Context Protocol (MCP) interface specifically designed for InfluxDB v1.x, enabling AI assistants to intelligently manage and query time-series databases.
    Apache 2.0