模型协议 OpenAI 工具集成

@TomasRodriguez2002/MCP
0 Stars 301 次浏览 TomasRodriguez2002 更新于 2026-08-23

一个将模型控制协议(MCP)与OpenAI的API集成的项目,允许OpenAI访问并使用由容器化MCP服务器暴露的工具。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP 服务器与 Docker

该项目展示了如何将模型控制协议(MCP)与 OpenAI 的 API 集成,使 OpenAI 能够访问和使用通过 Docker 运行的 MCP 服务器暴露的工具。

前提条件

  • 系统上已安装 Docker
  • Git(用于克隆仓库)

项目结构

  • server.py:包含一个工具的 MCP 服务器实现
  • client.py:连接到服务器并调用代理的客户端
  • Dockerfile:构建 Docker 镜像的指令
  • requirements.txt:项目的 Python 依赖项

数据流说明

  1. 用户查询:用户向系统发送查询(例如,“我们公司的休假政策是什么?”)
  2. OpenAI API:OpenAI 接收到查询以及来自 MCP 服务器的可用工具
  3. 工具选择:OpenAI 根据查询决定使用哪些工具
  4. MCP 客户端:客户端接收 OpenAI 的工具调用请求,并将其转发给 MCP 服务器
  5. MCP 服务器:服务器执行所请求的工具(例如,检索知识库数据)
  6. 响应流:工具结果通过 MCP 客户端返回给 OpenAI
  7. 最终响应:OpenAI 生成包含工具数据的最终响应

使用 Docker 运行

第一步:构建 Docker 镜像

bash
docker build -t mcp-server .

第二步:运行 Docker 容器

bash
docker run -p 8050:8050 mcp-server

这将在 Docker 容器中启动 MCP 服务器,并将其暴露在 8050 端口上。

运行客户端

一旦服务器开始运行,您可以在另一个终端中运行客户端:

bash
python client.py

客户端将连接到服务器,列出可用工具,并调用代理来回答查询。

故障排除

如果您遇到连接问题:

  1. 检查服务器是否正在运行:确保 Docker 容器正在运行,可以使用 docker ps 查看。

  2. 验证端口映射:确保端口正确映射,可以通过 docker ps 或查看 docker run 命令的输出来确认。

  3. 检查服务器日志:使用 docker logs <container_id> 查看服务器日志,看看是否有任何错误。

  4. 主机绑定:服务器配置为绑定到 0.0.0.0 而不是 127.0.0.1,以便从容器外部访问。如果仍然存在问题,可能需要检查您的防火墙设置。

  5. 网络问题:如果您在远程机器上运行 Docker,请确保该端口可以从您的客户端机器访问。

注意事项

  • 服务器配置为使用 SSE(Server-Sent Events)传输,并监听 8050 端口。
  • 客户端在 http://localhost:8050/sse 连接到服务器。
  • 在启动客户端之前,请确保服务器已经运行。

相关 MCP 服务