关于 🌦️ Weather MCP (Model Context Protocol) Demo
Weather MCP Demo 将 Python 天气服务与 GPT-4 命令行客户端组合,用自然语言查询天气,展示客户端发现并调用服务端工具的方式。
主要功能
- 01通过 SSE 提供天气服务
- 02可发现的 fetch-weather 工具
- 03GPT-4 自然语言客户端
- 04交互式命令行界面
适用场景
- 01用自然语言询问天气
- 02了解客户端工具发现机制
- 03研究天气 MCP 客户端与服务端配置
MCP 相关
服务端通过 SSE 向 MCP 客户端提供 fetch-weather 工具。配套的 OpenAI 客户端会发现并调用该工具处理天气查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🌦️ Weather MCP(Model Context Protocol)演示
本项目展示了一个用于天气信息的 Model Context Protocol(MCP) 系统的实现,该系统由一个使用 OpenAI Agent 的客户端和专用 MCP 服务组成。系统借助 GPT-4 提供支持的自然语言界面,让用户能够查询天气信息。
🌟 概述
本项目分为两个主要组件:
- Weather MCP 服务:一个提供天气信息的 Python 服务。
- Weather OpenAI 客户端:一个使用 OpenAI GPT-4 模型处理自然语言请求并与 MCP 服务交互的客户端。
🚀 组件
🌐 Weather MCP 服务
📁 位于:/server_weather/
服务组件实现了一个 Model Context Protocol 服务,可:
- 通过 SSE(Server-Sent Events)提供天气信息端点。
- 提供可供 MCP 客户端发现的
fetch-weather工具。 - 在
http://localhost:4000/sse上运行。
🤖 Weather OpenAI 客户端
📁 位于:/client_weather_openai/
客户端组件具备以下功能:
- 集成 OpenAI 的 GPT-4 模型。
- 自动发现 MCP 服务中的工具。
- 处理天气查询的自然语言。
- 提供用于用户交互的交互式命令行界面。
📋 前提条件
- Python 3.x
- OpenAI API 密钥(前往 OpenAI Platform 获取)
- 正确配置的环境变量(
.env文件)
🔧 设置
1. 克隆此仓库
git clone [email protected]:sturlese/client_server_mcp.git
cd client_server_mcp
2. 设置环境变量
- 在每个组件的根目录(
/server_weather/和/client_weather_openai/)中创建一个.env文件。 - 添加你的 OpenAI API 密钥:
# Example of .env file
OPENAI_API_KEY='your-api-key-here'
3. 安装依赖项
服务组件:
cd server_weather/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
客户端组件:
cd ../client_weather_openai/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
🎮 使用方法
启动 MCP 服务
cd server_weather/
source venv/bin/activate
python server_weather.py
启动 OpenAI 客户端
cd client_weather_openai/
source venv/bin/activate
python weather_agent_openai.py
使用示例
What's the weather in New York today?
🏗️ 架构
系统使用 Model Context Protocol(MCP),实现 AI Agent 与天气服务之间的无缝通信:
User ---> OpenAI Agent (Client) ---> MCP Server ---> Weather Data
📝 许可证
本项目为开源项目,采用 MIT License 许可。
🤝 参与贡献
欢迎提交贡献、问题和功能请求!
- Fork 本项目。
- 创建新分支(
git checkout -b feature/your-feature)。 - 进行修改。
- 提交修改(
git commit -m 'Add your feature')。 - 将分支推送到远程仓库(
git push origin feature/your-feature)。 - 创建 Pull Request。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。