
MCP(Model Context Protocol) Client-Server Interaction sample

2025.03.27
0
Python天气查询MCP协议演示其它
该服务是一个基于模型上下文协议(MCP)的客户端-服务器交互示例,主要用于演示天气查询功能。它展示了如何通过MCP协议在客户端和服务器之间进行初始化和工具发现,以及如何执行具体的工具调用(如查询天气)。该示例适用于学习和理解MCP协议的基本工作原理。
View on GitHub
Overview
基本能力
产品定位
该服务是一个演示性质的天气查询工具,用于展示MCP协议下的客户端-服务器交互流程。
核心功能
- 初始化和工具发现:客户端与服务器建立连接,交换协议版本和能力信息,并获取服务器提供的工具列表。
- 工具执行:客户端可以调用服务器提供的工具(如
get_weather
),并获取执行结果。 - 与LLM集成:客户端可以将工具执行结果反馈给LLM(如Claude),生成最终的用户响应。
适用场景
- MCP协议学习:帮助开发者理解MCP协议的基本交互流程。
- 天气查询演示:展示如何通过MCP协议实现简单的天气查询功能。
- 工具集成示例:演示如何将外部工具(如天气查询)集成到LLM应用中。
工具列表
- get_weather:查询指定地点的天气情况。输入参数为
location
(地点),返回结果为天气描述(如"Sunny")。
常见问题解答
- 如何启动服务?:按照安装教程启动服务器和客户端。
- 如何调用工具?:通过
tools/call
接口调用工具,传入工具名称和参数。 - 如何获取工具列表?:通过
tools/list
接口获取服务器提供的工具列表。
使用教程
使用依赖
- 确保已安装Python 3.7或更高版本。
- 安装必要的Python依赖包(具体依赖未在README中列出,需根据项目代码补充)。
安装教程
- 克隆项目仓库:
bash git clone <repository_url>
- 进入项目目录:
bash cd mcp-minimal-client-weather-server-sample
- 安装依赖(假设依赖已列出):
bash pip install -r requirements.txt
- 启动服务器:
bash python server.py
- 启动客户端:
bash python client.py
调试方式
- 检查服务器日志,确认服务已启动:
bash tail -f server.log
- 调用工具测试:
bash curl -X POST http://localhost:<port>/tools/call -d '{"name": "get_weather", "arguments": {"location": "Tokyo"}}'
- 获取工具列表测试:
bash curl -X GET http://localhost:<port>/tools/list
许可证
None