Skip to content

v2.0.0

Choose a tag to compare

@jstirnaman jstirnaman released this 24 Oct 21:59
· 9 commits to main since this release
Immutable release. Only release title and notes can be modified.

InfluxDB 3 MCP Server 2.0.0

Version 2.0.0 adds query completeness reporting, permission-aware discovery, and recovery guidance for agents. It also fixes query-tool loading in Claude Code.

Breaking changes and migration

This release changes query result envelopes, health-check output, validation errors, and telemetry fields. If your client parses these responses, update it to follow the [read-only output contract](https://github.com/influxdata/influxdb3_mcp_server/blob/v2.0.0/docs/read-only-output-contract.md).

  • Check metadata.completeness: complete, capped, or interrupted. A successful request alone doesn’t establish a complete answer.
  • For capped results, read cap and cap_source (server_bound or query_limit).
  • The response field truncated remains available. Telemetry replaces it with completeness and cap_source.
  • Health checks return JSON and distinguish credential denial from endpoint failure.
  • Invalid arguments return structured invalid_arguments tool errors.

Query results and recovery

  • Results capped by maxRows are correctly reported as capped.
  • Interrupted responses return ok: false with query_interrupted. JSON responses preserve whole rows received before the interruption.
  • The format field reports the returned format. A format_mismatch warning identifies differences from the requested format.
  • Read-only queries support JSON, JSONL, and CSV on Core and Enterprise. Cloud Serverless, Cloud Dedicated, and Clustered support JSON. Unsupported formats are rejected before execution.
  • Unsupported Flight SQL timeouts and parameters return unsupported_query_option.
  • Query errors provide recovery guidance for incorrect references, ingest-only endpoints, and observed memory-exhaustion failures.
  • EXPLAIN ANALYZE bounds the query and reports that it executes it.
  • get_help explains how to interpret query results.

Discovery and investigation

  • Core and Enterprise report observed column roles from system.influxdb_schema.
  • When your credential can read _internal, table descriptions and investigations report schema mode and deletion flags with catalog provenance.
  • Unavailable metadata remains unknown. Timestamp-shaped table names produce advisory tombstone warnings.
  • Investigation preserves per-table failures, reports truncation and request budgets, and samples recent rows within a configurable time window.
  • Cardinality estimation returns unsupported_option.

Fixes

  • Claude Code loads query_sql and query_influxql after removal of top-level input-schema combinators.
  • Both tools accept database as an alias for db and query as an alias for q. Missing or conflicting pairs fail validation before querying.
  • Read-only validation accepts keywords and semicolons inside string literals or quoted identifiers, including SELECT 'DROP TABLE metrics' AS note.
  • Empty server error bodies retain the HTTP client’s error message.
  • MCP Registry publishing waits for npm validation before registering the package.

The query and discovery changes are in [#140](#140). Registry publishing is fixed in [#136](#136).

Deprecated

execute_query is deprecated. Use query_sql for bounded, read-only SQL queries with completeness metadata.

Existing clients can continue using execute_query with unchanged behavior. Removal requires a future major release after at least 90 days or two InfluxDB 3 minor releases, whichever is longer.

Build and dependency updates

Development, CI, Docker builds, and release packaging use pinned pnpm and pnpm-lock.yaml. Packages continue to publish to npm.

Dependency updates include MCP SDK 1.32.0, Hono 4.13.13, follow-redirects 1.16.1, protobufjs 7.6.6, proxy-addr 2.0.8, source-map-js 1.2.2, Vite 8.3.5, Vitest 4.1.12, and ip-address 10.7.4.

Verification limits

Unclassified server failures return recovery: none. Server timeout and backpressure classifications, partial per-table denial, and failures after streaming begins retain their documented verification limits.

[Full changelog: v1.4.2 → v2.0.0](v1.4.2...v2.0.0)