使用说明
项目简介
本项目 'mcp-demo' 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供加拿大Whistler Blackcomb滑雪胜地的天气数据。它通过抓取官方网站的天气报告,解析关键信息,并通过MCP协议以结构化的方式提供给LLM客户端。该服务器定义了资源(如天气数据、应用版本、产品分类)和工具(获取天气),使得LLM应用能够方便地获取和利用这些上下文信息。
主要功能点
- 实时天气数据:提供Whistler Blackcomb滑雪胜地的最新天气预报,包括山区(alpine)和村庄(village)的详细信息,例如温度、风速、降雪量等。
- 资源管理:
- 'data://weather': 提供实时的Whistler天气数据。
- 'config://app-version': 返回服务器应用的版本号。
- 'data://product-categories': 提供预定义的产品分类列表(示例数据)。
- 工具注册:
- 'weather': 提供一个名为 "weather" 的工具,客户端可以调用此工具来获取Whistler天气数据。
- 易于部署和运行: 使用 FastMCP 框架构建,易于安装和启动。
安装步骤
- 安装 'uv' (Python包管理器): 按照仓库 'README.md' 文件的指引,使用PowerShell安装 'uv' 包管理器。'uv' 可以更快速地管理Python依赖。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - 克隆仓库: 使用 'git clone' 命令将 'mcp-demo' 仓库克隆到本地。
git clone https://github.com/davidhayesbc/mcp-demo.git - 打开项目: 使用 VS Code 打开克隆下来的 'mcp-demo' 文件夹。
cd mcp-demo code . - 同步依赖: 在项目根目录下运行 'uv sync' 命令,安装项目所需的Python依赖包。
uv sync - 更新配置: 根据 'README.md' 的指示,编辑 '.vscode/mcp.json' 文件,确保 'command' 和 'args' 配置指向正确的 'main.py' 路径。通常情况下,如果 'main.py' 位于项目根目录,并且你使用Python环境运行,则无需修改或确保路径正确即可。
服务器配置
MCP客户端(例如VS Code Copilot)需要配置连接到此MCP服务器的信息。配置信息通常在客户端的设置中添加,用于指定如何启动和连接到服务器。
对于 'mcp-demo' 项目,假设你已经在VS Code中打开了项目,并且按照上述步骤安装了依赖,你可能需要在VS Code的MCP服务器配置中添加或修改以下信息 (以下为配置概念描述,无需手动编写JSON代码,VS Code等客户端通常提供图形界面配置):
- 服务器名称 (Server Name): 例如 'my-weather' (参考 'README.md'),或者自定义一个易于识别的名称,如 'whistler-mcp-server'。
- 启动命令 (Command): 指定用于启动MCP服务器的命令。由于 'main.py' 是服务器的入口点,并且项目是Python项目,启动命令通常是 'python' 或 'python3'。
- 命令参数 (Args): 指定启动命令的参数。对于 'mcp-demo',服务器主程序是 'main.py',因此参数通常是 'main.py'。
在VS Code Copilot Agent中使用 (参考 'README.md'):
- 确保已在VS Code中安装并启用了 Copilot Agent 功能。
- 使用 'Ctrl+Shift+P' 打开命令面板。
- 搜索并选择 'MCP: List Servers',你应该能看到配置的MCP服务器列表,例如 'my-weather' 或你自定义的服务器名称。
- 选择你的服务器,然后选择 'Start Server' 启动MCP服务器。
- 启动服务器后,在Copilot Chat 中,你可以向 Copilot 提问关于Whistler天气的问题,例如 "Tell me about the weather this weekend.",Copilot Agent 将利用 MCP 服务器提供的天气信息来回答你的问题。
基本使用方法
- 启动 MCP 服务器 (参考 "服务器配置" 和 'README.md')。
- 在支持 MCP 协议的 LLM 客户端(如配置了 MCP 服务器的 VS Code Copilot Agent)中,向 LLM 提问与 Whistler 天气相关的问题。
- LLM 客户端会通过 MCP 协议与 'mcp-demo' 服务器通信,获取实时的天气数据。
- 服务器返回天气数据后,LLM 客户端利用这些数据生成更准确、更具上下文的回答。
- 你还可以尝试访问其他资源,例如询问应用版本或产品分类(如果客户端支持资源访问)。
注意: 本仓库 'mcp-demo' 主要用于演示 MCP 服务器的基本功能,天气数据来源于第三方网站,服务器的稳定性和数据准确性依赖于该网站。
信息
分类
网页与API