Skip to main content

MCP server for interacting with Snowflake databases / 用于与 Snowflake 数据库交互的 MCP 服务器

Project description

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

GitHub Stars

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 / 安装

  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

License / 许可

License: MIT

This project is licensed under the MIT License.

此项目采用 MIT 许可证

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

orange_mcp_server_snowflake-0.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

orange_mcp_server_snowflake-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file orange_mcp_server_snowflake-0.1.0.tar.gz.

File metadata

File hashes

Hashes for orange_mcp_server_snowflake-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69dd2a0d2efecc63a6fff74e462c11e6e93a4644f6ade736a604c4bab5c21f9f
MD5 824ced75bd8034c21fc8c2f91bcf18f1
BLAKE2b-256 154f425db44d411e55391c1b1a3902a5127e4b3322549dc29c5b27e919c88d2f

See more details on using hashes here.

File details

Details for the file orange_mcp_server_snowflake-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orange_mcp_server_snowflake-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f5ead1edd1a45f8c6130824eb24a813da9a26342eaa2d6c35968c7bc40a434d
MD5 0ef77097c6065452d7799e09737c6417
BLAKE2b-256 b0d846dd2843d7784aa458c4e7af042e1ddded4761cffbe13501d67ba53085d2

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