MCP(Model Context Protocol) Client-Server Interaction sample

MCP(Model Context Protocol) Client-Server Interaction sample

site icon
2025.03.27 0
Python天气查询MCP协议演示其它
该服务是一个基于模型上下文协议(MCP)的客户端-服务器交互示例,主要用于演示天气查询功能。它展示了如何通过MCP协议在客户端和服务器之间进行初始化和工具发现,以及如何执行具体的工具调用(如查询天气)。该示例适用于学习和理解MCP协议的基本工作原理。
View on GitHub

Overview

基本能力

产品定位

该服务是一个演示性质的天气查询工具,用于展示MCP协议下的客户端-服务器交互流程。

核心功能

  1. 初始化和工具发现:客户端与服务器建立连接,交换协议版本和能力信息,并获取服务器提供的工具列表。
  2. 工具执行:客户端可以调用服务器提供的工具(如get_weather),并获取执行结果。
  3. 与LLM集成:客户端可以将工具执行结果反馈给LLM(如Claude),生成最终的用户响应。

适用场景

  1. MCP协议学习:帮助开发者理解MCP协议的基本交互流程。
  2. 天气查询演示:展示如何通过MCP协议实现简单的天气查询功能。
  3. 工具集成示例:演示如何将外部工具(如天气查询)集成到LLM应用中。

工具列表

  1. get_weather:查询指定地点的天气情况。输入参数为location(地点),返回结果为天气描述(如"Sunny")。

常见问题解答

  1. 如何启动服务?:按照安装教程启动服务器和客户端。
  2. 如何调用工具?:通过tools/call接口调用工具,传入工具名称和参数。
  3. 如何获取工具列表?:通过tools/list接口获取服务器提供的工具列表。

使用教程

使用依赖

  1. 确保已安装Python 3.7或更高版本。
  2. 安装必要的Python依赖包(具体依赖未在README中列出,需根据项目代码补充)。

安装教程

  1. 克隆项目仓库: bash git clone <repository_url>
  2. 进入项目目录: bash cd mcp-minimal-client-weather-server-sample
  3. 安装依赖(假设依赖已列出): bash pip install -r requirements.txt
  4. 启动服务器: bash python server.py
  5. 启动客户端: bash python client.py

调试方式

  1. 检查服务器日志,确认服务已启动: bash tail -f server.log
  2. 调用工具测试: bash curl -X POST http://localhost:<port>/tools/call -d '{"name": "get_weather", "arguments": {"location": "Tokyo"}}'
  3. 获取工具列表测试: bash curl -X GET http://localhost:<port>/tools/list

许可证

None