← 返回目录
S

Snowflake MCP Server (OSS, Deprecated)

官方
[已废弃] 面向 Snowflake Cortex AI 与 SQL 编排的社区 MCP 服务器
分类
数据库 第 43 / 58
Stars
★ 299 热门
传输方式
stdio(本地进程) · SSE · Streamable HTTP
运行环境
Python · Docker
凭据
需要 API Key / 凭据
许可证
Apache-2.0
最近提交
工具数
6
48FMRS · D

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

最强项 · 文档质量 16/20 最弱项 · 维护活跃度 2/20

可靠性
7/20
安全与权限
10/20
维护活跃度
2/20
文档质量
16/20
安装易用性
13/20
查看各项评分依据
可靠性 7/20
README 详细描述了 stdio/sse/streamable-http 三种传输方式、连接参数及故障排查(MCP Inspector、--verbose 日志),工具按配置文件动态生成,逻辑清晰可信;但提供的材料中没有任何 CI 工作流或测试文件作为可验证证据,且仓库 README 顶部明确写明该项目已弃用、不再维护,未来对新版 Snowflake/依赖库的兼容性、错误处理是否仍然可靠存疑。按静态评审规则,缺少可执行证据不得给出 12 分以上,此处给 7 分。
安全与权限 10/20
凭据通过环境变量/CLI 参数传入,manifest 中密码与私钥字段被正确标记为 isSecret,且 README 反复强调 MCP Server 遵循连接角色的 RBAC 权限,不越权提升权限。SQL 执行受 sql_statement_permissions 白名单机制约束,理论上可做到最小权限。但 README 给出的示例配置模板默认把 Alter/Create/Delete/Drop/Insert/Merge/Update/TruncateTable 等破坏性语句全部设为 True,属于高风险默认模板;对象管理工具可创建/删除/修改 Snowflake 对象,服务端本身未见到强制的二次确认机制,是否需要确认完全依赖外部 MCP 客户端行为,文档未明确披露这一点。未达红线(无恶意代码、无凭据窃取证据),但权限收紧与危险操作确认机制不完整,故给 10 分。
维护活跃度 2/20
官方 README 顶部以醒目警告声明:'This project is deprecated and no longer maintained',并建议所有用户迁移到 Snowflake 官方新 MCP Server。尽管 GitHub 元数据显示仓库未被 Archive、Star 数 296、开放 issue 29,但项目自身已明确停止维护、不再修复问题或添加功能,实质上等同于被放弃维护的项目。仓库仍附带 Apache-2.0 许可证,这是唯一加分项,但维护活跃度应给最低区间的分数,故给 2 分。
文档质量 16/20
文档非常详尽:安装方式(uvx/Docker/Docker Compose)、多种认证方式(密码、密钥对、OAuth、SSO、MFA)、Claude Desktop/Cursor/fast-agent/VS Code/Codex 等多客户端配置示例、传输层自定义参数表、SQL 语句权限对照表(sqlglot 表达式类型对应实际 SQL 示例)、故障排查 FAQ 均一应俱全,具备分层结构和可复现示例。扣分项:文档是'仅供参考的历史文档'(legacy documentation, for reference only),未更新说明当前是否仍适用于最新版 Snowflake 服务;也未披露使用 Cortex 服务可能产生的费用或速率限制等成本信息。综合给 16 分。
安装易用性 13/20
提供了从 uvx 安装到主流客户端(Claude Desktop、Cursor、fast-agent、VS Code+Copilot、Codex)配置的完整示例,以及容器化部署(Docker/Docker Compose)的分步指南,步骤清晰、覆盖多平台。但根据静态评审规则,缺少 CI/测试等可执行证据时设置分数上限为 15;此外该流程仍需用户自行准备 Snowflake 账号、认证凭据及自定义 YAML 配置文件(services/configuration.yaml),非'开箱即用',存在一定手动配置负担,故给 13 分。

静态评测 · 未实际运行收录于 2026-08-26

查看 FMRS 评分方法 →

选型与风险

能访问什么修改第三方账户数据连接数据库

适合谁

  • 已经使用 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)不评估次要角色,需为其绑定拥有全部所需权限的单一角色,权限粒度控制较粗

安装接入

准备工作

运行环境:Python · Docker

SNOWFLAKE_PASSWORD 可选密钥 密码或程序化访问令牌(PAT),在 Snowflake 中创建,属于敏感凭据。
SNOWFLAKE_PRIVATE_KEY 可选密钥 密钥对认证的私钥内容,敏感凭据。
其他可选配置项(12 个)
SNOWFLAKE_ACCOUNT 可选 Snowflake 账户标识符(如 xy12345.us-east-1),来自您的 Snowflake 账户。
SNOWFLAKE_HOST 可选 Snowflake 主机 URL,来自账户信息。
SNOWFLAKE_USER 可选 Snowflake 登录用户名。
SNOWFLAKE_ROLE 可选 连接时使用的角色,决定 RBAC 权限。
SNOWFLAKE_WAREHOUSE 可选 执行查询所用的仓库名。
SNOWFLAKE_PASSCODE 可选 MFA 认证通行码。
SNOWFLAKE_PRIVATE_KEY_FILE 可选 加密私钥文件的路径。
SNOWFLAKE_PRIVATE_KEY_FILE_PWD 可选 加密私钥文件的密码。
SNOWFLAKE_MCP_HOST 可选 HTTP 传输绑定的主机地址,默认 0.0.0.0。
SNOWFLAKE_MCP_PORT 可选 HTTP 传输监听端口,默认 9000。
SNOWFLAKE_MCP_ENDPOINT 可选 HTTP 传输的端点路径,默认 /mcp。
SNOWFLAKE_MCP_VERBOSE 可选 开启调试日志,设为 true 启用。

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

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

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

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add mcp-server-snowflake -- uvx snowflake-labs-mcp --service-config-file '<path_to_file>/tools_config.yaml' --connection-name default

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

用 MCP Inspector 或在客户端工具列表中确认已配置的 Cortex 服务工具(如 cortex_search)以及 object_management 等工具组是否出现;出现即说明配置加载成功。

常见排障

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

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 在 Cortex Search 服务中搜索关于客户流失的文档
  • 描述 my_database.my_schema 中的语义视图并列出它的指标和维度
  • 创建一个名为 analytics 的新 Snowflake 数据库
  • 运行这条 SQL:SELECT id, name FROM my_table WHERE id < 200

工具能力 6

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 语义视图,包括列出、描述语义视图及其指标与维度,并直接对语义视图执行查询。

使用场景

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

支持客户端

Claude Desktop
Cursor
fast-agent
Codex
GitHub Copilot部分支持

依据项目文档列出,未经本站实测。

详细介绍

本仓库(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 等)。

同类可选方案

源版本 662cb486395d 数据同步于 2026-10-12 查看 FMRS 评分方法