返回 MCP 目录
public公开dns本地运行

poratiner-ce-mcp-server

Portainer MCP服务器项目实现了AI助手通过Portainer API与Docker容器和服务交互的功能,提供容器、镜像、网络和服务的管理操作。

article

README

🚀 Portainer MCP 服务器

Portainer MCP 服务器是一个用于 Portainer 的模型上下文协议 (MCP) 服务器实现,它让 AI 助手能够借助 Portainer 的 API 与 Docker 容器和服务进行交互,为容器管理提供了便利。

✨ 主要特性

  • Docker 容器管理:支持容器的创建、启动、删除操作,还能获取容器日志。
  • Docker 镜像管理:可获取镜像,删除未使用的镜像,清除构建缓存。
  • Docker 网络操作:能够检查和获取网络信息。
  • Docker 服务管理:可以获取服务及其日志。
  • 容器资源限制管理:对容器的资源限制进行管理。

📦 项目结构

portainer-ce-mcp/
├── src/
│   ├── api/
│   │   └── portainer.ts      # Portainer API 集成
│   ├── constants/
│   │   └── index.ts          # 工具名称和其他常量
│   ├── types/
│   │   └── index.ts          # TypeScript 类型定义
│   └── main.ts               # 主服务器实现
├── package.json              # 项目依赖
├── package-lock.json         # 依赖锁定文件
├── deno.json                 # Deno 配置
└── README.md                 # 项目文档

📋 先决条件

  • 需要安装 Deno。
  • 要有带有 API 访问权限的 Portainer 实例。
  • 需安装并运行 Docker。

📦 安装指南

  1. 克隆仓库:
git clone https://github.com/BirajMainali/poratiner-ce-mcp-server.git
cd portainer-ce-mcp

🛠️ 配置

服务器需要以下环境变量:

  • PORTAINER_URL:你的 Portainer 实例 URL
  • PORTAINER_API_KEY:你的 Portainer API 密钥
  • PORTAINER_ENV_ID:你的 Portainer 环境 ID

📚 详细文档

API 工具

服务器为 AI 助手提供了以下工具:

容器管理

  • FETCH_DOCKER_CONTAINERS:列出所有容器
  • CREATE_DOCKER_CONTAINER:创建新容器
  • START_DOCKER_CONTAINER:启动容器
  • DELETE_DOCKER_CONTAINER:删除容器
  • FETCH_CONTAINER_LOGS:获取容器日志
  • UPDATE_CONTAINER_RESOURCE_LIMITS:更新容器资源限制
  • DELETE_STOPPED_CONTAINERS:清理已停止的容器

镜像管理

  • FETCH_IMAGES:列出所有镜像
  • DELETE_IMAGE_BUILD_CACHE:清除构建缓存
  • DELETE_UNUSED_IMAGES:删除未使用的镜像

网络操作

  • FETCH_NETWORKS:列出所有网络
  • INSPECT_NETWORK:获取网络详细信息

服务管理

  • FETCH_SERVICES:列出所有服务
  • FETCH_SERVICE_LOG:获取服务日志

💻 开发

构建

deno compile --allow-env --allow-read --allow-net --env-file=.env src/main.ts

检查 MCP 服务器

npx @modelcontextprotocol/inspector deno run --allow-env --allow-read --allow-net --env-file=.env
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端