MCP Snowflake Service

MIT License
28
  • Apple
  • Linux

Integrations

  • Uses environment variables stored in .env files to securely configure Snowflake connection parameters.

  • Enables SQL query execution on Snowflake databases with automatic connection management, results processing, and error handling.

A Model Context Protocol (MCP) server that provides Claude access to Snowflake databases. / 一个为 Claude 提供 Snowflake 数据库访问能力的 MCP (模型上下文协议) 服务器。

This server implements the Model Context Protocol to allow Claude to:

  • Execute SQL queries on Snowflake databases
  • Automatically handle database connection lifecycle (connect, reconnect on timeout, close)
  • Handle query results and errors
  • Perform database operations safely

此服务器实现了模型上下文协议,使 Claude 能够:

  • 在 Snowflake 数据库上执行 SQL 查询
  • 自动管理数据库连接生命周期(连接创建、超时重连、连接关闭)
  • 处理查询结果和错误
  • 安全地执行数据库操作

Installation / 安装

Installing via Smithery

To install mcp-service-snowflake for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @datawiz168/mcp-service-snowflake --client claude

Manual Installation

  1. Clone this repository / 克隆此仓库
git clone https://github.com/datawiz168/mcp-snowflake-service.git
  1. Install dependencies / 安装依赖
pip install -r requirements.txt

Configuration / 配置说明

MCP Client Configuration Example / MCP 客户端配置示例

Add the following configuration to claude_desktop_config.json / 在 claude_desktop_config.json 中添加配置:

{ "mcpServers": { "snowflake": { "command": "C:\\Users\\K\\anaconda3\\envs\\regular310\\python.exe", "args": ["D:\\tools\\mcp-snowflake\\server.py"] } } }

Configuration parameters / 配置参数说明:

  • command: Full path to your Python interpreter. Please modify this according to your Python installation location. / Python 解释器的完整路径,请根据您的 Python 安装位置进行修改。
  • args: Full path to the server script. Please modify this according to where you cloned the repository. / 服务器脚本的完整路径,请根据您克隆仓库的位置进行修改。

Example paths for different operating systems / 不同操作系统的路径示例:

Windows:

{ "mcpServers": { "snowflake": { "command": "C:\\Users\\YourUsername\\anaconda3\\python.exe", "args": ["C:\\Path\\To\\mcp-snowflake\\server.py"] } } }

MacOS/Linux:

{ "mcpServers": { "snowflake": { "command": "/usr/bin/python3", "args": ["/path/to/mcp-snowflake/server.py"] } } }

Snowflake Configuration / Snowflake 配置

Create a .env file in the project root directory and add the following configuration / 在项目根目录下创建 .env 文件,添加以下配置:

SNOWFLAKE_USER=your_username # Your username / 您的用户名 SNOWFLAKE_PASSWORD=your_password # Your password / 您的密码 SNOWFLAKE_ACCOUNT=NRB18479.US-WEST-2 # Example: NRB18479.US-WEST-2 / 示例: NRB18479.US-WEST-2 SNOWFLAKE_DATABASE=your_database # Your database / 您的数据库 SNOWFLAKE_WAREHOUSE=your_warehouse # Your warehouse / 您的数据仓库

Connection Management / 连接管理

The server provides automatic connection management features / 服务器提供以下自动连接管理功能:

  • Automatic connection initialization / 自动初始化连接
    • Creates connection when first query is received / 首次查询时自动创建连接
    • Validates connection parameters / 验证连接参数
  • Connection maintenance / 连接维护
    • Keeps track of connection state / 跟踪连接状态
    • Handles connection timeouts / 处理连接超时
    • Automatically reconnects if connection is lost / 连接断开时自动重连
  • Connection cleanup / 连接清理
    • Properly closes connections when server stops / 服务器停止时正确关闭连接
    • Releases resources appropriately / 适当释放资源

Usage / 使用说明

The server will start automatically with the Claude Desktop client. No manual startup is required. Once the server is running, Claude will be able to execute Snowflake queries. / 服务器会随 Claude Desktop 客户端自动启动,无需手动运行。服务器启动后,Claude 将能够执行 Snowflake 查询。

For development testing, you can start the server manually using / 如果需要单独启动服务器进行测试,可以使用以下命令:

python server.py

Note: Manual server startup is not needed for normal use. The Claude Desktop client will automatically manage server startup and shutdown based on the configuration. / 注意:正常使用时无需手动启动服务器,Claude Desktop 客户端会根据配置自动管理服务器的启动和停止。

Features / 功能

  • Secure Snowflake database access / 安全的 Snowflake 数据库访问
  • Robust error handling and reporting / 健壮的错误处理和报告机制
  • Automatic connection management / 自动连接管理
  • Query execution and result processing / 查询执行和结果处理

Development / 开发

To contribute code or report issues / 要贡献代码或报告问题,请:

  1. Fork this repository / Fork 此仓库
  2. Create your feature branch / 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. Commit your changes / 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. Push to the branch / 推送到分支 (git push origin feature/AmazingFeature)
  5. Open a Pull Request / 开启一个 Pull Request

notes / 备注

mcp‑server‑snowflake controls database access rights precisely by way of database users. If you only need to read data, just assign a user with read‑only database permissions./ mcp-server-snowflake 控制数据库访问权限,是通过数据库用户来精准实现的。如果你只想读取数据,给个只有读取数据库权限的用户就行了。

License / 许可

This project is licensed under the MIT License.

此项目采用 MIT 许可证

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

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.

A Model Context Protocol server that enables Claude to execute SQL queries on Snowflake databases with automatic connection lifecycle management.

  1. Installing via Smithery
    1. Manual Installation
      1. Configuration / 配置说明
        1. MCP Client Configuration Example / MCP 客户端配置示例
        2. Snowflake Configuration / Snowflake 配置
      2. Connection Management / 连接管理
        1. Usage / 使用说明
          1. Features / 功能
            1. Development / 开发
              1. notes / 备注
                1. License / 许可

                  Related MCP Servers

                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that provides Claude access to Turso-hosted LibSQL databases, enabling database table listing, schema retrieval, and SELECT query execution.
                    Last updated -
                    68
                    5
                    TypeScript
                    MIT License
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that provides access to Snowflake databases for any MCP-compatible client, allowing execution of SQL queries with automatic connection management.
                    Last updated -
                    2
                    Python
                    MIT License
                    • Apple
                    • Linux
                  • A
                    security
                    F
                    license
                    A
                    quality
                    A Model Context Protocol server that provides a SQL interface for querying and managing Apache Iceberg tables through Claude desktop, allowing natural language interaction with Iceberg data lakes.
                    Last updated -
                    1
                    2
                    Python
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server that enables executing SQL queries and managing connections with Microsoft SQL Server databases.
                    Last updated -
                    3
                    TypeScript
                    MIT License

                  View all related MCP servers

                  ID: h7t0p4vsc5