关于 MCP Client-Server Python Example
MCP Client-Server Python Example 是面向探索 MCP 的开发者的 Python 客户端与服务端示例。客户端使用 OpenAI chat completions 处理查询,并调用服务端工具。
主要功能
- 01通过 SSE 提供工具和资源
- 02客户端连接并列出工具
- 03集成 OpenAI chat completions
适用场景
- 01了解基础 MCP 客户端与服务端配置
- 02在交互式聊天中试用工具调用
MCP 相关
示例包含通过 SSE 提供工具和资源的 MCP 服务,以及可连接服务、列出工具并通过 OpenAI 驱动的聊天循环调用工具的客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Client-Server Python 示例
本项目演示了一个简单的客户端-服务端 MCP。
什么是 MCP(Model Context Protocol)?
MCP 是由 Anthropic 推出的开放协议,可让大模型(LLM)以标准化、可扩展的方式与外部工具、API 和资源交互。
它支持 AI 模型与外部系统之间安全的多通道通信,助力构建先进的 Agent 工作流和工具使用方式。🔗 Anthropic 的公告
🔗 MCP 文档
功能
- MCP 服务: 通过 SSE 提供工具(例如,加法)和资源(例如,问候语)。
- MCP 客户端: 连接到服务,列出可用工具,并使用 OpenAI 的聊天补全功能进行交互。
- OpenAI 集成: 使用 OpenAI 的 GPT 模型处理用户查询,并在需要时调用服务端工具。
要求
- Python 3.12+
- MCP Python SDK
- OpenAI Python SDK
- Uvicorn(用于运行服务)
- python-dotenv(用于加载环境变量)
- uv(快速的 Python 软件包安装器和解析器)
项目结构
.
├── client.py # MCP client implementation
├── server.py # MCP server implementation
├── pyproject.toml # Project metadata and dependencies
├── .env # Environment variables (not committed)
└── README.md # This file
使用 uv 安装依赖:
uv sync
(这会安装 uv.lock 中指定的所有依赖。)
设置
-
环境变量
在项目目录中创建一个
.env文件:OPENAI_API_KEY=your-openai-api-key MCP_SSE_URL=http://localhost:8080/sse -
启动服务
uv run server.py --host 0.0.0.0 --port 8080服务通过 SSE 在
/sse提供工具和资源。 -
运行客户端
在另一个终端中:
uv run client.py客户端将连接到服务,列出可用工具,并启动交互式聊天循环。
用法
- 在客户端提示符中输入查询。
- 客户端将使用 OpenAI 处理查询,并在需要时调用服务端工具。
- 输入
quit退出客户端。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。