Skip to main content
Glama

Snowflake MCP 서버

대장간 배지 PyPI - 버전


개요

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


Related MCP server: Datadog MCP Server

구성 요소

자원

  • 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

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacwasserman/mcp-snowflake-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server