Skip to main content

Read-only MCP server for Snowflake databases

Project description

MCP Snowflake Reader

English | 한국어

English

A read-only MCP server for Snowflake databases. This server provides secure, read-only access to Snowflake databases through the MCP protocol.

Features

  • Read-only access to Snowflake databases
  • Secure connection handling
  • Access control for databases, schemas, and tables
  • Docker support
  • MCP protocol compliance

Prerequisites

  • Python 3.10 or higher
  • Docker (optional)
  • Snowflake account with appropriate permissions

Installation

# Clone the repository
git clone https://github.com/fnf-deepHeading/mcp-snowflake-reader.git
cd mcp-snowflake-reader

# Install dependencies
pip install -r requirements.txt

Usage

Running with Docker

docker build -t mcp-snowflake-reader .
docker run -e MCP_SNOWFLAKE_CONNECTION='{"account":"USER_ACCOUNT.ap-northeast-2.aws","user":"USER_NAME","password":"USER_PASSWORD","warehouse":"USER_WAREHOUSE","database":"USER_DATABASE","role":"USER_ROLE","port":"443"}' mcp-snowflake-reader

Running directly

python main.py --connection '{"account":"USER_ACCOUNT.ap-northeast-2.aws","user":"USER_NAME","password":"USER_PASSWORD","warehouse":"USER_WAREHOUSE","database":"USER_DATABASE","role":"USER_ROLE","port":"443"}'

API Endpoints

  • list_databases: List all accessible databases
  • list_schemas: List all accessible schemas in a database
  • list_tables: List all accessible tables in a schema
  • get_table_schema: Get the schema of a specific table
  • query: Execute a read-only query

Security

  • Read-only access only
  • Access control at database, schema, and table levels
  • Secure connection handling
  • No write operations allowed

Korean

Snowflake 데이터베이스에 대한 읽기 전용 MCP 서버입니다. 이 서버는 MCP 프로토콜을 통해 Snowflake 데이터베이스에 대한 안전한 읽기 전용 접근을 제공합니다.

주요 기능

  • Snowflake 데이터베이스 읽기 전용 접근
  • 안전한 연결 처리
  • 데이터베이스, 스키마, 테이블 수준의 접근 제어
  • Docker 지원
  • MCP 프로토콜 준수

사전 요구사항

  • Python 3.10 이상
  • Docker (선택사항)
  • 적절한 권한이 있는 Snowflake 계정

설치 방법

# 저장소 클론
git clone https://github.com/fnf-deepHeading/mcp-snowflake-reader.git
cd mcp-snowflake-reader

# 의존성 설치
pip install -r requirements.txt

사용 방법

Docker로 실행

docker build -t mcp-snowflake-reader .
docker run -e MCP_SNOWFLAKE_CONNECTION='{"account":"USER_ACCOUNT.ap-northeast-2.aws","user":"USER_NAME","password":"USER_PASSWORD","warehouse":"USER_WAREHOUSE","database":"USER_DATABASE","role":"USER_ROLE","port":"443"}' mcp-snowflake-reader

직접 실행

python main.py --connection '{"account":"USER_ACCOUNT.ap-northeast-2.aws","user":"USER_NAME","password":"USER_PASSWORD","warehouse":"USER_WAREHOUSE","database":"USER_DATABASE","role":"USER_ROLE","port":"443"}'

API 엔드포인트

  • list_databases: 접근 가능한 모든 데이터베이스 목록 조회
  • list_schemas: 데이터베이스 내의 모든 접근 가능한 스키마 목록 조회
  • list_tables: 스키마 내의 모든 접근 가능한 테이블 목록 조회
  • get_table_schema: 특정 테이블의 스키마 조회
  • query: 읽기 전용 쿼리 실행

보안

  • 읽기 전용 접근만 허용
  • 데이터베이스, 스키마, 테이블 수준의 접근 제어
  • 안전한 연결 처리
  • 쓰기 작업 불가

제한사항

  • 읽기 전용 작업만 허용됩니다
  • 테이블 이름은 영숫자, 언더스코어, 점만 허용됩니다
  • 다음 SQL 키워드는 금지됩니다:
    • INSERT
    • UPDATE
    • DELETE
    • DROP
    • TRUNCATE
    • ALTER
    • CREATE
    • GRANT
    • REVOKE
    • COMMIT
    • ROLLBACK
  • 접근 제어가 설정된 경우, 허용된 데이터베이스, 스키마, 테이블만 접근 가능합니다

라이선스

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_snowflake_reader-0.1.6.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_snowflake_reader-0.1.6-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_snowflake_reader-0.1.6.tar.gz.

File metadata

File hashes

Hashes for mcp_snowflake_reader-0.1.6.tar.gz
Algorithm Hash digest
SHA256 dc66265469fa1ceaf35e20868b1f82db6899a8a89d8fe7edcfa7a32fdad9a11d
MD5 896f9607ca88a3f8cc370bff7971d53d
BLAKE2b-256 4e4979d8969b732cd4be98a266f625e40ac593efa53d26cf0b5d8494bb8ad688

See more details on using hashes here.

File details

Details for the file mcp_snowflake_reader-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_snowflake_reader-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 689cffebf2c01c185b2153dacdfa5b6a8b1829e34ee76d8c13154b6eb5ed8ffc
MD5 63439a7e62ca0a4ef659b2c5b5ea1450
BLAKE2b-256 a2b386aff14fac2b1ffd00c0ff84c05622b22194cc491ffa4a5c96aa2e526803

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page