滑雪度假村数据分析工具

MCP Ski Resort 是一个为滑雪度假村提供数据分析、自然语言查询和多步骤推理的工具集,适用于财务分析、运营指标和客户反馈搜索等场景。

  • by Jeremy-Demlow
  • Jupyter Notebook
  • 本地部署
  • 更新于
在 GitHub 查看 Jeremy-Demlow/Snowflake-MCP

使用说明

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服务器