TrinoHub 0.3.0

Released 29 July 2026 · GitHub release

Added#

  • MCP nav view. A dedicated screen documenting how to connect an AI client: endpoint URL, transport, and auth header as copy-able fields; tabbed configuration for Claude Code, JSON-config clients, and curl; and an explicit list of what a connected client can and cannot do. The tool list is probed live from the control plane's own tools/list, so it cannot drift from the server.
  • Teradata JDBC connector, with driver upload and connection checks.
  • Trino cross-cluster connector, letting one cluster query another.
  • GCS and ADLS Iceberg storage for catalogs.
  • CloudFormation can now supply the Ask Trino OpenRouter key at install time.

Changed#

  • MCP tools return structured output. Every tool declares an outputSchema and returns structuredContent, so hosts receive typed fields instead of re-parsing JSON out of a text block. A text block is still sent for older clients.
  • MCP protocol version is negotiated rather than hardcoded. The server speaks revisions 2025-03-26, 2025-06-18, and 2025-11-25, echoing the client's requested revision when supported and validating the MCP-Protocol-Version header on subsequent requests.
  • MCP tools are annotated readOnlyHint / destructiveHint: false, so hosts can skip per-call confirmation prompts.
  • An unauthenticated request to /mcp now answers with a WWW-Authenticate: Bearer challenge instead of a bare 401.

Fixed#

  • tools/call no longer blocks the event loop. run_query polls for up to ~12 seconds and was being called inline from an async handler, stalling the entire control plane — including the UI and the poller — for that long. It now runs in a threadpool.
  • The Scheduled jobs nav item rendered a blank glyph because its clock icon was missing from the registry.

Upgrading#

No migration or configuration change is required. Existing MCP clients keep working: the endpoint still answers 2025-03-26 for clients that request it, and the text block in tool results is unchanged.

If you have restricted access with Allowed UI CIDRs, note that /mcp is gated by that same allowlist — a remote MCP client must connect from an allowed range. This was already true; the MCP screen now states it.