← 返回目录
S

Snowflake MCP Server (OSS, Deprecated)

官方
[已废弃] 面向 Snowflake Cortex AI 与 SQL 编排的社区 MCP 服务器
GitHub 源仓库 ↗
★ 296 Stars 分类 · 数据库 热门 源版本 662cb486395d
48FMRS · D
可靠性
7/20
安全与权限
10/20
维护活跃度
2/20
文档质量
16/20
安装易用性
13/20

这是 Snowflake Labs 曾经维护的开源 MCP 服务器,用于将 Cortex AI、对象管理、SQL 执行与语义视图查询能力接入 MCP 客户端,但仓库 README 已明确将其标记为废弃(deprecated)且不再维护,官方建议所有新老用户迁移到 Snowflake 官方托管的 MCP Server。功能覆盖面广,但权限模型依赖使用者正确配置 SQL 语句白名单与 Snowflake 角色,配置不当存在执行破坏性 SQL 的风险,且由于停止维护,不适合用于生产或新项目。

查看 FMRS 评分方法 →

本仓库(Snowflake-Labs/mcp)曾是 Snowflake Labs 提供的社区版 MCP 服务器,用于连接 Snowflake 数据平台,暴露 Cortex Search(非结构化数据检索)、Cortex Analyst(结构化数据语义查询)、Cortex Agent(跨数据类型编排)、对象管理(数据库、模式、表、视图、仓库、计算池、角色、Stage、用户、镜像仓库的创建/删除/查看)、通用 SQL 执行(按 sqlglot 语句类型做权限管控)以及 Snowflake 语义视图的发现与查询。README 明确注明该项目已被废弃、不再维护,官方建议迁移到 Snowflake 官方维护的 Snowflake MCP Server(docs.snowflake.com 上的 Cortex Agents MCP 文档)。服务通过 PyPI 包 snowflake-labs-mcp 以 stdio、sse(legacy)或 streamable-http 传输方式运行,依赖 Snowflake Python Connector 支持的多种认证方式(用户名密码、密钥对、MFA、SSO、OAuth、PAT 等)。

工具能力

cortex_search
查询 Snowflake 中的非结构化数据,常用于检索增强生成(RAG)场景。
cortex_analyst
基于预先配置的语义模型/语义视图查询结构化数据。
cortex_agent
跨结构化与非结构化数据源的智能编排检索代理(仅支持预先在 Snowflake 中配置好的 Cortex Agent 对象)。
object_management
对 Snowflake 常见对象(数据库、模式、表、视图、仓库、计算池、角色、Stage、用户、镜像仓库)执行创建、删除、创建或修改、描述、列出等基础操作,受配置文件中 SQL 权限控制。
sql_execution
执行由 LLM 生成的通用 SQL 语句,按配置文件中 sql_statement_permissions 列出的 sqlglot 语句类型逐项放行或拒绝。
semantic_view_querying
发现并查询 Snowflake 语义视图,包括列出、描述语义视图及其指标与维度,并直接对语义视图执行查询。

安装接入

1) 通过 pip/uvx 安装包 snowflake-labs-mcp;2) 准备服务配置 YAML 文件(定义 agent_services/search_services/analyst_services 及 other_services 开关和 sql_statement_permissions);3) 通过环境变量或 CLI 参数(如 SNOWFLAKE_ACCOUNT、SNOWFLAKE_USER、SNOWFLAKE_PASSWORD 等)配置 Snowflake 连接凭据;4) 在 MCP 客户端(如 Claude Desktop、Cursor、fast-agent、Codex)配置中指向 uvx 命令并传入 --service-config-file 与 --connection-name 参数;5) 如需容器化部署,使用仓库提供的 Dockerfile 或 docker-compose 以 streamable-http 传输方式在 9000 端口暴露服务。注意:该项目已废弃,新用户应改用 Snowflake 官方维护的 MCP Server。

claude_desktop_config.json
{"mcpServers":{"mcp-server-snowflake":{"command":"uvx","args":["snowflake-labs-mcp","--service-config-file","<path_to_file>/tools_config.yaml","--connection-name","default"]}}}

选型与风险

适合谁

  • 已经使用 Snowflake 且需要在旧版本/历史配置下临时接入 MCP 客户端做兼容性测试的团队
  • 需要研究该项目架构以迁移到官方 Snowflake MCP Server 的开发者

不适合谁

  • 任何新项目或生产环境(官方已声明弃用,不再修复漏洞或添加功能)
  • 不熟悉 Snowflake 角色权限(RBAC)和 SQL 语句白名单机制、无法自行审计权限配置的用户

所需权限

  • 需要有效的 Snowflake 账户凭据(用户名密码、PAT、密钥对、OAuth 或 SSO 之一)
  • 服务器行为完全遵循连接所用角色的 RBAC 权限,需要对目标数据库/模式/仓库/Cortex 服务具有相应授权
  • 若启用 SQL 执行或对象管理工具,需要在配置文件中显式声明允许的 SQL 语句类型(Create、Drop、Update 等)

风险与副作用

  • 该项目已被官方标记为废弃(deprecated)且不再维护,可能存在未修复的安全或功能缺陷,不建议用于新部署
  • 若配置文件中的 sql_statement_permissions 或 Unknown 语句类型设置不当,可能允许执行超出预期范围的破坏性 SQL(如 DROP、DELETE、UPDATE)
  • 私钥、密码等敏感凭据通过环境变量或 CLI 参数传递,需妥善保护部署环境,避免泄露
  • PAT(Programmatic Access Token)不评估次要角色,需为其绑定拥有全部所需权限的单一角色,权限粒度控制较粗

常见排障

  1. 工具未出现:检查配置文件 YAML 语法及 other_services 开关是否设为 True,可用 MCP Inspector 验证配置
  2. 连接失败:核实 Snowflake 连接参数、认证方式及所用角色是否具备目标数据库/模式/服务的访问权限
  3. SSL 错误:账户标识符含下划线时尝试改用连字符形式的 URL
  4. 权限报错:检查 PAT 关联角色是否覆盖所需对象权限,PAT 不支持次要角色
  5. 启动缓慢:初次启动需连接 Snowflake 并校验配置,通常数秒完成;若超过 30 秒需检查网络与凭据

使用场景

让支持 MCP 的 AI 客户端通过自然语言查询 Snowflake 中的结构化与非结构化数据
在 Snowflake 上执行 LLM 生成的 SQL 语句并按权限策略加以约束
对已配置的 Snowflake 语义视图进行探索式查询与分析

支持客户端

Claude Desktop完整支持
Cursor完整支持
fast-agent完整支持
Codex完整支持
Visual Studio Code (GitHub Copilot)部分支持