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

Portainer MCP Docker

MCP Server

提供Portainer MCP Server的Docker化部署方案,支持本地stdio和远程HTTP两种通信方式,简化Portainer生态系统的集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
容器管理远程访问DockerClaude自动化部署Claude

安装说明

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

作者 / 组织

Serraniel

提供方

Serraniel

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

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

命令预览

docker run -i --rm ghcr.io/serraniel/portainer-mcp-docker:latest \

详细介绍

portainer mcp docker

Docker化版本 Portainer MCP服务器 便于部署。

该项目提供了最小的基于Alpine的Docker镜像,可以使用Docker Compose与Portainer一起部署,而不是手动下载和管理二进制文件。

特性

  • 最小Alpine Linux镜像与官方 portainer-mcp 二进制
  • 两种变体: stdio(本地)和HTTP(远程/web)
  • 支持多种架构(linux/amd64、linux/arm64)
  • 当新的上游版本发布时,通过GitHub Actions自动更新
  • 通过带有自动合并功能的Dependabot进行基础图像更新(安全补丁、Alpine更新)
  • 与上游版本匹配的版本标签(例如。, v0.7.0-1)

图像变体

图像标签运输用例
latest / v0.7.0-1stdio本地MCP客户端(克劳德桌面、克劳德代码CLI)
http / v0.7.0-1-http流式HTTP远程访问(Claude Web,共享服务器)

stdio(默认)

标准图像。MCP客户端启动容器并通过stdin/stdout进行通信。最适合MCP客户端在同一台机器上运行的本地设置。

超文本传输协议

将MCP服务器包装为 mcp代理 通过Streamable HTTP公开它。支持承载令牌身份验证,因此端点不可公开访问。最适合远程访问,例如,从Claude Web连接到服务器上的Portainer实例。

安装

先决条件

  • 跑步 波特纳 例子
  • Portainerneneneba API访问令牌(从下的PortainerUI生成 *我的帐户>访问令牌*)
  • Docker和Docker Compose

______________________________________________________________________

stdio变体(本地)

快速开始

docker pull ghcr.io/serraniel/portainer-mcp-docker:latest

docker run -i --rm ghcr.io/serraniel/portainer-mcp-docker:latest \
  -server your-portainer:9443 \
  -token your-api-token

网络:同一主机上的Portainer

当Portainer与MCP容器在同一台机器上运行时, localhost 容器内部是指容器本身,而不是主机。使用 host.docker.internal 相反:

docker run -i --rm \
  --add-host=host.docker.internal:host-gateway \
  ghcr.io/serraniel/portainer-mcp-docker:latest \
  -server host.docker.internal:9443 \
  -token your-api-token

MCP客户端配置

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "portainer": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--add-host=host.docker.internal:host-gateway",
        "ghcr.io/serraniel/portainer-mcp-docker:latest",
        "-server", "host.docker.internal:9443",
        "-token", "your-api-token"
      ]
    }
  }
}
替换 host.docker.internal:9443 与您的Portainer的实际 hostname:port 如果它在另一台机器上运行。

克劳德代码

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "portainer": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--add-host=host.docker.internal:host-gateway",
        "ghcr.io/serraniel/portainer-mcp-docker:latest",
        "-server", "host.docker.internal:9443",
        "-token", "your-api-token"
      ]
    }
  }
}

______________________________________________________________________

HTTP变体(远程)

生成令牌

HTTP变体需要两个令牌:

  1. Portainer API令牌 (PORTAINER_TOKEN)--根据您的Portainer实例对MCP服务器进行身份验证。在Portainer UI中生成一个 *我的帐户>访问令牌>添加访问令牌*.
  1. MCP承载令牌 (API_ACCESS_TOKEN)--保护HTTP端点,因此只有授权的MCP客户端才能连接。这是你自己创造的秘密。生成安全的随机令牌:
openssl rand -hex 32

使用输出作为您的 MCP_API_TOKEN.env 在MCP客户端的文件中配置相同的值 Authorization: Bearer 头球

快速开始

docker pull ghcr.io/serraniel/portainer-mcp-docker:http

docker run -d --rm \
  -p 8080:8080 \
  -e PORTAINER_SERVER=your-portainer:9443 \
  -e PORTAINER_TOKEN=your-portainer-api-token \
  -e API_ACCESS_TOKEN=your-mcp-bearer-token \
  ghcr.io/serraniel/portainer-mcp-docker:http

Docker Compose

services:
  portainer:
    image: portainer/portainer-ce:latest
    restart: always
    ports:
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  portainer-mcp:
    image: ghcr.io/serraniel/portainer-mcp-docker:http
    restart: always
    ports:
      - "8080:8080"
    environment:
      - PORTAINER_SERVER=portainer:9443
      - PORTAINER_TOKEN=${PORTAINER_TOKEN}
      - API_ACCESS_TOKEN=${MCP_API_TOKEN}
      # Optional:
      # - PORTAINER_READ_ONLY=true
      # - PORTAINER_DISABLE_VERSION_CHECK=true
      # - MCP_PORT=8080
      # - MCP_HOST=0.0.0.0

volumes:
  portainer_data:

创建一个 .env 文件:

PORTAINER_TOKEN=your-portainer-api-token
MCP_API_TOKEN=your-mcp-bearer-token

MCP客户端配置(远程)

克劳德网络/克劳德桌面(远程URL)

配置您的MCP客户端以连接到HTTP端点:

  • 网址: http://your-server:8080/sse
  • 授权: 持票人代币( MCP_API_TOKEN 您已配置)

克劳德代码(远程)

{
  "mcpServers": {
    "portainer": {
      "type": "url",
      "url": "http://your-server:8080/sse",
      "headers": {
        "Authorization": "Bearer your-mcp-bearer-token"
      }
    }
  }
}

环境变量(HTTP)

变量必填描述
PORTAINER_SERVER门户服务器地址为 host:port (无协议前缀,自动使用HTTPS)
PORTAINER_TOKENPortainer API访问令牌
API_ACCESS_TOKEN推荐MCP端点身份验证的承载令牌
PORTAINER_READ_ONLY设置为 true 用于只读模式
PORTAINER_DISABLE_VERSION_CHECK设置为 true 跳过版本验证
MCP_PORTHTTP侦听端口(默认值: 8080)
MCP_HOSTHTTP侦听地址(默认值: 0.0.0.0)

______________________________________________________________________

命令行选项(stdio)

支持上游二进制文件中的所有标志:

标志描述
-server Portainer服务器地址,无协议前缀(必需的)
-token Portainer API访问令牌(必需的)
`-tools
`自定义工具YAML文件的路径
-read-only仅限于只读操作(仅GET请求)
-disable-version-check跳过Portainer服务器版本验证

版本控制

图像标签遵循以下格式 v-:

  • v0.7.0-1 -首次构建上游v0.7.0(stdio)
  • v0.7.0-1-http -相同版本,HTTP变体
  • v0.7.0-2 -重建(例如,基础映像安全更新)
  • latest -最新的stdio版本
  • http -最新HTTP版本

自动更新的工作原理

触发器发生了什么
新的上游发布每日检查创建新的标签(例如。, v0.8.0-1)并构建两个图像
Dependabot PR合并构建测试后自动合并,增加构建数量并重建
手动调度可以使用特定的上游版本手动触发工作流

上游文件

有关Portainer MCP服务器功能、工具和Portainer版本兼容性的完整文档,请参阅 上游README.

许可证

该项目根据 欧盟公共许可v1.2 (EUPL-1.2)。

目录标签

目录标签

容器管理远程访问DockerClaude自动化部署Dockerfile本地部署Docker工具Portainer扩展

支持客户端

Claude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP