Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-trino

一个MCP服务器,它通过Model-Control-Protocol提供对数据资源的访问,能够使用Python列出和查询Trino表。

article

README

Trino MCP Server

This repository provides an MCP (Model-Control-Protocol) server that allows you to list and query tables via Trino using Python.

Overview

  • MCP: MCP is a protocol for bridging AI models, data, and tools. This example MCP server provides:
    • A list of Trino tables as MCP resources
    • Ability to read table contents through MCP
    • A tool for executing arbitrary SQL queries against Trino
  • Trino: A fast, distributed SQL query engine for big data analytics. This server makes use of Trino’s Python client (trino.dbapi) to connect to a Trino host, catalog, and schema.

Requirements

  • Python 3.9+ (or a version compatible with mcp, trino, and asyncio)
  • trino (the Python driver for Trino)
  • mcp (the Model-Control-Protocol Python library)

Configuration

The server reads Trino connection details from environment variables:

| Variable | Description | Default | |------------------|----------------------------------------------------------------------|------------| | TRINO_HOST | Trino server hostname or IP | localhost| | TRINO_PORT | Trino server port | 8080 | | TRINO_USER | Trino user name | required | | TRINO_PASSWORD | Trino password (optional, depends on your authentication setup) | (empty) | | TRINO_CATALOG | Default catalog to use (e.g., hive, tpch, postgresql, etc.) | required | | TRINO_SCHEMA | Default schema to use (e.g., default, public, etc.) | required |

Usage

{
  "mcpServers": {
    "trino": {
      "command": "uv",
      "args": [
        "--directory", 
        "<path_to_mcp_server_trino>",
        "run",
        "mcp_server_trino"
      ],
      "env": {
        "TRINO_HOST": "<host>",
        "TRINO_PORT": "<port>",
        "TRINO_USER": "<user>",
        "TRINO_PASSWORD": "<password>",
        "TRINO_CATALOG": "<catalog>",
        "TRINO_SCHEMA": "<schema>"
      }
    }
  }
}

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client