mcp-snowflake-server

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

  • Provides database interaction with Snowflake, enabling SQL query execution, table management, and schema exploration. Includes tools for reading data, modifying data (with appropriate permissions), creating tables, listing available tables, and describing table structures.

Snowflake MCP 서버


개요

Snowflake와 데이터베이스 간 상호작용을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 도구를 통해 SQL 쿼리를 실행하고 데이터 인사이트와 스키마 컨텍스트를 리소스로 제공합니다.


구성 요소

자원

  • memo://insights
    발견된 데이터 통찰력을 집계하여 지속적으로 업데이트되는 메모입니다.
    append_insight 도구를 통해 새로운 통찰력이 추가되면 자동으로 업데이트됩니다.
  • context://table/{table_name}
    (사전 페치가 활성화된 경우) 열과 주석을 포함한 테이블별 스키마 요약이 개별 리소스로 표시됩니다.

도구

서버는 다음 도구를 제공합니다.

쿼리 도구

  • read_query
    SELECT 쿼리를 실행하여 데이터베이스에서 데이터를 읽습니다.
    입력:
    • query (문자열): 실행할 SELECT SQL 쿼리
      반환: 객체 배열로 쿼리 결과
  • write_query ( --allow-write 로만 활성화됨)
    INSERT , UPDATE 또는 DELETE 쿼리를 실행합니다.
    입력:
    • query (문자열): SQL 수정 쿼리
      반환: 영향을 받은 행 수 또는 확인
  • create_table ( --allow-write 로만 활성화됨)
    데이터베이스에 새로운 테이블을 만듭니다.
    입력:
    • query (문자열): CREATE TABLE SQL 문
      반환: 테이블 생성 확인

스키마 도구

  • list_databases
    Snowflake 인스턴스의 모든 데이터베이스를 나열합니다.
    반환: 데이터베이스 이름 배열
  • list_schemas
    특정 데이터베이스 내의 모든 스키마를 나열합니다.
    입력:
    • database (문자열): 데이터베이스 이름
      반환: 스키마 이름 배열
  • list_tables
    특정 데이터베이스와 스키마 내의 모든 테이블을 나열합니다.
    입력:
    • database (문자열): 데이터베이스 이름
    • schema (문자열): 스키마의 이름
      반환: 테이블 메타데이터 배열
  • describe_table
    특정 테이블의 열 정보를 봅니다.
    입력:
    • table_name (문자열): 정규화된 테이블 이름( database.schema.table )
      반환: 이름, 유형, Null 허용 여부, 기본값 및 주석이 포함된 열 정의 배열

분석 도구

  • append_insight
    메모 리소스에 새로운 데이터 통찰력을 추가합니다.
    입력:
    • insight (문자열): 분석을 통해 발견된 데이터 통찰력
      반환: 통찰력 추가 확인
      효과: memo://insights 리소스 업데이트를 트리거합니다.

Claude Desktop과 함께 사용

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 Snowflake Server를 자동으로 설치하는 방법:

지엑스피1


UVX를 통해 설치

"mcpServers": { "snowflake_pip": { "command": "uvx", "args": [ "--python=3.12", // Optional: specify Python version <=3.12 "mcp_snowflake_server", "--account", "your_account", "--warehouse", "your_warehouse", "--user", "your_user", "--password", "your_password", "--role", "your_role", "--database", "your_database", "--schema", "your_schema" // Optionally: "--allow_write" // Optionally: "--log_dir", "/absolute/path/to/logs" // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"] ] } }

로컬 설치

  1. Claude AI 데스크톱 앱 설치
  2. uv 설치 :
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Snowflake 자격 증명으로 .env 파일을 만듭니다.
SNOWFLAKE_USER="xxx@your_email.com" SNOWFLAKE_ACCOUNT="xxx" SNOWFLAKE_ROLE="xxx" SNOWFLAKE_DATABASE="xxx" SNOWFLAKE_SCHEMA="xxx" SNOWFLAKE_WAREHOUSE="xxx" SNOWFLAKE_PASSWORD="xxx" # Alternatively, use external browser authentication: # SNOWFLAKE_AUTHENTICATOR="externalbrowser"
  1. [선택 사항] runtime_config.json 수정하여 데이터베이스, 스키마 또는 테이블에 대한 제외 패턴을 설정합니다.
  2. 로컬로 테스트:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server
  1. claude_desktop_config.json 에 서버를 추가합니다.
"mcpServers": { "snowflake_local": { "command": "/absolute/path/to/uv", "args": [ "--python=3.12", // Optional "--directory", "/absolute/path/to/mcp_snowflake_server", "run", "mcp_snowflake_server" // Optionally: "--allow_write" // Optionally: "--log_dir", "/absolute/path/to/logs" // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"] ] } }

노트

  • 기본적으로 쓰기 작업은 비활성화되어 있습니다 . --allow-write 사용하여 명시적으로 활성화하세요.
  • 서버는 제외 패턴을 통해 특정 데이터베이스, 스키마 또는 테이블을 필터링하는 기능을 지원합니다.
  • 사전 페칭이 활성화된 경우 서버는 추가적인 테이블별 컨텍스트 리소스를 노출합니다.
  • append_insight 도구는 memo://insights 리소스를 동적으로 업데이트합니다.

특허

MIT

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

읽기 및 (선택 사항) 쓰기 작업과 통찰력 추적을 구현하는 Snowflake 통합

  1. Overview
    1. Components
      1. Resources
      2. Tools
    2. Usage with Claude Desktop
      1. Installing via Smithery
      2. Installing via UVX
      3. Installing Locally
    3. Notes
      1. License
        ID: 1z9lezliya