项目简介
'mcp-weather-server' 是一个基于 Model Context Protocol (MCP) 的示例服务器,旨在为大型语言模型 (LLM) 应用提供实时的天气数据。该服务器演示了如何利用 MCP 协议构建上下文服务,使 LLM 能够访问外部数据源并进行更丰富的交互。
主要功能点
- 天气数据查询: 服务器的核心功能是提供指定城市的天气信息。
- MCP 协议支持: 实现了 MCP 协议,可以与任何兼容 MCP 协议的客户端进行通信。
- 示例资源: 提供了一个 "weather" 资源,客户端可以通过 MCP 协议请求该资源获取天气数据。
- 易于理解和扩展: 作为一个示例项目,代码结构清晰,易于理解和修改,可以作为开发其他 MCP 服务器的起点。
安装步骤
- 克隆仓库: 首先,使用 Git 克隆 'mcp-weather-server' 仓库到本地:
git clone https://github.com/MiesnerJacob/mcp-weather-server cd mcp-weather-server - 安装依赖: 虽然 'README.md' 中没有明确提及依赖,但通常 Python 项目需要安装依赖。如果项目中有 'requirements.txt' 文件,请运行以下命令安装依赖:
(注意:如果仓库中没有 'requirements.txt' 文件,并且运行 'server.py' 出现模块缺失错误,则需要根据错误信息手动安装缺少的 Python 模块。 但根据通常的 Python 项目实践,很可能需要安装 'Flask' 或类似的 Web 框架。)pip install -r requirements.txt
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到 'mcp-weather-server' 服务器。请注意,以下配置假设服务器运行在本地,并使用默认的 'server.py' 脚本启动。
{ "serverName": "mcp-weather-server", // MCP 服务器的名称,可以自定义 "command": "python", // 启动服务器的命令,这里假设使用 python 解释器 "args": ["server.py"] // 启动服务器命令的参数,指向服务器启动脚本 server.py }
配置参数说明:
- '"serverName"': 为 MCP 服务器指定一个易于识别的名称,例如 "weather-server" 或 "mcp-weather-server"。这个名称主要用于客户端管理和区分不同的 MCP 服务器。
- '"command"': 指定用于启动 MCP 服务器进程的命令。对于 'mcp-weather-server',它是一个 Python 项目,因此通常使用 '"python"' 命令来运行 Python 脚本。请确保你的系统环境变量中 'python' 指向的是正确的 Python 解释器。
- '"args"': 提供启动命令的参数,以列表形式表示。对于 'mcp-weather-server',唯一的参数是 '"server.py"',它指定了服务器的启动脚本。如果 'server.py' 脚本不在当前目录下,你需要提供正确的脚本路径。
注意: 实际运行 'mcp-weather-server' 前,请务必查看仓库中的代码,特别是 'server.py' 文件,确认启动命令和参数是否与代码逻辑一致。 示例配置基于对常见 Python 项目结构的推断。
基本使用方法
- 启动服务器: 在克隆的 'mcp-weather-server' 目录下,打开终端并运行以下命令启动服务器:
如果服务器成功启动,你可能会在终端看到一些启动信息,例如服务器监听的端口等。(根据实际 'server.py' 代码的输出而定)python server.py - 配置 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分提供的 JSON 配置信息,配置连接到 'mcp-weather-server'。
- 客户端请求天气数据: 使用 MCP 客户端向 'mcp-weather-server' 发送符合 MCP 协议的请求,以查询天气数据。具体的请求格式和资源路径需要参考 'mcp-weather-server' 的代码实现。 通常,客户端会请求 "weather" 资源,并可能需要提供城市名称作为参数。
示例客户端请求 (JSON-RPC 格式,仅供参考):
{ "jsonrpc": "2.0", "method": "Context.getResource", "params": { "resourcePath": "weather", "arguments": { "city": "London" // 例如查询伦敦的天气 } }, "id": 1 }
请注意: 由于 'README.md' 提供的信息非常有限,更详细的使用方法和 API 文档需要查看仓库中的源代码 ('server.py' 等) 来获取。 这个示例仓库主要用于演示 MCP 服务器的基本概念,可能不包含完善的文档。
信息
分类
网页与API