Snowflake MCP Connection技能使用说明
2026-03-30
新闻来源:网淘吧
围观:10
电脑广告
手机广告
雪花MCP连接
使用此技能将雪花托管MCP服务器与Clawdbot集成。它涵盖端点创建、身份验证和工具验证,以便可以通过MCP访问雪花数据。
快速入门
先决条件
- 具有ACCOUNTADMIN角色的雪花账户
- 来自雪花的程序化访问令牌(PAT)
- Clawdbot或任何MCP兼容客户端
步骤1:创建程序化访问令牌(PAT)
- 在Snowsight中,转到您的用户菜单 →我的个人资料
- 选择程序化访问令牌
- 点击创建令牌为您的角色
- 复制并安全保存令牌
步骤2:在雪花中创建MCP服务器
在Snowsight工作表中运行此SQL以创建您的MCP服务器:

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中验证
- 启动一个新的Clawdbot会话
- 为会话加载
mcp.json文件 - 提出一个会触发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。
资源
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~