Skip to main content
Glama

带有 Docker 的 MCP 服务器

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

先决条件

  • 您的系统上安装了 Docker

  • Git(克隆存储库)

Related MCP server: MCP Simple OpenAI Assistant

项目结构

  • server.py :使用工具实现的 MCP 服务器

  • client.py :连接服务器并调用代理的客户端

  • Dockerfile :构建 Docker 镜像的说明

  • requirements.txt :项目的 Python 依赖项

数据流解释

  1. 用户查询:用户向系统发送查询(例如,“我们公司的休假政策是什么?”)

  2. OpenAI API :OpenAI 从 MCP 服务器接收查询和可用工具

  3. 工具选择:OpenAI 根据查询决定使用哪些工具

  4. MCP Client :客户端接收OpenAI的工具调用请求,并转发给MCP服务器

  5. MCP 服务器:服务器执行请求的工具(例如,检索知识库数据)

  6. 响应流:工具结果通过 MCP 客户端流回 OpenAI

  7. 最终响应:OpenAI 生成包含工具数据的最终响应

使用 Docker 运行

步骤 1:构建 Docker 镜像

docker build -t mcp-server .

步骤 2:运行 Docker 容器

docker run -p 8050:8050 mcp-server

这将在 Docker 容器内启动 MCP 服务器并将其公开在端口 8050 上。

运行客户端

一旦服务器运行,您就可以在单独的终端中运行客户端:

python client.py

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

故障排除

如果遇到连接问题:

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

  2. 验证端口映射:使用docker ps或检查docker run命令的输出确保端口正确映射。

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

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

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

笔记

  • 该服务器配置为使用 SSE(服务器发送事件)传输并监听端口 8050。

  • 客户端通过http://localhost:8050/sse连接到服务器。

  • 启动客户端之前请确保服务器正在运行。

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TomasRodriguez2002/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server