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

Portainer MCP Docker Wrapper

MCP Server

Portainer MCP Docker Wrapper是一个Docker容器,通过HTTP/SSE协议为Portainer MCP服务器提供远程访问功能,使Claude Code能够跨主机控制Portainer实例。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全认证GoClaude远程控制Claude

安装说明

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

作者 / 组织

farezramilo

提供方

farezramilo

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

Portainer MCP Docker包装器

使用HTTP/SSE上的模型上下文协议(MCP)从Claude Code启用对Portainer实例的远程访问。

概述

该项目围绕以下内容创建了一个基于Docker的HTTP/SSE包装器 Portainer MCP服务器,允许在Windows计算机上运行的Claude Code远程控制在不同主机上运行的Portainer实例。

问题

官方Portainer MCP服务器使用 stdio传输 (stdin/stdout),它仅适用于本地子流程执行。这意味着只有当两者在同一台机器上运行时,Claude Code才能连接到Portainer。

解决方案

此包装提供 HTTP/SSE传输桥 即:

  • 在Docker主机上作为Docker容器运行
  • 通过HTTP/SSE公开Portainer MCP服务器
  • 允许在Windows上从Claude Code进行安全的远程访问
  • 与官方Portainer MCP保持完全兼容

建筑

Windows Machine (Claude Code)
    -> HTTP/SSE Request (with Bearer token)
Docker Host (Wrapper Container)
    -> Stdio Bridge
Portainer MCP Binary (Subprocess)
    -> HTTP API
Portainer Instance

主要特点

  • 两层安全:包装器和Portainer的单独身份验证
  • Docker原生:使用Docker Compose进行简单部署
  • 占地面积最小:约20-30MB基于Alpine的图像
  • 自动更新:在新的Portainer MCP版本发布时易于更新
  • 健康检查:内置监测和健康端点
  • 生产准备就绪:通过Caddy反向代理支持TLS

快速开始

先决条件

在开始之前,请确保您已经:

  • 已安装Docker和Docker Compose
  • 正在运行Portainer实例(v2.31.2+)
  • Portainer API令牌
  • Go 1.23+(用于开发)

完成检查表: 第1阶段-先决条件.md

安装

# 1. Clone the repository
git clone 
cd portainer-mcp-docker-wrapper

# 2. Configure environment
cp .env.example .env
# Edit .env with your settings

# 3. Generate secure MCP access token
openssl rand -base64 32

# 4. Build and start
docker-compose up -d

# 5. Verify health
curl http://localhost:8081/health

配置Claude代码

使用Claude Code CLI添加MCP服务器:

claude mcp add --transport http portainer http://:8081 --scope user

然后在中手动添加Bearer令牌身份验证标头 C:\Users\\.claude.json:

{
  "mcpServers": {
    "portainer": {
      "type": "http",
      "url": "http://:8081",
      "headers": {
        "Authorization": "Bearer "
      }
    }
  }
}

备注:替换 ` 使用您的Docker主机IP(例如。, 192.168.0.242)以及 使用您的MCP_ACCESS_TOKEN .env` 文件。

文档

完整的文件

涵盖项目各个方面的综合文件。

入门指南

  1. 先决条件清单 -开始前所需的一切
  2. 项目简报 -高级别概述和目标
  3. 实施计划 -7阶段开发路线图

技术细节

  1. 技术架构 -深入了解设计决策
  2. 代码示例 -完整的实施参考
  3. 最佳实践 -安全、优化和运营

快速链接

配置

环境变量

变量必填默认描述
PORTAINER_URL-门户实例URL(例如。, http://portainer:9000)
PORTAINER_API_TOKEN-Portainer API令牌(以 ptr_)
MCP_ACCESS_TOKEN-用于向包装器进行身份验证的令牌(最少32个字符)
MCP_PORT没有8081暴露HTTP端点的端口
MCP_TOOLS_FILE-可选自定义工具配置
DISABLE_VERSION_CHECK没有false跳过Portainer版本兼容性检查
READ_ONLY_MODE没有false启用只读模式以确保安全

.env.示例 一个完整的模板。

安全

该项目实现了 双令牌安全模型:

  1. MCP访问令牌:对包装器的HTTP请求进行身份验证
  2. Portainer API代币:向Portainer验证包装器

安全最佳实践

  • 生成强随机令牌: openssl rand -base64 32
  • 在生产环境中使用HTTPS(通过Caddy反向代理)
  • 将令牌存储在环境变量中,而不是代码中
  • 将Docker secrets用于生产部署
  • 以非root用户身份运行容器(内置)
  • 启用防火墙规则以限制访问
  • 定期旋转令牌

安全架构 了解详情。

项目结构

portainer-mcp-docker-wrapper/
├── cmd/
│   └── wrapper/           # Main application
│       └── main.go
├── internal/
│   ├── auth/             # Authentication middleware
│   ├── bridge/           # MCP stdio bridge
│   └── config/           # Configuration management
├── docs/                 # Comprehensive documentation
│   ├── 00-prerequisites-phase1.md
│   ├── 01-project-brief.md
│   ├── 02-implementation-plan.md
│   ├── 03-technical-architecture.md
│   ├── 04-code-examples.md
│   ├── 05-best-practices.md
│   └── README.md
├── Dockerfile            # Multi-stage build
├── docker-compose.yml    # Deployment configuration
├── .env.example          # Configuration template
└── README.md            # This file

发展

从源头构建

# Initialize Go module
go mod init portainer-mcp-wrapper
go mod tidy

# Build wrapper
go build -o bin/wrapper ./cmd/wrapper

# Build Docker image
docker build -t portainer-mcp-wrapper:latest .

测试

# Test health endpoint
curl http://localhost:8081/health

# Test with authentication
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8081/health

# View logs
docker-compose logs -f portainer-mcp

实施阶段

该项目遵循7个阶段的实施计划:

阶段描述持续时间
第一阶段建筑与设计2-4小时
第2阶段开发(Go包装器、Docker)8-12小时
第三期客户端配置1-2小时
阶段4安全强化2-4小时
阶段5测试与验证3-5小时
第6阶段文档2-3小时
第7阶段部署和维护1-2小时
总计预计项目时间19-32小时

实施计划 详细分类。

演出

  • 延迟:每次操作30-160ms(可用于交互式使用)
  • 记忆:每个容器约50-75MB
  • 开销:包装层增加1-2ms
  • 并发:支持多个并发的Claude Code会话

绩效预期 了解详情。

生产部署

对于使用HTTPS的生产部署,请使用Caddy反向代理:

# Start with HTTPS support
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

生产部署 有关配置详细信息。

故障排除

常见问题

容器无法启动

  • 检查中的环境变量 .env
  • 验证门户URL是否可访问
  • 确保API令牌有效

身份验证失败

  • 验证 MCP_ACCESS_TOKEN 匹配客户端配置
  • 检查请求中的承载令牌格式

连接超时

  • 验证网络连接
  • 检查Docker主机上的防火墙规则(例如。, sudo ufw allow 8081/tcp)
  • 确保端口8081未被阻塞

常见问题 更多解决方案。

外部资源

  • MCP Go SDK: https://github.com/modelcontextprotocol/go-sdk
  • 入口MCP: https://github.com/portainer/portainer-mcp
  • MCP规范: https://modelcontextprotocol.io/
  • Portainer API文档: https://docs.portainer.io/api/

贡献

欢迎投稿!拜托:

  1. 阅读 技术架构
  2. 跟随 最佳实践
  3. 根据需要更新文档
  4. 提交前进行彻底测试

许可证

该项目的许可证与Portainer MCP项目相同。

致谢

______________________________________________________________________

准备好开始了吗? 先决条件清单

需要帮助? 完整的文件

目录标签

目录标签

安全认证GoClaude远程控制Docker工具本地部署HTTP/SSE桥接Portainer集成

支持客户端

Claude

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP