使用说明
MCP滑雪场
安装
pip install -e ".[dev]"
# For async support (httpx)
pip install -e ".[async]"
建筑
笔记本是库代码和 文档。
Snowflake-MCP/
├── 00_core.ipynb # Library: JWT auth, SSE streaming, normalization, threads
├── 01_async.ipynb # Library: Async transport (httpx)
├── 02_mcp_client.ipynb # Library: MCP JSON-RPC client & display helpers
├── 03_agent_streaming.ipynb # Demo: Cortex Agent SSE streaming
├── 04_see_pattern.ipynb # Demo: Search-Enrich-Execute pattern
├── 05_mcp_client_demo.ipynb # Demo: Full MCP client walkthrough
├── index.ipynb # This file → README.md
├── mcp_ski_resort/ # Python package (auto-generated by nbdev-export)
│ ├── core.py
│ ├── astream.py
│ └── mcp_client.py
├── sql/ # DDL scripts for Snowflake setup
└── tests/ # Integration test scripts
笔记本00–02 出口 mcp_ski_resort 图书馆via #| export
指令。
笔记本03-04 是展示API库的演示笔记本。
库模块
| 模块 | 笔记本 | 亮点 |
|---|---|---|
mcp_ski_resort.core |
00_core |
JWT认证, SnowflakeSession, stream_agent_sse, normalize_event, run_agent, AgentChat, create_thread,线程模式对话 |
mcp_ski_resort.astream |
01_async |
异步等效通过 httpx: async_run_agent, AsyncAgentChat, async_stream_agent_sse.安装 pip install mcp-ski-resort[async] |
mcp_ski_resort.mcp_client |
02_mcp_client |
MCP JSON-RPC客户端(MCPClient, mcp_call, display_mcp_result) |
MCP服务器工具
阿尔卑斯山MCP服务器(SKI_RESORT_MCP)展示10个工具
跨越5种雪花工具类型:
| 工具名称 | 类型 | 描述 |
|---|---|---|
daily-summary-analyst |
CORTEX_ALYST_TEXT_TO_SQL | 日常操作中的自然语言查询 |
revenue-analyst |
CORTEX_ALYST_TEXT_TO_SQL | 收入和财务分析 |
operations-analyst |
CORTEX_ALYST_TEXT_TO_SQL | 运营指标和人员配置 |
resort-executive-agent |
CORTEX_AGENT_RUN | 具有多步推理的执行级分析 |
ski-ops-assistant |
CORTEX_AGENT_RUN | 滑雪巡逻和升降机操作助理 |
feedback-search |
CORTEX_SEARCH_SERVICE_QUERY | 对3937条客人反馈记录进行语义搜索 |
incident-search |
CORTEX_SEARCH_SERVICE_QUERY | 对2834起安全事件进行语义搜索 |
execute-sql |
SYSTEM_EXECUTE-SQL | 对AM_SKI_RESORT运行即席SQL |
resort-kpi-summary |
概述 | KPI仪表板UDF(季节参数) |
weather-impact-report |
概述 | 天气影响分析UDF(日期范围) |
weather-impact-report |
概述 | 天气影响分析UDF |
快速开始
同步--代理流
from mcp_ski_resort.core import run_agent, AgentChat
# One-shot call
result = run_agent("RESORT_EXECUTIVE", "How did we perform this season?")
print(result.answer)
# Multi-turn conversation (local history)
chat = AgentChat("RESORT_EXECUTIVE")
chat.ask("What are our top KPIs?")
chat.ask("Compare with last season") # history sent automatically
# Multi-turn with server-side threads
from mcp_ski_resort.core import create_thread
tid = create_thread()
chat = AgentChat("RESORT_EXECUTIVE", thread_id=tid)
chat.ask("What are our top KPIs?") # server owns continuity
异步
from mcp_ski_resort.astream import async_run_agent, AsyncAgentChat
result = await async_run_agent("RESORT_EXECUTIVE", "Season summary")
MCP客户端
from mcp_ski_resort.mcp_client import mcp_tools_list, mcp_call, display_mcp_result
tools = mcp_tools_list()
resp = mcp_call("resort-executive-agent", {"message": "Season summary"})
display_mcp_result(resp, label="Executive Summary")
先决条件
看 先决条件.md 有关完整的设置说明 包括:
- 使用Cortex代理、搜索和分析师的Snowflake帐户
- 已配置RSA密钥对身份验证
- 中的SQL设置脚本
sql/用于创建搜索服务、UDF和 MCP服务器