mcpField
M
Mcp Snowflake Service

Mcp Snowflake Service

本地服务
github.com/datawiz168数据库4579 周前更新

关于 Mcp Snowflake Service

Mcp Snowflake Service 是一个 MCP 服务,让 Claude 能够访问 Snowflake 数据库并执行 SQL 查询。它会自动管理数据库连接的创建、超时重连与关闭,适合需要通过 Claude 查询 Snowflake 数据的用户。

主要功能

  1. 01执行 Snowflake SQL 查询
  2. 02自动管理连接生命周期
  3. 03超时后自动重连
  4. 04处理查询结果与错误
  5. 05通过 .env 文件配置连接参数

适用场景

  1. 01让 Claude 直接查询 Snowflake 数据仓库
  2. 02通过只读数据库用户限制数据访问范围

MCP 相关

这是一个 MCP 服务,向 Claude Desktop 等 MCP 客户端提供 Snowflake 查询能力,由客户端根据配置自动启动和停止。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"snowflake-service": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

一种 Model Context Protocol(MCP)服务器,可让 Claude 访问 Snowflake 数据库。 / 一个为 Claude 提供 Snowflake 数据库访问能力的 MCP (模型上下文协议) 服务器。

GitHub Stars Smithery Badge

此服务器实现了 Model Context Protocol,使 Claude 能够:

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

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

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

安装 / 安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 mcp-service-snowflake:

npx -y @smithery/cli install @datawiz168/mcp-service-snowflake --client claude
手动安装
  1. 克隆此仓库 / 克隆此仓库
git clone https://github.com/datawiz168/mcp-snowflake-service.git
  1. 安装依赖 / 安装依赖
pip install -r requirements.txt

配置 / 配置说明

MCP 客户端配置示例 / MCP 客户端配置示例

在 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"]
    }
  }
}

配置参数 / 配置参数说明:

  • command:Python 解释器的完整路径。请根据 Python 的安装位置进行修改。 / Python 解释器的完整路径,请根据您的 Python 安装位置进行修改。
  • args:服务器脚本的完整路径。请根据仓库克隆位置进行修改。 / 服务器脚本的完整路径,请根据您克隆仓库的位置进行修改。

不同操作系统的路径示例 / 不同操作系统的路径示例:

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 配置 / Snowflake 配置

在项目根目录下创建 .env 文件,并添加以下配置 / 在项目根目录下创建 .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 / 您的数据仓库

连接管理 / 连接管理

服务器提供自动连接管理功能 / 服务器提供以下自动连接管理功能:

  • 自动初始化连接 / 自动初始化连接

    • 收到首次查询时创建连接 / 首次查询时自动创建连接
    • 验证连接参数 / 验证连接参数
  • 连接维护 / 连接维护

    • 跟踪连接状态 / 跟踪连接状态
    • 处理连接超时 / 处理连接超时
    • 连接断开时自动重连 / 连接断开时自动重连
  • 连接清理 / 连接清理

    • 服务器停止时正确关闭连接 / 服务器停止时正确关闭连接
    • 适当释放资源 / 适当释放资源

使用说明 / 使用说明

服务器会随 Claude Desktop 客户端自动启动,无需手动启动。服务器运行后,Claude 即可执行 Snowflake 查询。 / 服务器会随 Claude Desktop 客户端自动启动,无需手动运行。服务器启动后,Claude 将能够执行 Snowflake 查询。

如需进行开发测试,可使用以下命令手动启动服务器 / 如果需要单独启动服务器进行测试,可以使用以下命令:

python server.py

注意:正常使用时无需手动启动服务器。Claude Desktop 客户端会根据配置自动管理服务器的启动和关闭。 / 注意:正常使用时无需手动启动服务器,Claude Desktop 客户端会根据配置自动管理服务器的启动和停止。

功能 / 功能

  • 安全访问 Snowflake 数据库 / 安全的 Snowflake 数据库访问
  • 稳健的错误处理与报告 / 健壮的错误处理和报告机制
  • 自动连接管理 / 自动连接管理
  • 查询执行与结果处理 / 查询执行和结果处理

开发 / 开发

如需贡献代码或报告问题 / 要贡献代码或报告问题,请:

  1. Fork 此仓库 / Fork 此仓库
  2. 创建功能分支 / 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 / 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 将更改推送到分支 / 推送到分支 (git push origin feature/AmazingFeature)
  5. 发起 Pull Request / 开启一个 Pull Request

备注 / 备注

mcp‑server‑snowflake 通过数据库用户精确控制数据库访问权限。如果只需读取数据,只需分配一个具有只读数据库权限的用户。/ mcp-server-snowflake 控制数据库访问权限,是通过数据库用户来精准实现的。如果你只想读取数据,给个只有读取数据库权限的用户就行了。

许可证

License: MIT

本项目采用 MIT 许可证。

此项目采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。