使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的天气服务器演示程序。它实现了一个简单的 MCP 服务器,对外提供查询天气信息的功能。该服务器包含一个名为 'get-weather' 的工具和一个名为 'check-weather' 的 Prompt 模板,演示了 MCP 服务器如何托管工具和 Prompt,并与 MCP 客户端协同工作。
主要功能点
- 工具 (Tool) 注册和执行: 注册了一个 'get-weather' 工具,允许客户端查询当前或未来天气信息。
- Prompt 模板 (Prompt) 定义: 定义了一个 'check-weather' Prompt 模板,客户端可以使用该模板向 LLM 发送天气查询指令。
- 基于 Stdio 的传输协议: 使用 Stdio 作为服务器和客户端之间的通信协议。
- 模拟天气数据: 使用预定义的模拟数据,无需真实的天气 API 接口。
安装步骤
- 克隆仓库
git clone https://github.com/naFeKnehC/mcp-demos.git cd mcp-demos - 进入 'weather-server' 目录
cd weather-server - 安装依赖
npm install
服务器配置
MCP 客户端需要以下配置信息来连接到此 MCP 服务器。以下是 JSON 格式的配置信息,请提供给 MCP 客户端:
{ "serverName": "weather-server", "command": "node", "args": ["weather-server/src/index.ts"] }
配置参数说明:
- 'serverName': MCP 服务器的名称,这里设置为 "weather-server"。
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 JavaScript 文件。
- 'args': 启动命令的参数,这里指定了服务器入口文件 'weather-server/src/index.ts' 的路径。
注意: MCP 客户端需要能够执行 'node weather-server/src/index.ts' 命令来启动服务器。请确保客户端环境已安装 Node.js,并且可以访问到 'weather-server/src/index.ts' 文件。
基本使用方法
-
启动 MCP 服务器 在 'weather-server' 目录下,运行以下命令启动服务器 (此步骤通常由 MCP 客户端在后台自动完成,但为了测试,您也可以手动运行):
node src/index.ts服务器成功启动后,会在控制台输出 'Weather MCP Server running on stdio'。
-
运行 MCP 客户端示例 请参考仓库中的 'mcp-client-demo' 目录下的示例代码 ('src/index.ts' 或 'src/demo.ts'),根据示例代码配置 MCP 服务器的连接信息(即上面提供的 JSON 配置)。运行客户端示例程序后,即可与 MCP 服务器进行交互,发送天气查询请求。
例如,使用 'mcp-client-demo/src/index.ts' (OpenAI 客户端示例):
- 进入 'mcp-client-demo' 目录: 'cd ../mcp-client-demo'
- 安装客户端依赖: 'npm install'
- 复制 '.env.example' 文件并重命名为 '.env', 填写 OpenAI API Key 和 Model Name (如果使用 OpenAI 客户端示例)。
- 运行客户端,并传入 'weather-server/src/index.ts' 的路径作为参数:
node src/index.ts ../weather-server/src/index.ts - 客户端启动后,在命令行中输入天气查询问题,例如 "今天天气怎么样?" 或 "未来三天天气预报"。客户端会调用 MCP 服务器的工具或 Prompt,并将结果返回。
注意: 本项目仅为演示目的,天气数据为模拟数据。实际应用中,您需要替换为真实的天气数据源。
信息
分类
网页与API