mcpField
M
MCP Client Example ☀️

MCP Client Example ☀️

本地服务
redandgreen.co.uk开发工具2686 周前更新

关于 MCP Client Example ☀️

一个 Python 示例项目,演示如何使用 MCP 创建服务端并通过客户端调用其工具。适合初次学习 MCP Python SDK 的开发者。

主要功能

  1. 01使用 stdio 连接 MCP 服务
  2. 02提供 BMI 计算工具
  3. 03提供异步天气查询工具
  4. 04列出服务端可用工具并调用

适用场景

  1. 01学习 MCP 客户端与服务端的基本实现
  2. 02参考 MCP Python SDK 的工具调用方式

MCP 相关

该项目同时包含 MCP 客户端与 MCP 服务,客户端通过 stdio 连接服务并调用其工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 客户端示例 ☀️

本项目演示了使用 Model Context Protocol (MCP) 的简单客户端-服务器实现,MCP 是一种将大模型与工具和数据连接的标准化方式。

概述

本示例展示了如何:

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

教程视频

MCP 教程视频

点击上方图片观看 MCP 实现教程。

项目结构

.
├── pyproject.toml
├── README.md
├── src
│   ├── client
│   │   └── mcp_client.py      # MCP client implementation
│   └── server
│       └── example_server.py  # MCP server with tools
└── uv.lock

服务实现

服务公开两个工具:

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

客户端实现

客户端通过 stdio 连接到服务,初始化会话,并调用服务的工具。

快速开始

前置要求
  • Python 3.9+
  • uv (Python 包管理器)
安装
# Install dependencies
uv install -e .
运行示例
  1. 启动客户端(这将自动启动服务):
uv run src/client/mcp_client.py

使用

客户端将:

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

示例响应

Available tools: meta=None nextCursor=None tools=[...]
BMI calculation result: 22.857142857142858
Weather data: {"current_weather":{"temperature":14.2,"windspeed":12.6, ...}}

使用 MCP Inspector 测试

( 运行下方命令,然后访问 http://localhost:5173 )

  ❯ mcp dev src/server/example_server.py
Starting MCP inspector...
Proxy server listening on port 3000

🔍 MCP Inspector is up and running at http://localhost:5173 🚀
New SSE connection
Query parameters: {
  transportType: 'stdio',
  command: 'uv',
  args: 'run --with mcp mcp run src/server/example_server.py',

资源

本项目使用:

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。