Docker化MCP服务器设置

通过Docker和VS Code设置自定义GPT作为MCP服务器,支持本地运行和交互。

  • by coduncdeveloper
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Norbok7/Codelabs-MCP-Server

使用说明

当然,让我们逐步设置您的自定义GPT--Codelabs学习助手2025--作为Docker化的MCP(模型上下文协议)服务器。这将允许你的学生使用Docker在本地运行它,并通过Visual Studio Code(VS Code)与之交互。


🧰 第一步:安装Docker

对于Windows:

  1. 下载Docker桌面:

  2. 安装Docker桌面:

    • 运行下载的安装程序。
    • 按照安装提示进行操作。
    • 在安装过程中,确保使用选项 WSL 2 如果提示,则选择。(网站 datacamp.com)
  3. 启动Docker桌面:

    • 安装完成后,从“开始”菜单启动Docker Desktop。
    • 等待Docker初始化;当Docker准备就绪时,您将在系统托盘中看到Docker图标。(网站 datacamp.com)
  4. 验证安装:

    • 打开 命令提示符 或 PowerShell.

    • 键入以下命令并按Enter键:

      docker --version
      
    • 您应该看到显示的Docker版本信息。(knowledgehut.com)

对于macOS:

  1. 下载Docker桌面:

  2. 安装Docker桌面:

    • 打开下载的 .dmg 文件。
    • 将Docker图标拖动到您的Applications文件夹中。(网站 datacamp.com)
  3. 启动Docker桌面:

    • 从“应用程序”文件夹启动Docker。
    • 等待Docker初始化;当Docker图标准备就绪时,它将出现在您的菜单栏中。
  4. 验证安装:

    • 打开 终端.

    • 键入以下命令并按Enter键:

      docker --version
      
    • 您应该看到显示的Docker版本信息。(knowledgehut.com)


🛠️ 步骤2:准备MCP服务器代码

  1. 创建项目目录:

    • 在您的计算机上创建一个新文件夹,例如。, codelabs-mcp-server.
  2. 创建服务器脚本:

    • 在此文件夹中,创建一个名为的文件 server.py.

    • 打开 server.py 在您首选的代码编辑器中,粘贴以下代码:

      from mcp.server.fastmcp import FastMCP
      import openai
      import os
      
      mcp = FastMCP("codelabs-assistant")
      
      @mcp.tool()
      async def answer_question(question: str) -> str:
          """Answers a question using the GPT model."""
          openai.api_key = os.getenv("OPENAI_API_KEY")
          response = openai.ChatCompletion.create(
              model="gpt-4",
              messages=[{"role": "user", "content": question}]
          )
          return response.choices[0].message["content"]
      
      if __name__ == "__main__":
          mcp.run(transport="stdio")
      
  3. 创建需求文件:

    • 在同一文件夹中,创建一个名为的文件 requirements.txt.

    • 添加以下行以指定依赖关系:

      openai
      mcp
      
  4. 创建一个Dockerfile:

    • 在同一文件夹中,创建一个名为的文件 Dockerfile (无文件扩展名)。

    • 添加以下内容来定义Docker镜像:

      FROM python:3.11-slim
      
      WORKDIR /app
      
      COPY . .
      
      RUN pip install --no-cache-dir -r requirements.txt
      
      CMD ["python", "server.py"]
      

🧪 步骤3:构建Docker镜像

  1. 打开终端:

    • 导航到 codelabs-mcp-server 目录使用 cd 命令。

      cd path/to/codelabs-mcp-server
      
  2. 构建Docker镜像:

    • 运行以下命令构建Docker镜像:

      docker build -t codelabs-mcp-server .
      
    • Docker将处理 Dockerfile 并创建一个名为的图像 codelabs-mcp-server.


🧩 步骤4:为MCP配置VS代码

  1. 创建配置目录:

    • 在您的项目目录(或学生将工作的目录)中,创建一个名为的文件夹 .vscode.
  2. 创建MCP配置文件:

    • 里面 .vscode 文件夹,创建一个名为的文件 mcp.json.

    • 添加以下内容以配置MCP服务器:

      {
        "inputs": [
          {
            "type": "promptString",
            "id": "openai_api_key",
            "description": "Enter your OpenAI API Key",
            "password": true
          }
        ],
        "servers": {
          "codelabs-assistant": {
            "command": "docker",
            "args": [
              "run",
              "-i",
              "--rm",
              "-e",
              "OPENAI_API_KEY=${input:openai_api_key}",
              "codelabs-mcp-server"
            ]
          }
        }
      }
      

🚀 步骤5:在VS代码中运行MCP服务器

  1. 打开VS代码:

    • 启动Visual Studio代码。
  2. 打开项目文件夹:

    • 首选 文件>打开文件夹 然后选择包含项目的目录。
  3. 访问命令面板:

    • 按 Ctrl+Shift+P (Windows/Linux)或 Cmd+Shift+P (macOS)打开命令面板。
  4. 启动MCP服务器:

    • 类型 MCP: List Servers 并选择它。
    • 在列表中,找到 codelabs-assistant 然后单击 开始.
  5. 输入OpenAI API密钥:

    • 提示时,输入您的OpenAI API密钥。
    • 服务器将启动,您现在可以通过VS Code的聊天界面与自定义GPT进行交互。

按照这些步骤,您已经成功地将自定义GPT设置为Docker化的MCP服务器,使您的学生能够通过Visual Studio Code在本地运行并与之交互。如果您需要进一步的帮助或有任何问题,请随时提问!