The open-source Trino control plane your platform team wished existed — zero cold-start, instant clusters, MCP-native · Deploy now →
v1.5.1 · Apache 2.0 · Open Source

Trino control plane
and MCP server

One product. Two capabilities. Meridian is the Kubernetes-native control plane that manages your Trino clusters — and the MCP server that lets AI agents operate them.

Control Plane
Kubernetes operator — hot standby pool, instant reservation, autoscaling. Answers Trino #396 open since 2019.
+
MCP Server
19 tools for Claude Code, Claude Desktop and any MCP client, on the latest MCP spec. Answers Trino #26239 — no official MCP existed.
Get started → Read the docs
$ helm install meridian oci://ghcr.io/meridian-io/charts/meridian --version 1.5.1 -n meridian --create-namespace
19
MCP Tools
3
Controllers
3
CRDs
0s
Reservation delay
16
E2E scenarios per PR
Why Meridian
Everything your Trino platform is missing
⚡

Hot Standby Pool

Pre-provisioned clusters sit idle and are claimed instantly. No 30–90 second provisioning delay when a job needs a cluster.

🤖

MCP Server

19 tools for Claude Code, Claude Desktop, Cursor, and any MCP client. Follows the latest MCP spec (2026-07-28): one stateless /mcp endpoint that scales to many replicas. Older clients keep working.

☸️

Kubernetes Native

Three controllers, three CRDs, one Helm chart. Runs in any Kubernetes cluster. No external dependencies, no database, no sidecar.

🌐

Full REST API

Six mTLS-authenticated endpoints: list and filter clusters, get a cluster, list pools, scale replicas, reserve and release — all machine-to-machine.

📈

Auto-scaling

ClusterPoolAutoscaler watches reservation utilization and scales the pool up or down automatically with hysteresis.

🔒

Reservation TTL + Safety

Same clientId + reservationId always returns the same cluster. Crashed clients are handled automatically: reservations expire after a configurable TTL.

🛡️

Secure by Default

The MCP server requires a token and runs queries read-only. Tools that change clusters stay off until you enable them. The REST API uses mTLS, and pods run as non-root.

🔑

Credential Rotation

Rotate catalog credentials from Kubernetes Secrets, HashiCorp Vault, or AWS Secrets Manager. The catalog is swapped on the live cluster, with no restart.

🧪

Tested on Real Clusters

Every pull request installs the last release on Kubernetes, upgrades it, and runs 16 end-to-end scenarios with real Trino: queries, reservations, crashes, rotation, and rolling restarts.

Monitoring
See every pool at a glance
The Meridian Grafana dashboard: idle, reserved and starting clusters per pool over time, time to provision a cluster, reservation latency and reservations by result
  • Pools. Ready, reserved and starting clusters in every pool, against the size you asked for.
  • Reservations. How fast apps get a cluster, how often they wait, how long new clusters take to start, and why clusters were replaced.
  • AI agents. Which MCP tools agents call, how often calls fail, and the query cache hit rate.

Prometheus metrics are on by default. With the Prometheus Operator, one Helm setting connects them and another installs this Grafana dashboard. Ready-made alerts and report queries are in the tutorial.

Set up monitoring →
Use cases
Not just for AI agents
⚙️

CI/CD Pipelines

Reserve a fresh cluster per test run, release on completion. No shared state, no flaky tests from cluster contention.

GitHub Actions · Jenkins
🔀

Workflow Orchestrators

Manage cluster lifecycle as a DAG task. Reserve before the job, release after — same as any other resource.

Airflow · Dagster · Prefect
🏠

Internal Developer Portals

Expose cluster provisioning to app developers through a form. No kubectl access required.

Backstage · Cortex
📦

Infrastructure as Code

Declare cluster pools as versioned resources alongside the rest of your infrastructure.

Terraform · Pulumi
Cluster lifecycle
From empty to reserved in seconds
State machine
Empty
→
Pending
→
Idle
→
Reserved
→
Idle
· pool returns cluster automatically
Failed
→ pool cleans up
Degraded
→ auto-recycled
MCP Tools
19 tools: 12 on by default, 7 you switch on
list_clusters
get_cluster
create_cluster
delete_cluster
reserve_cluster
release_cluster
scale_pool
list_pools
add_catalog
remove_catalog
list_catalogs
list_schemas
list_tables
get_table_schema
execute_query
explain_query
rotate_credentials
get_audit_log
promote_environment
On by default Changes clusters: turn on with --enable-tools
$ claude mcp add --transport http meridian https://<your-host>/mcp --header "Authorization: Bearer <token>"
Long-standing community requests
Meridian answers two open Trino issues
trinodb/trino #396 · open since 2019

Build a Kubernetes Operator for Trino

The most requested infrastructure feature in the Trino project. Meridian ships three controllers and three CRDs, fully open source.

trinodb/trino #26239 · open

Add an official MCP Server

Meridian ships 19 MCP tools covering the full operational surface — cluster lifecycle, catalogs, credentials, queries, and audit.

Docker Images
Two images. One control plane.
🤖

trino-mcp-server

MCP server for AI agents, Claude Desktop, and CI/CD pipelines.

docker pull ghcr.io/meridian-io/trino-mcp-server:v1.5.1
☸️

trino-operator

Kubernetes operator — manages the full Trino cluster lifecycle.

docker pull ghcr.io/meridian-io/trino-operator:v1.5.1

Built for platform teams.
Open source forever.

Apache 2.0 · Self-hosted · No SaaS · No lock-in

Get started on GitHub → Request a feature