名称: snowflake-mcp
描述: 通过 Clawdbot 或其他 MCP 客户端连接至 Snowflake 托管的 MCP 服务器。适用于配置 Snowflake MCP 端点、验证连通性或设置 Cortex AI 服务。
使用此技能将 Snowflake 托管的 MCP 服务器与 Clawdbot 集成。它涵盖端点创建、身份验证和工具验证,以便通过 MCP 访问 Snowflake 数据。
在 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"
$$;
使用 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": {}
}'
在项目根目录创建 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 工具应出现在您的会话中。
mcp.jsonCREATE OR REPLACE MCP SERVER sql_mcp_server FROM SPECIFICATION
$$
tools:
- name: "SQL Execution Tool"
type: "SYSTEM_EXECUTE_SQL"
description: "在 Snowflake 上执行 SQL 查询。"
title: "SQL Execution"
$$;
首先在 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"
$$;
首先上传语义 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"
$$;
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 |
自定义工具(存储过程/函数) |
列出可用工具:
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":{}}'
如需使用 snowflake-labs-mcp 包进行本地部署,请参阅 mcp-client-setup.md。