MCP Trino Server

by alaturqua
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports Apache Iceberg table maintenance and metadata inspection, including optimizing tables, managing snapshots, viewing table history, and inspecting partitions and data files.

  • Provides seamless integration with Trino for interactive data exploration, executing SQL queries, catalog/schema navigation, and retrieving query results in formatted outputs.

MCP 트리노 서버

MCP Trino 서버는 Trino와 Iceberg와의 원활한 통합을 제공하는 MCP(Model Context Protocol) 서버로, 표준 인터페이스를 통해 고급 데이터 탐색, 쿼리 및 테이블 유지 관리 기능을 제공합니다.

사용 사례

  • Trino에서의 대화형 데이터 탐색 및 분석
  • 자동화된 Iceberg 테이블 유지 관리 및 최적화
  • Trino 데이터베이스와 상호 작용하는 AI 기반 도구 구축
  • 적절한 결과 형식을 사용하여 SQL 쿼리 실행 및 관리

필수 조건

  1. 실행 중인 Trino 서버(또는 로컬 개발을 위한 Docker Compose)
  2. Python 3.11 이상
  3. Docker(컨테이너화된 배포를 위한 선택 사항)

설치

Trino를 로컬로 실행

시작하는 가장 쉬운 방법은 포함된 Docker Compose 구성을 사용하여 Trino를 로컬로 실행하는 것입니다.

지엑스피1

그러면 localhost:8080 에서 Trino 서버가 시작됩니다. 이제 MCP 서버 구성을 진행할 수 있습니다.

VS Code를 사용한 사용

빠른 설치를 위해 VS Code 설정에 다음 구성을 추가할 수 있습니다. Ctrl + Shift + P 를 누르고 Preferences: Open User Settings (JSON) 입력하면 됩니다.

원하는 경우, 작업 공간의 .vscode/mcp.json 파일에 추가할 수 있습니다. 이렇게 하면 다른 사용자와 구성을 공유할 수 있습니다.

.vscode/mcp.json 파일에는 mcp 키가 필요하지 않습니다.

{ "mcp": { "servers": { "trino": { "command": "docker", "args": ["run", "--rm", "ghcr.io/alaturqua/mcp-trino-python:latest"], "env": { "TRINO_HOST": "${input:trino_host}", "TRINO_PORT": "${input:trino_port}", "TRINO_USER": "${input:trino_user}", "TRINO_PASSWORD": "${input:trino_password}", "TRINO_HTTP_SCHEME": "${input:trino_http_scheme}", "TRINO_CATALOG": "${input:trino_catalog}", "TRINO_SCHEMA": "${input:trino_schema}" } } } } }

Claude Desktop과 함께 사용

Claude Desktop 설정에 다음 구성을 추가하세요.

{ "mcpServers": { "trino": { "command": "python", "args": ["./src/server.py"], "env": { "TRINO_HOST": "your-trino-host", "TRINO_PORT": "8080", "TRINO_USER": "trino" } } } }

구성

환경 변수

변하기 쉬운설명기본
트리노 호스트Trino 서버 호스트 이름로컬호스트
트리노_포트트리노 서버 포트8080
트리노_유저트리노 사용자 이름트리노
트리노_카탈로그기본 카탈로그없음
트리노_스키마기본 스키마없음
트리노_HTTP_스킴HTTP 스키마(http/https)http
트리노 비밀번호트리노 비밀번호없음

자원

서버는 다음과 같은 MCP 리소스를 제공합니다.

카탈로그 및 스키마 탐색

  • 카탈로그://메인 ( show_catalogs )
    • 사용 가능한 모든 Trino 카탈로그를 나열합니다.
    • 매개변수가 필요하지 않습니다
  • 스키마://{카탈로그} ( show_schemas )
    • 지정된 카탈로그의 모든 스키마를 나열합니다.
    • 매개변수:
      • catalog : 카탈로그 이름(문자열, 필수)
  • table://{catalog}/{schema} ( show_tables )
    • 지정된 스키마의 모든 테이블을 나열합니다.
    • 매개변수:
      • catalog : 카탈로그 이름(문자열, 필수)
      • schema : 스키마 이름(문자열, 필수)

도구

쿼리 및 탐색 도구

  • 실행_쿼리
    • SQL 쿼리를 실행하고 포맷된 결과를 반환합니다.
    • 매개변수:
      • query : 실행할 SQL 쿼리(문자열, 필수)
  • _카탈로그_트리
    • 카탈로그, 스키마 및 테이블의 계층적 트리 보기 표시
    • 시각적 표시기가 포함된 포맷된 트리 구조를 반환합니다.
    • 매개변수가 필요하지 않습니다
  • show_create_table
    • 테이블에 대한 CREATE TABLE 문을 표시합니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • _크리에이트_
    • 뷰에 대한 CREATE VIEW 문을 표시합니다.
    • 매개변수:
      • view : 뷰 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • _통계
    • 표에 대한 통계 표시
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)

빙산 테이블 유지 관리

  • 최적화하다
    • 작은 파일을 압축하여 Iceberg 테이블 최적화
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • 최적화 매니페스트
    • Iceberg 테이블에 대한 매니페스트 파일 최적화
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • 만료_스냅샷
    • Iceberg 테이블에서 이전 스냅샷 제거
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • retention_threshold : 연령 임계값(예: "7d")(문자열, 선택 사항)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)

빙산 메타데이터 검사

  • 테이블 속성 표시
    • Iceberg 테이블 속성 표시
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • _테이블_히스토리
    • Iceberg 테이블 기록/변경 로그 표시
    • 스냅샷 타이밍, 혈통 및 조상 정보가 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • 메타데이터 로그 항목 표시
    • Iceberg 테이블 메타데이터 로그 항목 표시
    • 메타데이터 파일 위치 및 시퀀스 정보가 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • _스냅샷
    • Iceberg 테이블 스냅샷 표시
    • 작업 및 매니페스트 파일을 포함한 스냅샷 세부 정보가 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • _매니페스트
    • 현재 또는 모든 스냅샷에 대한 Iceberg 테이블 매니페스트 표시
    • 매니페스트 파일 세부 정보 및 데이터 파일 통계가 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
      • all_snapshots : 모든 스냅샷 포함(부울, 선택 사항)
  • show_partitions
    • Iceberg 테이블 파티션 표시
    • 파티션 통계 및 파일 개수를 포함합니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • 파일 표시
    • 현재 스냅샷에 Iceberg 테이블 데이터 파일 표시
    • 자세한 파일 메타데이터와 열 통계를 포함합니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
  • show_entries
    • 현재 또는 모든 스냅샷에 대한 Iceberg 테이블 매니페스트 항목 표시
    • 항목 상태 및 자세한 파일 메트릭이 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)
      • all_snapshots : 모든 스냅샷 포함(부울, 선택 사항)
  • 참조 표시
    • Iceberg 테이블 참조(분기 및 태그) 표시
    • 참조 구성 및 스냅샷 매핑이 포함되어 있습니다.
    • 매개변수:
      • table : 테이블 이름(문자열, 필수)
      • catalog : 카탈로그 이름(문자열, 선택 사항)
      • schema : 스키마 이름(문자열, 선택 사항)

쿼리 기록

  • 쿼리 기록 표시
    • 실행된 쿼리의 기록을 가져옵니다
    • 매개변수:
      • limit : 반환할 최대 쿼리 수(숫자, 선택 사항)

특허

이 프로젝트는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 전체 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

Trino와 Iceberg와 원활하게 통합되어 표준 인터페이스를 통해 데이터 탐색, 쿼리 및 테이블 유지 관리를 가능하게 하는 모델 컨텍스트 프로토콜 서버입니다.

  1. Use Cases
    1. Prerequisites
      1. Installation
        1. Running Trino Locally
        2. Usage with VS Code
        3. Usage with Claude Desktop
      2. Configuration
        1. Environment Variables
      3. Resources
        1. Catalog and Schema Navigation
      4. Tools
        1. Query and Exploration Tools
        2. Iceberg Table Maintenance
        3. Iceberg Metadata Inspection
        4. Query History
      5. License
        ID: 4jlnxgg25k