Trino's point is that one query can span catalogs; putting it behind an assistant that can first see which tables exist means a question about data in two systems is answered in one place.
A small Python server over Trino's own DBAPI client. It publishes the catalog's tables as resources so the assistant can see what exists and read their contents, and adds one tool for executing SQL against the cluster.
- The list of Trino tables, exposed as MCP resources
- Table contents readable through those resources
- A tool for executing arbitrary SQL queries against Trino
Python 3.9+, the `trino` driver and the MCP library. Connection details come from the environment: `TRINO_USER`, `TRINO_CATALOG` and `TRINO_SCHEMA` are required, `TRINO_HOST` defaults to `localhost` and `TRINO_PORT` to 8080, and `TRINO_PASSWORD` is optional depending on how your cluster authenticates. The client runs it with `uv --directory <path> run mcp_server_trino`. Since the SQL tool is arbitrary, the Trino user you configure decides what an assistant can actually reach.
