Portainer MCP Server について
Portainer MCP Server は、Portainer API 経由で AI アシスタントが Docker リソースを管理できるサーバーです。コンテナ、イメージ、ネットワーク、サービスの操作に加え、ログ取得やコンテナのリソース制限にも対応します。
主な機能
- 01コンテナの作成、起動、削除
- 02コンテナとサービスのログ取得
- 03イメージの一覧表示と整理
- 04Docker ネットワークの確認
- 05コンテナのリソース制限を管理
活用シーン
- 01コンテナの状態とログを確認
- 02コンテナを起動または削除
- 03未使用イメージやビルドキャッシュを整理
- 04ネットワークとサービスを確認
MCP 対応
MCP サーバーは、Portainer 経由で Docker のコンテナ、イメージ、ネットワーク、サービスを管理するツールを公開します。MCP クライアントはログの取得やコンテナのリソース制限の更新も行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Portainer MCP サーバー
Portainer の API を通じて AI アシスタントが Docker コンテナやサービスを操作できるようにする、Portainer 向けの Model Context Protocol(MCP)サーバーの実装です。
機能
- Docker コンテナの管理(作成、起動、削除、ログの取得)
- Docker イメージの管理(取得、未使用のイメージの削除、ビルドキャッシュの消去)
- Docker ネットワーク操作(詳細の確認、取得)
- Docker サービスの管理(取得、ログの取得)
- コンテナのリソース制限の管理
プロジェクト構成
portainer-ce-mcp/
├── src/
│ ├── api/
│ │ └── portainer.ts # Portainer API integration
│ ├── constants/
│ │ └── index.ts # Tool names and other constants
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ └── main.ts # Main server implementation
├── package.json # Project dependencies
├── package-lock.json # Dependency lock file
├── deno.json # Deno configuration
└── README.md # Project documentation
前提条件
- Deno
- API にアクセスできる Portainer インスタンス
- Docker がインストールされ、実行中であること
インストール
- リポジトリをクローンします。
git https://github.com/BirajMainali/poratiner-ce-mcp-server.git
cd portainer-ce-mcp
設定
サーバーには以下の環境変数が必要です。
PORTAINER_URL:Portainer インスタンスの URLPORTAINER_API_KEY:Portainer API キーPORTAINER_ENV_ID:Poratiner Environment 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 src/main.ts
MCP 設定
{
"mcpServers": {
"poratiner": {
"command": "C:\\MCP\\portainer-ce-mcp\\src.exe", // use executable path
"args": [
"y"
]
}
}
}
ライセンス
MIT
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
