MCP Snowflake Reader

MCP Snowflake Reader

By fnf-deepHeading GitHub

A Model Context Protocol (MCP) server that provides secure, read-only access to Snowflake databases. Allows LLMs to safely query tables and describe schemas without write permissions. Built with Python and the official Snowflake SDK.

Overview

What is MCP Snowflake Reader?

MCP Snowflake Reader is a read-only Model Context Protocol (MCP) server that provides secure access to Snowflake databases, allowing users to query tables and describe schemas without write permissions.

How to use MCP Snowflake Reader?

To use MCP Snowflake Reader, you can either run it using Docker or directly with Python. You need to set up a connection string with your Snowflake account details.

Key features of MCP Snowflake Reader?

  • Secure, read-only access to Snowflake databases
  • Compliance with MCP protocol
  • Access control for databases, schemas, and tables
  • Docker support for easy deployment
  • API endpoints for listing databases, schemas, tables, and executing read-only queries

Use cases of MCP Snowflake Reader?

  1. Securely querying Snowflake databases without risk of data modification.
  2. Providing read-only access to data for analytics and reporting.
  3. Enabling LLMs to interact with Snowflake databases safely.

FAQ from MCP Snowflake Reader?

  • Can I write data using MCP Snowflake Reader?

No, MCP Snowflake Reader only allows read-only access to ensure data integrity.

  • What are the prerequisites for using MCP Snowflake Reader?

You need Python 3.10 or higher and a Snowflake account with appropriate permissions.

  • Is Docker required to run MCP Snowflake Reader?

No, Docker is optional; you can also run it directly with Python.

Content

MCP Snowflake Reader

English | 한국어

smithery badge

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: Secure read-only access to Snowflake databases

Setup

Snowflake Connection

The Snowflake connection information should be provided as a JSON string in the following format:

{
  "account": "your-account",
  "user": "your-user",
  "password": "your-password",
  "warehouse": "your-warehouse",
  "database": "your-database",
  "schema": "your-schema",
  "role": "your-role"
}

MCP Client Configuration

Add the following configuration to your MCP client settings file (Cursor AI or Claude):

Docker
{
  "mcpServers": {
    "mcp-snowflake-reader": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp-snowflake-reader",
        "--connection",
        "{\"account\":\"your-account\",\"user\":\"your-user\",\"password\":\"your-password\",\"warehouse\":\"your-warehouse\",\"database\":\"your-database\",\"schema\":\"your-schema\",\"role\":\"your-role\"}"
      ]
    }
  }
}
UVX
{
  "mcpServers": {
    "mcp-snowflake-reader": {
      "command": "uvx",
      "args": [
        "mcp-snowflake-reader",
        "--connection",
        "{\"account\":\"your-account\",\"user\":\"your-user\",\"password\":\"your-password\",\"warehouse\":\"your-warehouse\",\"database\":\"your-database\",\"schema\":\"your-schema\",\"role\":\"your-role\"}"
      ]
    }
  }
}

Installing via Smithery

To install Snowflake Reader for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @fnf-deepHeading/mcp-snowflake-reader --client claude

Limitations

  • Only read-only operations are allowed
  • Table names can only contain alphanumeric characters, underscores, and dots
  • The following SQL keywords are prohibited:
    • INSERT
    • UPDATE
    • DELETE
    • DROP
    • TRUNCATE
    • ALTER
    • CREATE
    • GRANT
    • REVOKE
    • COMMIT
    • ROLLBACK

License

This project is licensed under the MIT License - see the LICENSE file for details.

Korean

Snowflake 데이터베이스의 테이블을 읽어오는 MCP(Microservice Control Protocol) 서버입니다.

주요 기능

  • 읽기 전용 접근: Snowflake 데이터베이스에 대한 안전한 읽기 전용 접근

설정

Snowflake 연결 정보

Snowflake 연결 정보는 다음과 같은 형식으로 JSON 문자열로 제공됩니다:

{
  "account": "your-account",
  "user": "your-user",
  "password": "your-password",
  "warehouse": "your-warehouse",
  "database": "your-database",
  "schema": "your-schema",
  "role": "your-role"
}

MCP 클라이언트 설정

Cursor AI나 Claude와 같은 MCP 클라이언트의 설정 파일에 다음 설정을 추가하세요:

Docker
{
  "mcpServers": {
    "mcp-snowflake-reader": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp-snowflake-reader",
        "--connection",
        "{\"account\":\"your-account\",\"user\":\"your-user\",\"password\":\"your-password\",\"warehouse\":\"your-warehouse\",\"database\":\"your-database\",\"schema\":\"your-schema\",\"role\":\"your-role\"}"
      ]
    }
  }
}
UVX
{
  "mcpServers": {
    "mcp-snowflake-reader": {
      "command": "uvx",
      "args": [
        "mcp-snowflake-reader",
        "--connection",
        "{\"account\":\"your-account\",\"user\":\"your-user\",\"password\":\"your-password\",\"warehouse\":\"your-warehouse\",\"database\":\"your-database\",\"schema\":\"your-schema\",\"role\":\"your-role\"}"
      ]
    }
  }
}

Smithery 사용하여 설치

Smithery를 통해 Claude Desktop에서 Snowflake Reader를 자동으로 설치하려면:

npx -y @smithery/cli install @fnf-deepHeading/mcp-snowflake-reader --client claude

제한사항

  • 읽기 전용 작업만 허용됩니다
  • 테이블 이름은 영숫자, 언더스코어, 점만 허용됩니다
  • 다음 SQL 키워드는 금지됩니다:
    • INSERT
    • UPDATE
    • DELETE
    • DROP
    • TRUNCATE
    • ALTER
    • CREATE
    • GRANT
    • REVOKE
    • COMMIT
    • ROLLBACK

라이선스

이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.

No tools information available.
No content found.