LABSCO SUMMARY
Query the lakehouse without leaving the conversation.
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.
What it is
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.
What you get
- The list of Trino tables, exposed as MCP resources
- Table contents readable through those resources
- A tool for executing arbitrary SQL queries against Trino
Requirements
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 pointed at your clone of the repository, then run mcp_server_trino. Since the SQL tool is arbitrary, the Trino user you configure decides what an assistant can actually reach.
Setup effort
Build from source — git clone https://github.com/Dataring-engineering/mcp-server-trino.git
USE CASES
01
Answering a question that spans systems
Trino federates the catalogs, so one query reaches data that lives in more than one place.
02
Finding out what tables you have
The table list is exposed as resources, so the assistant reads what exists before writing SQL against it.
03
Exploring a schema you did not build
Read table contents through the resources to see the shape of the data before querying it properly.
04
Keeping access bounded
The configured Trino user is what the assistant inherits, so scope that account to the catalogs it should reach.
BEFORE YOU INSTALL
What to know first
Requires
- Python 3.9+
- TRINO_USER in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
TERMINAL
git clone https://github.com/Dataring-engineering/mcp-server-trino.git
cd mcp-server-trinoMCP Clients
Any MCP client
ANY MCP CLIENT · JSON
{
"mcpServers": {
"trino": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_SERVER_TRINO>",
"run",
"mcp_server_trino"
],
"env": {
"TRINO_HOST": "<YOUR_TRINO_HOST>",
"TRINO_PORT": "<YOUR_TRINO_PORT>",
"TRINO_USER": "<YOUR_TRINO_USER>",
"TRINO_PASSWORD": "<YOUR_TRINO_PASSWORD>",
"TRINO_CATALOG": "<YOUR_TRINO_CATALOG>",
"TRINO_SCHEMA": "<YOUR_TRINO_SCHEMA>"
}
}
}
}