Skip to main content
Glama
Analytics-model-LTD

snowflake-analytics-mcp-server

snowflake-analytics-mcp-server

Analytics Model 플랫폼을 위해 구축된 SnowflakeModel Context Protocol 서버입니다. 공식 snowflake-sdk 드라이버를 통해 Snowflake에 연결하며(Oracle 서버와 달리 클라이언트 바이너리가 필요 없는 순수 Node 기반), stdio를 통해 테이블 검색 및 쿼리 도구를 제공합니다. npx로 직접 실행할 수 있습니다.

list_tables 도구는 플랫폼의 정확한 테이블 검색 envelope을 반환하므로, Clio, Dropbox, Shopify 서버와 동일한 fetchMcpTables 흐름에 바로 통합됩니다.

설치

npm install -g snowflake-analytics-mcp-server
# or run directly (no install):
npx -y snowflake-analytics-mcp-server

구성

모든 자격 증명은 환경 변수에서 가져옵니다.

변수

필수 여부

기본값

설명

SNOWFLAKE_ACCOUNT

계정 식별자, 예: xy12345.eu-central-1 또는 orgname-account_name

SNOWFLAKE_USERNAME

로그인 이름

SNOWFLAKE_PASSWORD

✅ (비밀번호 인증)

비밀번호(키-페어/OAuth를 사용하지 않는 경우 필수)

SNOWFLAKE_WAREHOUSE

사용할 가상 웨어하우스

SNOWFLAKE_DATABASE

권장

기본 데이터베이스(list_tables에서 인수가 없을 때 사용)

SNOWFLAKE_SCHEMA

권장

기본 스키마

SNOWFLAKE_ROLE

맡을 역할

SNOWFLAKE_AUTHENTICATOR

SNOWFLAKE

SNOWFLAKE(비밀번호), SNOWFLAKE_JWT(키-페어), OAUTH

SNOWFLAKE_PRIVATE_KEY

키-페어

PEM 개인 키 내용

SNOWFLAKE_PRIVATE_KEY_PATH

키-페어

PEM 개인 키 파일 경로(위 항목의 대안)

SNOWFLAKE_PRIVATE_KEY_PASSPHRASE

키가 암호화된 경우의 암호문

SNOWFLAKE_TOKEN

OAuth

OAuth 액세스 토큰(SNOWFLAKE_AUTHENTICATOR=OAUTH와 함께)

SNOWFLAKE_READ_ONLY

true

execute_query에서 쓰기/DDL을 차단합니다. 허용하려면 false로 설정

SNOWFLAKE_ROW_LIMIT

1000

반환되는 행 수의 상한

QUERY_TIMEOUT_MS

60000

클라이언트 측 쿼리 시간 초과

계정 식별자 팁

클라이언트 연결에 문제가 있는 경우 계정 식별자에 밑줄 대신 하이픈을 사용하세요(예: orgname-account-name).

Claude Desktop 구성

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "snowflake": {
      "command": "npx",
      "args": ["-y", "snowflake-analytics-mcp-server"],
      "env": {
        "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
        "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
        "SNOWFLAKE_PASSWORD": "••••••••",
        "SNOWFLAKE_WAREHOUSE": "COMPUTE_WH",
        "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
        "SNOWFLAKE_SCHEMA": "PUBLIC",
        "SNOWFLAKE_ROLE": "ANALYST"
      }
    }
  }
}

키-페어 인증 예시

"env": {
  "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
  "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
  "SNOWFLAKE_AUTHENTICATOR": "SNOWFLAKE_JWT",
  "SNOWFLAKE_PRIVATE_KEY_PATH": "/path/to/rsa_key.p8",
  "SNOWFLAKE_PRIVATE_KEY_PASSPHRASE": "••••••••",
  "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
  "SNOWFLAKE_SCHEMA": "PUBLIC"
}

도구

도구

인수

설명

list_tables

database?, schema?, include_views?

플랫폼 계약. fetchMcpTables용 이중 래핑 envelope에서 { table_name }[]을 반환

test_connection

버전, 계정, 사용자, 역할, 웨어하우스, 데이터베이스, 스키마 반환

list_databases

현재 역할에 표시되는 데이터베이스

list_schemas

database?

데이터베이스의 스키마

list_warehouses

크기/상태가 포함된 웨어하우스

describe_table

table, database?, schema?

열, 유형, null 허용 여부, 기본값

get_table_sample

table, database?, schema?, limit?

테이블의 미리보기 행

execute_query

query

SQL 실행. SNOWFLAKE_READ_ONLY=false가 아니면 읽기 전용

플랫폼 통합 참고 사항

list_tables는 Shopify/Clio 서버에서 사용하는 확인된 envelope과 일치합니다:

{
  "is_success": true,
  "status_code": 200,
  "data": "[{\"table_name\":\"ORDERS\"},{\"table_name\":\"CUSTOMERS\"}]", // double-stringified
  "message": "Found 2 table(s).",
  "requestedPayload": { "database": "ANALYTICS_DB", "schema": "PUBLIC", "include_views": true }
}

Snowflake는 임의의 사용자 테이블을 노출하므로(각각 list_<resource> 도구가 있던 Clio의 고정 리소스 카테고리와 달리) 테이블별 도구가 없습니다. 사용자가 플랫폼에서 테이블을 선택하면 백엔드는 테이블 이름을 딴 도구를 호출하는 대신 get_table_sample(미리보기) 또는 execute_query(SELECT * FROM <table>)를 통해 해당 행을 가져와야 합니다. 행 가져오기 단계를 연결하기 전에 이 매핑을 백엔드와 확인하세요.

라이선스

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

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/Analytics-model-LTD/snowflake-analytics-mcp-server'

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