Token导航 LogoToken导航

MCP Server · 运维云端

Portainer MCP

Portainer MCP是一个连接AI助手与Portainer环境的工具,通过标准化的MCP协议实现容器基础设施的智能管理。

HTTP官方级别未说明来源级核验工具 0
容器管理DockerClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
portainer
提供方
portainer

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

155

仓库热度

收录来源

3 个

MCP World

选型结论

Portainer MCP 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过HTTP 远程服务接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 API Key。

分类

运维云端

传输方式

HTTP

认证方式

API Key

部署方式

支持远程部署

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是HTTP 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

入口MCP

你有没有希望你能问问波蒂纳发生了什么事?

现在你可以了!Portainer MCP将您的AI助手直接连接到您的Portainer环境。管理Portainer资源,如用户和环境,或直接通过AI执行任何Docker或Kubernetes命令进行更深入的研究。

概述

Portainer MCP是正在进行中的 模型上下文协议(MCP) 适用于Portainer环境。该项目旨在提供一种标准化的方式,将Portainer的容器管理功能与人工智能模型和其他服务连接起来。

MCP(模型上下文协议)是一个开放协议,它规范了应用程序如何向LLM(大型语言模型)提供上下文。与USB-C提供将设备连接到外围设备的标准化方式类似,MCP提供了将AI模型连接到不同数据源和工具的标准化方法。

此实现侧重于通过MCP协议公开Portainer环境数据,允许AI助手和其他工具以安全和标准化的方式与您的容器化基础设施进行交互。

\[!注意\]

请参阅 支持的功能 有关兼容性和可用功能的更多详细信息,请参阅第节。

*注:该项目目前正在开发中。*

它目前被设计为使用Portainer管理员API令牌。

安装

您可以从以下网址下载Linux(amd64、arm64)和macOS(arm64)的预构建二进制文件 最新发布页面。在“资产”部分找到适合您的操作系统和体系结构的存档。

下载存档: 您通常可以直接从发布页面下载。或者,您可以使用 curl。以下是macOS(ARM64)版本的示例 v0.2.0:

# Example for macOS (ARM64) - adjust version and architecture as needed
curl -Lo portainer-mcp-v0.2.0-darwin-arm64.tar.gz https://github.com/portainer/portainer-mcp/releases/download/v0.2.0/portainer-mcp-v0.2.0-darwin-arm64.tar.gz

(Linux AMD64二进制文件也可在发布页面上找到。)

(可选但建议)验证校验和: 首先,下载相应的 .md5 来自发布页面的校验和文件。 macOS(ARM64)示例 v0.2.0:

# Download the checksum file (adjust version/arch)
curl -Lo portainer-mcp-v0.2.0-darwin-arm64.tar.gz.md5 https://github.com/portainer/portainer-mcp/releases/download/v0.2.0/portainer-mcp-v0.2.0-darwin-arm64.tar.gz.md5
# Now verify (output should match the content of the .md5 file)
if [ "$(md5 -q portainer-mcp-v0.2.0-darwin-arm64.tar.gz)" = "$(cat portainer-mcp-v0.2.0-darwin-arm64.tar.gz.md5)" ]; then echo "OK"; else echo "FAILED"; fi

(对于Linux,您可以使用 md5sum -c .md5) 如果验证命令输出“OK”,则文件完好无损。

提取存档:

# Adjust the filename based on the downloaded version/OS/architecture
tar -xzf portainer-mcp-v0.2.0-darwin-arm64.tar.gz

这将提取 portainer-mcp 可执行。

移动可执行文件: 将可执行文件移动到您的 $PATH (例如。, /usr/local/bin)或者在下面的配置步骤中注意其位置。

用法

使用Claude Desktop,按如下方式配置:

{
    "mcpServers": {
        "portainer": {
            "command": "/path/to/portainer-mcp",
            "args": [
                "-server",
                "[IP]:[PORT]",
                "-token",
                "[TOKEN]",
                "-tools",
                "/tmp/tools.yaml"
            ]
        }
    }
}

替换 [IP], [PORT] 和 [TOKEN] 使用与您的Portainer实例关联的IP、端口和API访问令牌。

\[!注意\] 默认情况下,该工具在与二进制文件相同的目录中查找“tools.yaml”。如果文件不存在,则将使用默认工具定义在那里创建它。您可能需要如上所述修改此路径,特别是在使用像Claude这样对工作目录具有受限写入权限的AI助手时。

禁用版本检查

默认情况下,应用程序会验证您的Portainer服务器版本是否与支持的版本匹配,如果不匹配,将无法启动。如果您的Portainer服务器版本没有相应的可用Portainer MCP版本,您可以禁用此版本检查以尝试连接。

要禁用版本检查,请添加 -disable-version-check 标记您的命令参数:

{
    "mcpServers": {
        "portainer": {
            "command": "/path/to/portainer-mcp",
            "args": [
                "-server",
                "[IP]:[PORT]",
                "-token",
                "[TOKEN]",
                "-disable-version-check"
            ]
        }
    }
}
\[!警告\] 如果您的Portainer服务器版本与支持的版本存在显著差异,禁用版本检查可能会导致意外行为或API不兼容。该工具可能在不受支持的版本下部分工作或根本不工作。

使用此标志时:

  • 应用程序将在启动时跳过Portainer服务器版本验证
  • 由于API版本之间的差异,某些功能可能无法正常工作
  • 较新的Portainer版本可能会更改API,从而导致错误
  • 较旧的Portainer版本可能缺少该工具所需的API

此标志在以下情况下很有用:

  • 您运行的是尚未支持MCP的较新版本的Portainer
  • 您运行的是较旧的Portainer版本,仍想尝试该工具

工具定制

默认情况下,工具定义嵌入在二进制文件中。如果工具文件不存在,应用程序将在默认位置创建一个工具文件。

您可以通过使用指定自定义工具文件路径来自定义工具定义 -tools 标志:

{
    "mcpServers": {
        "portainer": {
            "command": "/path/to/portainer-mcp",
            "args": [
                "-server",
                "[IP]:[PORT]",
                "-token",
                "[TOKEN]",
                "-tools",
                "/path/to/custom/tools.yaml"
            ]
        }
    }
}

默认工具文件可在以下位置参考 internal/tooldef/tools.yaml 在源代码中。您可以修改工具及其参数的描述,以改变AI模型解释和决定使用它们的方式。如果你不想使用一些工具,你甚至可以决定删除它们。

\[!警告\] 不要更改工具名称或参数定义(描述除外),因为这将阻止工具正确注册和正常运行。

只读模式

对于有安全意识的用户,应用程序可以在只读模式下运行。此模式确保只有读取操作可用,完全防止对Portainer资源进行任何修改。

要启用只读模式,请添加 -read-only 标记您的命令参数:

{
    "mcpServers": {
        "portainer": {
            "command": "/path/to/portainer-mcp",
            "args": [
                "-server",
                "[IP]:[PORT]",
                "-token",
                "[TOKEN]",
                "-read-only"
            ]
        }
    }
}

使用只读模式时:

  • 只有读取工具(列表、获取)可用于AI模型
  • 未加载所有写入工具(创建、更新、删除)
  • Docker和Kubernetes代理工具可用,但仅限于GET请求

Portainer版本支持

此工具被固定以支持特定版本的Portainer。应用程序将在启动时验证Portainer服务器版本,如果与所需版本不匹配,则会失败。

Portainer MCP版本支持的Portainer版本
0.1.02.28.1
0.2.02.28.1
0.3.02.28.1
0.4.02.29.2
0.4.12.29.2
0.5.02.30.0
0.6.02.31.2
0.7.02.31.2
\[!注意\] 如果您需要连接到不受支持的Portainer版本,可以使用 -disable-version-check 标记以绕过版本验证。请参阅 禁用版本检查 有关使用此功能的更多详细信息和重要警告,请参阅第节。

支持的功能

下表列出了当前(最新版本)通过MCP工具支持的操作:

\[!注意\] 边缘堆栈与本地堆栈:原始的Portainer MCP仅支持边缘堆栈(通过边缘组分发)。本地堆栈工具添加了对直接部署在环境中的常规独立Docker Compose堆栈的支持,这是非Edge设置中最常见的堆栈类型。自官方SDK以来,本地堆栈工具使用对Portainer REST API的原始HTTP请求(client-api-go)不公开常规堆栈端点。
资源操作说明版本支持
环境
ListEnvironments列出所有可用环境0.1.0
UpdateEnvironmentTags更新与环境关联的标签0.1.0
UpdateEnvironmentUserAccesses更新环境的用户访问策略0.1.0
UpdateEnvironmentTeamAccesses更新环境的团队访问策略0.1.0
环境组(边缘组)
列出环境组列出所有可用的环境组0.1.0
CreateEnvironmentGroup创建新的环境组0.1.0
UpdateEnvironmentGroupName更新环境组的名称0.1.0
UpdateEnvironmentGroupEnvironments更新与组关联的环境0.1.0
UpdateEnvironmentGroupTags更新与组关联的标签0.1.0
访问组(端点组)
ListAccessGroups列出所有可用的访问组0.1.0
CreateAccessGroup创建新的访问组0.1.0
UpdateAccessGroupName更新访问组的名称0.1.0
UpdateAccessGroupUserAccesses更新访问组的用户访问权限0.1.0
UpdateAccessGroupTeamAccesses更新访问组的团队访问权限0.1.0
AddEnvironmentToAccessGroup向访问组添加环境0.1.0
RemoveEnvironmentFromAccessGroup从访问组中删除环境0.1.0
堆叠(边缘堆叠)
ListStacks列出所有可用堆栈0.1.0
GetStackFile获取特定堆栈的编写文件0.1.0
CreateStack创建一个新的Docker堆栈0.1.0
UpdateStack更新现有的Docker堆栈0.1.0
标签
列出环境标签列出所有可用的环境标签0.1.0
CreateEnvironmentTag创建新的环境标签0.1.0
团队
列出团队列出所有可用团队0.1.0
CreateTeam创建新团队0.1.0
UpdateTeamName更新团队名称0.1.0
UpdateTeamMembers更新团队成员0.1.0
用户
ListUsers列出所有可用用户0.1.0
UpdateUser更新现有用户0.1.0
GetSettings获取Portainer实例的设置0.1.0
码头工人
DockerProxy代理任何Docker API请求(仅在只读模式下获取)0.2.0
Kubernetes
KubernetesProxy代理任何Kubernetes API请求(仅在只读模式下获取)0.3.0
getKubernetesResourceStripped代理GET Kubernetes API请求并自动剥离详细元数据字段0.6.0
本地堆栈(独立Docker Compose)
ListLocalStacks列出部署在环境中的所有本地(非边缘)堆栈0.7.0
GetLocalStackFile获取本地堆栈的docker compose文件内容0.7.0
CreateLocalStack创建一个新的本地独立Docker Compose堆栈0.7.0
UpdateLocalStack使用新的编写文件更新现有的本地堆栈0.7.0
StartLocalStack启动已停止的本地堆栈0.7.0
StopLocalStack停止正在运行的本地堆栈0.7.0
DeleteLocalStack永久删除本地堆栈0.7.0

发展

代码统计

存储库包含一个辅助脚本 cloc.sh 使用 cloc 工具。您可能需要安装 cloc 首先(例如。, sudo apt install cloc 或 brew install cloc).

从存储库根运行脚本以查看默认摘要输出:

./cloc.sh

请参阅 cloc.sh 用于检索特定指标的可用标志的详细信息的脚本。

令牌计数

为了估计当前工具定义在提示中消耗的令牌数量,可以使用提供的Go程序和shell脚本来查询Anthropic API的令牌计数端点。

1.生成工具JSON:

首先,使用 token-count 运行程序将您的YAML工具定义转换为Anthropic API所需的JSON格式。从存储库根目录运行此命令:

# Replace internal/tooldef/tools.yaml with your YAML file if different
# Replace .tmp/tools.json with your desired output path
go run ./cmd/token-count -input internal/tooldef/tools.yaml -output .tmp/tools.json

此命令从指定的输入YAML文件读取工具定义,并写入JSON工具数组(包含 name, description,以及 input_schema)到指定的输出文件。

2.查询Anthropic API:

接下来,使用 token.sh 脚本将这些工具定义与示例消息一起发送到Anthropic API。此步骤需要一个Anthropic API密钥。

# Ensure you have jq installed
# Replace sk-ant-xxxxxxxx with your actual Anthropic API key
# Replace .tmp/tools.json with the path to the file generated in step 1
./token.sh -k sk-ant-xxxxxxxx -i .tmp/tools.json

该脚本将从Anthropic API输出JSON响应,其中包括所提供工具的估计令牌计数和 usage.input_tokens 现场。

此过程有助于理解与提供给语言模型的工具集相关的令牌成本。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

容器管理Go本地部署AI集成DockerKubernetesDevOps工具

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到API Key的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Portainer MCP

MCP World · 本页

0HTTP未标注3 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Portainer MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Portainer MCP 怎么在 Claude Desktop、Cursor 里配置?

它是HTTP 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

Portainer MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Portainer MCP 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Portainer MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP