Container Mcp

Container Mcp

🚀 容器化任务平台文档

这是一个容器化的任务执行平台(MCP),能为用户打造安全、隔离且可扩展的任务运行环境。平台借助 Docker 容器技术实现任务隔离与资源控制,还通过服务器发送事件(SSE)协议实时更新任务执行状态。

🚀 快速开始

当 MCP 服务启动后,可通过任何 MCP 客户端连接到该服务。默认情况下,服务运行在 http://localhost:8000 或配置文件中指定的地址。

注意: 在配置 MCP 客户端时,必须将目标地址设置为 http://127.0.0.1: /sse(其中 为默认的 8000 端口或其他配置的端口)。路径 /sse 是用于服务器发送事件通信所必需的。

✨ 主要特性

  • 任务隔离:每个任务都在独立的 Docker 容器中运行,确保任务之间互不影响。
  • 资源限制:支持对 CPU、内存和磁盘空间进行硬性限制,防止资源滥用。
  • 任务监控:提供实时的任务执行状态更新,并允许用户终止异常任务。
  • 多租户支持:通过配置可以实现不同用户的资源隔离和权限控制。

📦 安装指南

快速安装

  1. 克隆项目仓库:
    git clone https://github.com/yourusername/container-mcp.git
    cd container-mcp
    
  2. 下载并安装 Docker:
    • 在 Linux 系统上,使用官方脚本安装:
      curl -fsSL https://get.docker.com | bash -s docker
      
    • 在 Windows 或 macOS 上,访问Docker 官网下载并安装。
  3. 启动并加入 DockerGroupName 组(仅限 Linux):
    sudo groupadd docker
    sudo usermod -aG docker $USER
    newgrp docker
    
  4. 构建项目容器:
    ./bin/02-build-container.sh
    
  5. 配置运行环境:
    ./bin/03-setup-environment.sh
    
  6. 启动 MCP 服务:
    ./bin/04-run-container.sh
    

详细安装步骤

  1. 初始化项目:
    ./bin/01-init.sh
    
  2. 构建容器镜像:
    ./bin/02-build-container.sh
    
  3. 配置运行环境:
    ./bin/03-setup-environment.sh
    
  4. 启动 MCP 服务:
    ./bin/04-run-container.sh
    
  5. 运行测试(可选):
    ./bin/05-run-tests.sh
    

💻 使用示例

基础用法

from mcp.client.sse import sse_client
from mcp import ClientSession
import asyncio

async def main():
# 连接到MCP服务
sse_url = "http://127.0.0.1:8000/sse"  # 或其他配置的端口

# 初始化SSE客户端连接
async with sse_client(sse_url) as client:
# 创建MCP会话
session = ClientSession(client)

# 获取任务执行状态更新
while True:
update = await session.receive_update()
print(f"接收到更新:{update}")

asyncio.run(main())

📚 详细文档

配置指南

MCP 支持通过环境变量进行配置,以下是常用配置项:

属性 详情
MCP_HOST MCP 服务监听的主机地址,默认值为 localhost
MCP_PORT MCP 服务监听的端口号,默认值为 8000
DOCKER_REGISTRY 默认的容器镜像仓库,默认值为 dockerhub
MAX_CPU 每个任务的最大 CPU 核心数,默认值为 2
MAX_MEMORY 每个任务的最大内存使用量,默认值为 4G
MAX_STORAGE 每个任务的最大磁盘空间,默认值为 10G
TASK_ISOLATION 是否启用任务隔离,默认值为 true

示例配置

在运行 MCP 服务前,可以通过设置环境变量来调整其行为:

# 启用调试模式并指定镜像仓库
export MCP_DEBUG=true
export DOCKER_REGISTRY=private-registry:8080
./bin/04-run-container.sh

开发指南

环境准备

  1. 安装 Python 3.8 或更高版本:
    • 在 Linux 上使用包管理器安装:
      sudo apt-get install python3 python3-pip
      
    • 在 Windows 和 macOS 上,访问Python 官网下载并安装。
  2. 安装项目依赖:
    pip install -r requirements.txt
    

代码结构

项目的代码主要包含以下几个部分:

  • container_mcp/: 包含容器化任务的核心实现。
  • mcp_client/: 提供与 MCP 服务交互的客户端接口。
  • tasks/: 存放可执行的任务脚本或二进制文件。

开发流程

  1. 克隆项目仓库:
    git clone https://github.com/yourusername/container-mcp.git
    cd container-mcp
    
  2. 安装依赖:
    pip install -r requirements.txt
    
  3. 启动开发服务器:
    python -m mcp.start_development_server
    

📄 许可证

本项目遵循MIT 许可证,具体许可内容请参阅LICENSE.md文件。

作者信息

  • 开发者:Your Name
  • 联系邮箱:your.email@example.com
  • GitHub 仓库Container-MCP

感谢您使用 Container-MCP!如需帮助或反馈问题,请随时联系我们。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-30 03:21

相似服务问题