Skip to content

Normalize query options across Cloud Dedicated, InfluxDB Clustered, and Cloud Serverless #89

Description

@jstirnaman

Problem

The MCP query surface advertises one params and timeoutMs contract, but QueryService currently exposes transport-specific behavior:

  • Cloud Dedicated and Cloud Serverless use the Flight client, which forwards named scalar params but does not provide a per-query timeout option.
  • InfluxDB Clustered uses an HTTP /query route, which currently receives both params and an Axios timeout.

This leaks implementation details through the public MCP contract. It also risks conflating InfluxDB Clustered (a distinct product) with an InfluxDB 3 Enterprise cluster.

Expected behavior

Give query_sql and query_influxql a transport-independent query-options contract across Cloud Dedicated, InfluxDB Clustered, and Cloud Serverless.

The implementation may use different transports internally, but callers should see consistent behavior for params and timeoutMs. If an option truly cannot be supported, handle it consistently and explicitly at the MCP boundary rather than silently dropping it or varying by route.

Acceptance criteria

  • Routing/capability tests cover Cloud Dedicated, InfluxDB Clustered, and Cloud Serverless separately.
  • The three products have consistent observable handling for params and timeoutMs on each supported query language.
  • SQL and InfluxQL select an appropriate backend transport; do not treat the v1-compatible /query endpoint as a generic SQL route.
  • Errors for genuinely unsupported options are stable, documented, and returned before dispatch.
  • Product terminology consistently distinguishes InfluxDB Clustered from an InfluxDB 3 Enterprise cluster.

Related

Follow-up to #84.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions