Snowflake MCP 数据管道构建工具

演示如何利用Snowflake MCP服务器与Cursor AI快速构建遵循Medallion架构的AI驱动数据管道

  • by gustav-lindstrom
  • 本地部署
  • 更新于
在 GitHub 查看 gustav-lindstrom/snowflake-mcp-demo

使用说明

❄️ 使用Cursor AI的雪花MCP演示

此存储库演示了如何设置Snowflake MCP(模型上下文协议)服务器,并将其与Cursor AI一起使用,以构建Medallion Architecture数据管道。

这个演示展示了进入门槛有多低 -只需一个免费的Snowflake试用帐户和Cursor AI,您就可以在几分钟内从零到功能齐全的AI数据管道。

⚠️ 重要免责声明

此演示仅用于演示目的。

不要 尝试在以下中使用这些脚本或配置:

  • 生产环境
  • 组织/企业环境
  • 数据安全、合规性或操作稳定性很重要的任何环境
  • 任何具有真实业务数据的环境

此演示中的配置(包括开放网络策略、广泛权限和简化的安全设置)旨在最大限度地降低设置复杂性,仅供演示之用。他们是 不适合生产使用 并可能使您的系统面临安全风险。

仅在不考虑安全性和合规性的独立试用帐户或沙盒环境中使用此演示。

先决条件

1.注册Snowflake试用版

在开始之前,您需要一个Snowflake帐户:

  1. 访问 https://signup.snowflake.com/
  2. 注册免费试用帐户
  3. 完成注册流程
  4. 记下你的 组织名称 和 账户名称 (稍后您将需要这些)

2.下载并安装Cursor

  1. 从下载游标 https://cursor.com/download
  2. 在您的系统(macOS、Windows或Linux)上安装Cursor
  3. 如果您还没有免费的Cursor帐户,请创建一个
  4. 打开光标并登录

安装说明

步骤1:克隆或下载此存储库

git clone <repository-url>
cd snowflake-mcp-demo

或者将存储库文件下载并解压缩到本地目录。

步骤2:设置雪花数据库和样本数据

  1. 通过web界面登录您的Snowflake帐户
  2. 打开一个新的SQL工作表
  3. 跑吧 Data Copy Script.sql 文件:
    • 此脚本创建 ERP_DB 数据库
    • 创建 RAW_SCH 模式
    • 将Snowflake的样本数据中的TPC-H样本数据复制到您的数据库中
    • 验证数据是否已成功复制

注: 该脚本使用Snowflake的内置示例数据(SNOWFLAKE_SAMPLE_DATA.TPCH_SF1),因此不需要外部数据文件。

步骤3:在Snowflake中配置MCP服务器

  1. 在Snowflake SQL工作表中,运行 MCP Setup.sql 文件

  2. 此脚本将:

    • 创建仓库(DEMO_WH_M)
    • 创建具有SQL执行功能的MCP服务器
    • 设置网络策略(允许从任何地方进行连接以进行演示)
    • 创建用于身份验证的程序化访问令牌(PAT)
    • 显示您的组织名称和帐户名称
  3. 重要提示: 从脚本输出中复制以下值:

    • 组织名称 (从 CURRENT_ORGANIZATION_NAME() 查询)
    • 账户名称 (从 CURRENT_ACCOUNT_NAME() 查询)
    • 程序化访问令牌 (您需要从Snowflake检索此内容)

步骤4:检索您的程序化访问令牌

  1. 在Snowflake中,导航到: 管理员 → 用户和角色
  2. 查找您的用户(例如。, USERNAME)
  3. 点击您的用户→ 安全 标签
  4. 查找名为的令牌 ADMIN_PAT 并复制它
  5. 重要提示: 保存此令牌-关闭对话框后将无法再次看到它

步骤5:配置光标MCP设置

  1. 在Cursor中,打开MCP配置文件:

    • 该文件通常位于: ~/.cursor/mcp.json (macOS/Linux)或 %APPDATA%\Cursor\mcp.json (Windows)
    • 或创建/编辑 mcp.json 在项目根目录中(此存储库包含一个模板)
  2. 更新 mcp.json 包含Snowflake详细信息的文件:

{
  "mcpServers": {
    "Snowflake MCP Server": {
      "url": "https://<ORGNAME>-<ACCOUNTNAME>.snowflakecomputing.com/api/v2/databases/ERP_DB/schemas/public/mcp-servers/DEMO_MCP_SERVER",
      "headers": {
        "Authorization": "Bearer <SNOWFLAKE_TOKEN_HERE>"
      }
    }
  }
}

替换:

  • <ORGNAME> 使用您的组织名称(从步骤3开始)
  • <ACCOUNTNAME> 使用您的帐户名(从步骤3开始)
  • <SNOWFLAKE_TOKEN_HERE> 使用您的程序化访问令牌(从步骤4开始)
  1. 保存文件,必要时重新启动Cursor

步骤6:验证MCP连接

  1. 在Cursor中打开新聊天
  2. 试着问AI助手:“显示ERP_DB数据库中的所有表”
  3. AI应该能够连接到Snowflake并执行查询

使用演示

您可以尝试的示例查询

设置后,您可以要求Cursor AI:

  • “显示ERP_DB数据库中的所有表”
  • “为订单创建青铜层表”
  • “构建一个清理客户数据的银层物化视图”
  • “创建按地区显示总收入的黄金层视图”
  • “ORDERS表的模式是什么?”

奖章建筑

此演示遵循Medallion架构模式:

  • 青铜层: 原始数据摄取(已在中设置 RAW_SCH)
  • 银色层: 清理和消除重复数据(创建物化视图)
  • 黄金层: 聚合业务指标(创建视图)

AI助手被配置为遵循此架构的最佳实践。看 AGENTS.md 有关人工智能应如何操作的详细说明。

此存储库中的文件

  • README.md -此文件,安装说明
  • MCP Setup.sql -雪花MCP服务器配置脚本
  • Data Copy Script.sql -将示例数据复制到数据库中的脚本
  • mcp.json -光标MCP配置模板
  • AGENTS.md -AI代理如何构建Medallion架构的说明

故障排除

连接问题

  • 验证您的令牌: 确保程序化访问令牌正确且未过期
  • 检查网络策略: 安装脚本创建开放网络策略。如果你在一个受限的环境中,你可能需要调整这个
  • 验证URL格式: 确保MCP URL使用正确的格式: https://<ORGNAME>-<ACCOUNTNAME>.snowflakecomputing.com/...

SQL执行错误

  • 检查仓库: 确保仓库 DEMO_WH_M 正在运行(不活动后自动挂起)
  • 验证数据库: 确保 ERP_DB 存在并包含示例数据
  • 检查权限: 您的用户需求 ACCOUNTADMIN 角色(或适当的权限)

光标AI没有响应

  • 重新启动光标: 有时MCP配置更改后需要重新启动
  • 检查MCP日志: 在Cursor的开发人员控制台中查找任何错误消息
  • 验证JSON语法: 确保您的 mcp.json 文件具有有效的JSON语法

安全说明

⚠️ 关键安全警告:

  • 演示使用开放网络策略(0.0.0.0/0) - 切勿在生产中使用此工具
  • 程序化访问令牌具有 ACCOUNTADMIN 角色- 切勿在生产中使用此工具
  • 这些配置仅用于演示目的,应该 永不 可用于组织或生产环境
  • 安全地存储您的令牌,永远不要将其提交给版本控制

下一步

  1. 在Cursor中使用自然语言查询探索示例数据
  2. 构建您的奖章建筑层(青铜→ 银→ Gold)
  3. 尝试不同的数据转换和聚合
  4. 查看 AGENTS.md 文件以了解AI助手的配置方式

支持

进一步阅读:


古斯塔夫·林斯特伦,前线,2025-12-18