网淘吧来吧,欢迎您!

Snowflake MCP Connection技能使用说明

2026-03-30 新闻来源:网淘吧 围观:10
电脑广告
手机广告

雪花MCP连接

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

快速入门

先决条件

  • 具有ACCOUNTADMIN角色的雪花账户
  • 来自雪花的程序化访问令牌(PAT)
  • Clawdbot或任何MCP兼容客户端

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

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

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

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

Snowflake MCP Connection

CREATE OR REPLACE MCP SERVER my_mcp_server FROM SPECIFICATION
$$
tools:
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "Execute SQL queries against the Snowflake database."
    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": {}
  }'

步骤四:配置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工具应该会出现在你的会话中。

步骤五:在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: "Execute SQL queries against Snowflake."
    title: "SQL Execution"
$$;

使用Cortex搜索(RAG)

首先在Snowsight中创建一个Cortex搜索服务(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: "Search and retrieve information from documents using vector search."
    title: "Document Search"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "Execute SQL queries."
    title: "SQL Execution"
$$;

使用Cortex分析器(语义视图)

首先上传一个语义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: "Query sales metrics and KPIs using natural language."
    title: "Sales Analytics"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "Execute SQL queries."
    title: "SQL Execution"
$$;

使用Cortex代理

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: "An agent that answers questions using documentation."
    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: "Query financial metrics, customer data, and business KPIs."
    title: "Financial Analytics"
  - name: "Support Tickets Search"
    identifier: "SUPPORT_DB.DATA.TICKETS_SEARCH"
    type: "CORTEX_SEARCH_SERVICE_QUERY"
    description: "Search support tickets and customer interactions."
    title: "Support Search"
  - name: "SQL Execution Tool"
    type: "SYSTEM_EXECUTE_SQL"
    description: "Execute SQL queries against Snowflake."
    title: "SQL Execution"
  - name: "Send_Email"
    identifier: "MY_DB.DATA.SEND_EMAIL"
    type: "GENERIC"
    description: "Send emails to verified addresses."
    title: "Send Email"
    config:
      type: "procedure"
      warehouse: "COMPUTE_WH"
      input_schema:
        type: "object"
        properties:
          body:
            description: "Email body in HTML format."
            type: "string"
          recipient_email:
            description: "Recipient email address."
            type: "string"
          subject:
            description: "Email subject line."
            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

资源

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第349225名访客 今日有175篇新文章/评论