Token导航 LogoToken导航TokenDH.com
Container Manager MCP logo
运维云端stdio官方级别未说明来源级核验

Container Manager MCP

MCP Server

Container Manager 是一个用于管理 Docker 和 Podman 容器、网络、卷以及 Docker Swarm 服务的通用接口,支持程序化和远程容器管理。

工具数

27

提示词数

0

GitHub Stars

2

资源数

0
容器管理Docker云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Knuckles-Team

提供方

Knuckles-Team

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

容器管理器-A2A|AG-UI|MCP

MCP Server

PyPI - License

PyPI - Wheel PyPI - Implementation

*版本:1.11.0*

概述

容器管理器提供了一个强大的通用接口来管理Docker和Podman容器、网络、卷、, 以及Docker Swarm服务,实现程序化和远程容器管理。

此软件包包含MCP服务器+A2A服务器开箱即用!

此存储库正在积极维护中-欢迎投稿!

特性

  • 管理Docker和Podman容器、映像、卷和网络
  • 支持Docker Swarm操作
  • 支持Docker Compose和Podman Compose操作
  • 用于远程API访问的FastMCP服务器
  • 全面的日志记录和错误处理
  • 用于额外容器运行时的可扩展架构
  • 用于委托集装箱管理的多代理A2A系统

主控程序

MCP工具

  • get_version:检索容器运行时的版本信息
  • get_info:获取有关容器运行时的系统信息
  • list_images:列出所有可用图像
  • pull_image:从注册表中提取图像
  • remove_image:删除图像
  • list_containers:列出正在运行或所有的容器
  • run_container:运行一个新容器
  • stop_container:停止正在运行的容器
  • remove_container:移除容器
  • get_container_logs:从容器中检索日志
  • exec_in_container:在容器中执行命令
  • list_volumes:列出所有卷
  • create_volume:创建新卷
  • remove_volume:删除卷
  • list_networks:列出所有网络
  • create_network:创建新网络
  • remove_network:删除网络
  • compose_up:启动Compose文件中定义的服务
  • compose_down:停止并删除Compose文件中定义的服务
  • compose_ps:列出Compose项目的容器
  • compose_logs:查看Compose项目或特定服务的日志
  • init_swarm:初始化Docker Swarm
  • leave_swarm:离开Docker Swarm
  • list_nodes:列出Docker Swarm中的节点
  • list_services:列出Docker Swarm中的服务
  • create_service:在Docker Swarm中创建新服务
  • remove_service:从Docker Swarm中删除服务

MCP-CLI

短旗长旗描述
-h--help显示帮助信息
-t--transport传输方法:“stdio”、“http”或“sse”\[遗留\](默认值:stdio)
-s--hostHTTP传输的主机地址(默认值:0.0.0.0)
-p--portHTTP传输的端口号(默认值:8000)
--auth-type身份验证类型:“none”、“static”、“jwt”、“oauth代理”、“oidc代理”和“remote oauth”(默认值:none)
--令牌jwks-uri用于JWT验证的jwks uri
--代币发行人JWT验证发行人
--令牌受众JWT验证的受众
--oauth上游授权端点oauth代理的上游授权端点
--oauth上游令牌端点oauth代理的上游令牌端点
--oauth上游客户端idoauth代理的上游客户端id
--oauth上游客户端机密oauth代理的上游客户端机密
--oauth基本urloauth代理的基本url
--oidc配置urloidc配置url
--oidc客户端idoidc客户端id
-oidc客户端机密oidc客户端机密
--oidc基本urloidc代理的基本url
--远程身份验证服务器远程OAuth的逗号分隔的授权服务器列表
--远程基本url远程OAuth的基本url
--允许的客户端重定向URI逗号分隔的允许客户端重定向URI列表
--eunomia typeeunomia授权类型:“无”、“嵌入式”、“远程”(默认值:无)
--eunomia策略文件嵌入式eunomia的策略文件(默认:mcp_policies.json)
--eunomia远程url远程eunomia服务器的url

A2A代理

A2A-CLI

端点

  • Web 用户界面: http://localhost:8000/ (如果启用)
  • A2A: http://localhost:8000/a2a (发现: /a2a/.well-known/agent.json)
  • AG-UI: http://localhost:8000/ag-ui (职位)
长旗描述
--host绑定服务器的主机(默认值:0.0.0.0)
--port绑定服务器的端口(默认值:9000)
--providerLLM提供者:openai、anthropic、google、hugginface(默认:openai)
--型号idLLM型号id(默认:nvidia/nemotron-3-super)
--基本urlLLM基本url(适用于OpenAI兼容的提供者)
--api-keyLLM api密钥
--mcp urlmcp服务器url(默认值:http://localhost:8000/mcp)
--web启用Pydantic AI web UIFalse(环境:Enable_web_UI)

图形架构

此代理使用 pydantic-graph 智能路由和最佳上下文管理的编排。

---
title: Container Manager MCP Graph Agent
---
stateDiagram-v2
  [*] --> RouterNode: User Query
  RouterNode --> DomainNode: Classified Domain
  RouterNode --> [*]: Low confidence / Error
  DomainNode --> [*]: Domain Result
  • 路由器节点:快速、轻便的LLM(例如。, nvidia/nemotron-3-super)它将用户的查询分类到一个专门的域中。
  • 域节点:执行器节点。对于所选域,它动态设置环境变量,以暂时仅启用与该域相关的工具,从而创建高度集中的子代理(例如。, gpt-4o)以完成请求。这保留了LLM上下文并防止了工具幻觉。

用法

用作MCP服务器

MCP服务器可以在两种模式下运行: stdio (用于本地测试)或 http (用于网络访问)。要启动服务器,请使用以下命令:

在stdio模式下运行(默认):

container-manager-mcp

在HTTP模式下运行:

container-manager-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

将MCP服务器部署为服务

ServiceNow MCP服务器可以使用Docker部署,具有可配置的身份验证、中间件和Eunomia授权。

使用Docker运行

docker pull knucklessg1/container-manager:latest

docker run -d \
  --name container-manager-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=streamable-http \
  -e AUTH_TYPE=none \
  -e EUNOMIA_TYPE=none \
  knucklessg1/container-manager:latest

运行A2A代理(Docker):

docker run -d \
  --name container-manager-agent \
  -p 9000:9000 \
  -e PORT=9000 \
  -e PROVIDER=openai \
  -e MODEL_ID=nvidia/nemotron-3-super \
  -e BASE_URL=http://host.docker.internal:11434/v1 \
  -e MCP_URL=http://host.docker.internal:8004/mcp \
  knucklessg1/container-manager:latest \
  container-manager-agent

对于高级身份验证(例如JWT、OAuth代理、OIDC代理、远程OAuth)或Eunomia,添加相关的环境变量:

docker run -d \
  --name container-manager-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=streamable-http \
  -e AUTH_TYPE=oidc-proxy \
  -e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
  -e OIDC_CLIENT_ID=your-client-id \
  -e OIDC_CLIENT_SECRET=your-client-secret \
  -e OIDC_BASE_URL=https://your-server.com \
  -e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
  -e EUNOMIA_TYPE=embedded \
  -e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
  knucklessg1/container-manager:latest

使用Docker Compose

创建一个 docker-compose.yml 文件:

services:
  container-manager-mcp:
    image: knucklessg1/container-manager:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=streamable-http
      - AUTH_TYPE=none
      - EUNOMIA_TYPE=none
    ports:
      - 8004:8004

对于具有身份验证和Eunomia的高级设置:

services:
  container-manager-mcp:
    image: knucklessg1/container-manager:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=streamable-http
      - AUTH_TYPE=oidc-proxy
      - OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
      - OIDC_CLIENT_ID=your-client-id
      - OIDC_CLIENT_SECRET=your-client-secret
      - OIDC_BASE_URL=https://your-server.com
      - ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
      - EUNOMIA_TYPE=embedded
      - EUNOMIA_POLICY_FILE=/app/mcp_policies.json
    ports:
      - 8004:8004
    volumes:
      - ./mcp_policies.json:/app/mcp_policies.json

运行服务:

docker-compose up -d

配置 mcp.json AI集成

{
  "mcpServers": {
    "container_manager": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "container-manager-mcp",
        "container-manager-mcp"
      ],
      "env": {
        "CONTAINER_MANAGER_SILENT": "False",                                  //Optional
        "CONTAINER_MANAGER_LOG_FILE": "~/Documents/container_manager_mcp.log" //Optional
        "CONTAINER_MANAGER_TYPE": "podman",                                   //Optional
        "CONTAINER_MANAGER_PODMAN_BASE_URL": "tcp://127.0.0.1:8080"           //Optional
      },
      "timeout": 200000
    }
  }
}

安装Python包

python -m pip install container-manager-mcp

uv pip install --upgrade container-manager-mcp

测试

container-manager-mcp --transport streamable-http --host 127.0.0.1 --port 8080

这将使用本地主机端口8080上的HTTP传输启动MCP服务器。

要以编程方式与MCP服务器交互,您可以使用FastMCP客户端或向公开的端点发出HTTP请求。使用curl拉取图像的示例:

curl -X POST http://127.0.0.1:8080/pull_image \
  -H "Content-Type: application/json" \
  -d '{"image": "nginx", "tag": "latest", "manager_type": "docker"}'

安装Python包:

python -m pip install container-manager-mcp

依赖项

  • Python 3.7+
  • fastmcp 用于MCP服务器功能
  • docker Docker支持
  • podman 为Podman提供支持
  • pydantic 用于数据验证

安装依赖项:

python -m pip install fastmcp docker podman pydantic

确保Docker或Podman已安装并在您的系统上运行。

发展与贡献

欢迎投稿!贡献:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/your-feature)
  3. 提交您的更改(git commit -am 'Add your feature')
  4. 推到分支(git push origin feature/your-feature)
  5. 创建新的Pull请求

请确保您的代码遵循项目的编码标准,并包含适当的测试。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

存储库所有者

MCP配置示例

1.标准IO(stdio)部署

{
  "mcpServers": {
    "container-manager-mcp": {
      "command": "uv",
      "args": [
        "run",
        "container-manager-mcp"
      ],
      "env": {
        "AGENT_DESCRIPTION": "",
        "AGENT_SYSTEM_PROMPT": "",
        "COMPOSETOOL": "True",
        "CONTAINERTOOL": "True",
        "CONTAINER_MANAGER_LOG_FILE": "",
        "CONTAINER_MANAGER_PODMAN_BASE_URL": "",
        "CONTAINER_MANAGER_SILENT": "",
        "CONTAINER_MANAGER_TYPE": "",
        "DEFAULT_AGENT_NAME": "",
        "IMAGETOOL": "True",
        "INFOTOOL": "True",
        "LLM_API_KEY": "",
        "LLM_BASE_URL": "",
        "LOGTOOL": "True",
        "MCP_URL": "",
        "MISCTOOL": "True",
        "MODEL_ID": "",
        "NETWORKTOOL": "True",
        "SPECIALIST_TOOL": "True",
        "SWARMTOOL": "True",
        "SYSTEMTOOL": "True",
        "VOLUMETOOL": "True"
      }
    }
  }
}

2.流式HTTP(SSE)部署

{
  "mcpServers": {
    "container-manager-mcp": {
      "command": "uv",
      "args": [
        "run",
        "container-manager-mcp",
        "--transport",
        "http",
        "--host",
        "0.0.0.0",
        "--port",
        "8000"
      ],
      "env": {
        "AGENT_DESCRIPTION": "",
        "AGENT_SYSTEM_PROMPT": "",
        "COMPOSETOOL": "True",
        "CONTAINERTOOL": "True",
        "CONTAINER_MANAGER_LOG_FILE": "",
        "CONTAINER_MANAGER_PODMAN_BASE_URL": "",
        "CONTAINER_MANAGER_SILENT": "",
        "CONTAINER_MANAGER_TYPE": "",
        "DEFAULT_AGENT_NAME": "",
        "IMAGETOOL": "True",
        "INFOTOOL": "True",
        "LLM_API_KEY": "",
        "LLM_BASE_URL": "",
        "LOGTOOL": "True",
        "MCP_URL": "",
        "MISCTOOL": "True",
        "MODEL_ID": "",
        "NETWORKTOOL": "True",
        "SPECIALIST_TOOL": "True",
        "SWARMTOOL": "True",
        "SYSTEMTOOL": "True",
        "VOLUMETOOL": "True"
      }
    }
  }
}

目录标签

目录标签

容器管理Docker云端部署Python本地部署PodmanDockerSwarm远程管理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

27

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP