模型上下文协议示例

一个展示如何使用MCP协议实现客户端与服务器交互的Python示例项目,支持与OpenAI模型集成。

  • by sofianhw
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sofianhw/mcp-client-server-python

使用说明

MCP客户端服务器Python示例

此项目演示了一个简单的客户端-服务器 主控程序.


什么是MCP(模型上下文协议)?

主控程序 是Anthropic引入的一种开放协议,使大型语言模型(LLM)能够以标准化、可扩展的方式与外部工具、API和资源进行交互。
它促进了人工智能模型和外部系统之间的安全、多渠道通信,支持高级代理工作流程和工具使用。

🔗 Anthropic的公告
🔗 MCP文件


特性

  • MCP服务器: 通过SSE公开工具(如添加)和资源(如问候语)。
  • MCP客户端: 连接到服务器,列出可用工具,并使用OpenAI的聊天完成进行交互。
  • OpenAI集成: 使用OpenAI的GPT模型来处理用户查询,并根据需要调用服务器工具。

需求

项目结构

.
├── 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.)


设置

  1. 环境变量

    创建一个 .env 项目目录中的文件:

    OPENAI_API_KEY=your-openai-api-key
    MCP_SSE_URL=http://localhost:8080/sse
    
  2. 启动服务器

    uv run server.py --host 0.0.0.0 --port 8080
    

    服务器通过SSE公开工具和资源 /sse.

  3. 运行客户端

    在另一个终端中:

    uv run client.py
    

    客户端将连接到服务器,列出可用工具,并启动交互式聊天循环。


用法

  • 在客户端提示符中键入您的查询。
  • 客户端将使用OpenAI来处理您的查询,并在需要时调用服务器工具。
  • 类型 quit 退出客户端。