Snowflake Mcp Server

Snowflake Mcp Server

🚀 Snowflake MCP 服务器

Snowflake MCP 服务器是一个基于 Model Context Protocol (MCP) 的工具,可对 Snowflake 数据库执行只读操作。它让 Claude 能够安全查询 Snowflake 数据,且不会对数据进行任何修改。

🚀 快速开始

在使用 Snowflake MCP 服务器前,你需要完成环境变量配置,并运行服务器。具体步骤如下:

  1. 在项目根目录创建一个 .env 文件,并添加以下内容:
SNOWFLAKE_AUTH_TYPE=private_key 或 external_browser
SNOWFLAKE_PRIVATE_KEY_PATH=私钥路径(如使用 private_key 身份验证)
SNOWFLAKE_ACCOUNT_NAME=账户名称
  1. 运行服务器:
python mcp_server_snowflake/main.py

✨ 主要特性

  • 灵活的身份验证:可通过服务账户和私有密钥进行身份验证,也能使用外部浏览器进行交互式会话身份验证,从而方便地连接到 Snowflake。
  • 连接池自动刷新:带有自动背景刷新的连接池,能保持持久连接,确保服务的稳定性。
  • 多视图和数据库查询:支持在单个会话中查询多个视图和数据库,满足多样化的数据查询需求。
  • 多类型 SQL 语句支持:支持多种 SQL 语句类型,包括 SELECT、SHOW、DESCRIBE、EXPLAIN、WITH。
  • MCP 兼容处理器:具备 MCP 兼容的处理器,可用于查询 Snowflake 数据。
  • 只读操作与安全检查:仅支持只读操作,并带有安全检查,有效防止数据被修改。
  • Python 版本适配:支持 Python 3.12 及以上版本。
  • 便于集成:基于标准输入输出 (stdio) 的 MCP 服务器,便于与 Claude Desktop 集成。

📦 安装指南

安装要求

python-dotenv
mypy
ruff
pytest
pydantic
snowflake-connector-python

安装步骤

pip install python-dotenv mypy ruff pytest pydantic snowflake-connector-python

📚 详细文档

功能模块

  • mcp_server_snowflake.mcp_server:MCP 服务器主逻辑。
  • mcp_server_snowflake.models:数据模型和验证。
  • mcp_server_snowflake.auth:身份验证处理。
  • mcp_server_snowflake.utils:工具函数和配置管理。

安全注意事项

  • 所有查询都会自动添加 LIMIT 子句,以防止处理大数据集带来的风险。
  • 禁止执行任何写入操作,如 INSERT、UPDATE、DELETE。
  • 输入验证严格过滤 SQL 注入风险。
  • 私钥和凭据不会持久化到磁盘。
  • 使用 HTTPS 进行与 Snowflake 的通信。

开发信息

代码检查工具

# 静态类型检查
mypy mcp_server_snowflake/

# 代码格式检查
ruff check .

# 代码自动格式化
ruff format .

# 单元测试
pytest

贡献指南

欢迎贡献!请随意提交 Pull Request。

🔧 技术细节

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-23 20:18

相似服务问题

相关AI产品