返回市场
MCP客户端X

MCP客户端X

作者:RGGH26 星标更新:2025-03-10

项目介绍

MCP 客户端示例 ☀️

该项目演示了如何使用模型上下文协议(MCP)实现一个简单的客户端-服务器程序,MCP是一种标准化的方式,用于连接大型语言模型与工具和数据。

概述

本示例展示了如何:

  • 使用自定义工具创建一个MCP服务器
  • 使用MCP客户端连接到服务器
  • 调用工具并从服务器获取响应

教程视频

MCP 教程视频

点击上方图片观看关于MCP实现的教程视频。

项目结构

.
├── pyproject.toml
├── README.md
├── src
│   ├── client
│   │   └── mcp_client.py      # MCP客户端实现
│   └── server
│       └── example_server.py  # 带有工具的MCP服务器
└── uv.lock

服务器实现

服务器暴露了两个工具:

  1. calculate_bmi - 一个简单的计算器,用于计算体质指数
  2. fetch_weather - 一个异步工具,从外部API检索天气数据

客户端实现

客户端通过标准输入输出连接到服务器,初始化会话,并调用服务器的工具。

快速开始

预备条件

  • Python 3.9+
  • uv(Python 包管理器)

安装

# 安装依赖
uv install -e .

运行示例

  1. 启动客户端(这将自动启动服务器):
uv run src/client/mcp_client.py

使用方法

客户端将:

  1. 连接到服务器
  2. 列出可用工具
  3. 使用示例数据调用BMI计算器
  4. 使用示例坐标调用天气工具

示例响应

可用工具:meta=None nextCursor=None tools=[...]
BMI计算结果:22.857142857142858
天气数据:{"current_weather":{"temperature":14.2,"windspeed":12.6, ...}}

使用MCP Inspector测试

(运行以下命令后访问 http://localhost:5173)

  ❯ mcp dev src/server/example_server.py
启动MCP Inspector...
代理服务器监听端口3000

🔍 MCP Inspector正在 http://localhost:5173 运行🚀
新的SSE连接
查询参数:{
  transportType: 'stdio',
  command: 'uv',
  args: 'run --with mcp mcp run src/server/example_server.py',

资源

本项目使用:

许可证

本项目采用MIT许可证 - 详情见LICENSE文件。 </中文翻译>