OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  snowflake-mcp:通过 Clawdbot 连接并管理 Snowflake 托管的 MCP 服务器

snowflake-mcp:通过 Clawdbot 连接并管理 Snowflake 托管的 MCP 服务器

 
  system ·  2026-02-19 11:31:14 · 3 次点击  · 0 条评论  

名称: snowflake-mcp
描述: 通过 Clawdbot 或其他 MCP 客户端连接至 Snowflake 托管的 MCP 服务器。适用于配置 Snowflake MCP 端点、验证连通性或设置 Cortex AI 服务。


Snowflake MCP 连接

使用此技能将 Snowflake 托管的 MCP 服务器与 Clawdbot 集成。它涵盖端点创建、身份验证和工具验证,以便通过 MCP 访问 Snowflake 数据。

快速开始

前提条件

  • 拥有 ACCOUNTADMIN 角色的 Snowflake 账户
  • Snowflake 的程序化访问令牌 (PAT)
  • Clawdbot 或任何兼容 MCP 的客户端

步骤 1:创建程序化访问令牌 (PAT)

  1. 在 Snowsight 中,进入用户菜单 → 我的个人资料
  2. 选择 程序化访问令牌
  3. 为您的角色点击 创建令牌
  4. 复制令牌并安全保存

步骤 2:在 Snowflake 中创建 MCP 服务器

在 Snowsight 工作表中运行以下 SQL 来创建您的 MCP 服务器:

CREATE OR REPLACE MCP SERVER my_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "在 Snowflake 数据库上执行 SQL 查询。"
    title: "SQL Execution Tool"
$$;

步骤 3:测试连接

使用 curl 验证(请替换占位符):

curl -X POST "https://YOUR-ORG-YOUR-ACCOUNT.snowflakecomputing.com/api/v2/databases/YOUR_DB/schemas/YOUR_SCHEMA/mcp-servers/my_mcp_server" \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header "Authorization: Bearer YOUR-PAT-TOKEN" \
  --data '{
    "jsonrpc": "2.0",
    "id": 12345,
    "method": "tools/list",
    "params": {}
  }'

步骤 4:配置 Clawdbot

在项目根目录创建 mcp.json 文件(这是 Clawdbot 可为会话加载的 MCP 配置):

{
  "mcpServers": {
    "Snowflake MCP Server": {
      "url": "https://YOUR-ORG-YOUR-ACCOUNT.snowflakecomputing.com/api/v2/databases/YOUR_DB/schemas/YOUR_SCHEMA/mcp-servers/my_mcp_server",
      "headers": {
        "Authorization": "Bearer YOUR-PAT-TOKEN"
      }
    }
  }
}

启动一个新的 Clawdbot 会话并加载 mcp.json 以激活 MCP 连接。Snowflake 工具应出现在您的会话中。

步骤 5:在 Clawdbot 中验证

  1. 启动一个新的 Clawdbot 会话
  2. 为该会话加载 mcp.json
  3. 提出一个会触发 Snowflake 工具的问题(例如,一个 SQL 查询)

MCP 服务器示例

仅基础 SQL 执行

CREATE OR REPLACE MCP SERVER sql_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "在 Snowflake 上执行 SQL 查询。"
    title: "SQL Execution"
$$;

包含 Cortex Search (RAG)

首先在 Snowsight 中创建 Cortex Search 服务(AI & ML → Cortex Search),然后:

CREATE OR REPLACE MCP SERVER search_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "Document Search"
    identifier: "MY_DB.MY_SCHEMA.MY_SEARCH_SERVICE"
    type: "CORTEX_SEARCH_SERVICE_QUERY"
    description: "使用向量搜索从文档中搜索和检索信息。"
    title: "Document Search"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "执行 SQL 查询。"
    title: "SQL Execution"
$$;

包含 Cortex Analyst (语义视图)

首先上传语义 YAML 或创建语义视图,然后:

CREATE OR REPLACE MCP SERVER analyst_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "Sales Analytics"
    identifier: "MY_DB.MY_SCHEMA.SALES_SEMANTIC_VIEW"
    type: "CORTEX_ANALYST_MESSAGE"
    description: "使用自然语言查询销售指标和 KPI。"
    title: "Sales Analytics"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "执行 SQL 查询。"
    title: "SQL Execution"
$$;

包含 Cortex Agent

CREATE OR REPLACE MCP SERVER agent_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "Documentation Agent"
    identifier: "MY_DB.MY_SCHEMA.MY_AGENT"
    type: "CORTEX_AGENT_RUN"
    description: "一个使用文档回答问题的智能体。"
    title: "Documentation Agent"
$$;

功能齐全的服务器

CREATE OR REPLACE MCP SERVER full_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "Analytics Semantic View"
    identifier: "ANALYTICS_DB.DATA.FINANCIAL_ANALYTICS"
    type: "CORTEX_ANALYST_MESSAGE"
    description: "查询财务指标、客户数据和业务 KPI。"
    title: "Financial Analytics"
  - name: "Support Tickets Search"
    identifier: "SUPPORT_DB.DATA.TICKETS_SEARCH"
    type: "CORTEX_SEARCH_SERVICE_QUERY"
    description: "搜索支持工单和客户互动记录。"
    title: "Support Search"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "在 Snowflake 上执行 SQL 查询。"
    title: "SQL Execution"
  - name: "Send_Email"
    identifier: "MY_DB.DATA.SEND_EMAIL"
    type: "GENERIC"
    description: "向已验证地址发送电子邮件。"
    title: "Send Email"
    config:
      type: "procedure"
      warehouse: "COMPUTE_WH"
      input_schema:
        type: "object"
        properties:
          body:
            description: "HTML 格式的邮件正文。"
            type: "string"
          recipient_email:
            description: "收件人电子邮件地址。"
            type: "string"
          subject:
            description: "邮件主题行。"
            type: "string"
$$;

工具类型参考

类型 用途
SYSTEM_EXECUTE_SQL 执行任意 SQL 查询
CORTEX_SEARCH_SERVICE_QUERY 对非结构化数据进行 RAG
CORTEX_ANALYST_MESSAGE 对语义模型进行自然语言查询
CORTEX_AGENT_RUN 调用 Cortex 智能体
GENERIC 自定义工具(存储过程/函数)

优势

  • 内置治理:应用与数据相同的 RBAC 策略
  • 无需基础设施:无需部署本地服务器
  • 简化集成:连接任何兼容 MCP 的客户端
  • 可扩展:通过存储过程/函数添加自定义工具

故障排除

连接问题

  • SSL 错误:在账户名称中使用连字符而非下划线
  • 401 未授权:验证 PAT 令牌是否有效且未过期
  • 404 未找到:检查数据库、模式和 MCP 服务器名称

测试工具

列出可用工具:

curl -X POST "https://YOUR-ACCOUNT.snowflakecomputing.com/api/v2/databases/DB/schemas/SCHEMA/mcp-servers/SERVER" \
  -H "Authorization: Bearer PAT" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

PAT 令牌注意事项

  • PAT 不评估次要角色
  • 创建时选择一个拥有所有必需权限的单一角色
  • 需要更改角色时,请创建新的 PAT

替代方案:本地 MCP 服务器

如需使用 snowflake-labs-mcp 包进行本地部署,请参阅 mcp-client-setup.md

资源

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor