MCP客户端服务器Python示例
此项目演示了一个简单的客户端-服务器 主控程序.
______________________________________________________________________
什么是MCP(模型上下文协议)?
主控程序 是Anthropic引入的一种开放协议,使大型语言模型(LLM)能够以标准化、可扩展的方式与外部工具、API和资源进行交互。\ 它促进了人工智能模型和外部系统之间的安全、多渠道通信,支持高级代理工作流程和工具使用。 🔗 Anthropic的公告\ 🔗 MCP文件
______________________________________________________________________
特性
- MCP服务器: 通过SSE公开工具(如添加)和资源(如问候语)。
- MCP客户端: 连接到服务器,列出可用工具,并使用OpenAI的聊天完成进行交互。
- OpenAI集成: 使用OpenAI的GPT模型来处理用户查询,并根据需要调用服务器工具。
______________________________________________________________________
需求
- Python 3.12+
- MCP Python SDK
- OpenAI Python SDK
- 乌维科恩 (用于运行服务器)
- python dotenv (用于加载环境变量)
- 紫外线 (快速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 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退出客户端。
