Portainer MCP Server (Marco Beretta)
Portainer Docker management via 103 tools supporting any version without lock-in.
Data last scanned today · Reviewed today
Overview
This community-maintained server provides a comprehensive interface for Portainer, offering 103 tools that cover the full spectrum of Docker and Portainer API operations. Unlike version-locked alternatives, this implementation is designed to work across various Portainer versions and supports multi-instance management from a single configuration. The server features dual transport support, allowing for both stdio and Streamable HTTP connections. Users can leverage smart responses including pagination, log filtering, and container stats, with an optional read-only mode that disables all write-based tools.
Our verdict
With a security score of 27/100, this server is currently high-risk. Key factors include its status as a community-maintained project without official vendor backing and the lack of an detected license, which creates ambiguity regarding legal usage terms. Given that authentication and read-only implementation details have not yet undergone editorial review, this tool is recommended only for development or testing environments rather than mission-critical infrastructure.
- Supports 103 unique Docker and Portainer API tools
- Works across multiple Portainer versions without hardcoding
- Allows management of multiple Portainer instances
- Provides server-side log filtering and smart pagination
- High-risk security score due to lack of official maintenance
- No detected license for open-source usage
- Authentication methods have not been independently reviewed
Setup
{
"mcpServers": {
"berry-13-portainer-mcp": {
"args": [
"-y",
"portainer-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| list_containers | List containers with pagination & summary mode | low |
| inspect_container | Inspect with smart field filtering | low |
| container_logs | Logs with server-side grep filtering | low |
| container_stats | CPU, memory, network, I/O snapshot | low |
| container_processes | Running processes inside a container | low |
| read_file_from_container | Read any file from inside a container | low |
| list_files_in_container | Browse directories inside a container | low |
| diff_container | Filesystem changes since creation | low |
| create_container | Full container creation with all Docker options | medium |
| start_container | Start a stopped container | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›Can I use this server with different versions of Portainer?
Yes, this server is designed to work with any Portainer version without relying on hardcoded version checks.
›Does the server support managing multiple Portainer instances?
Yes, the server supports multi-instance configurations, allowing you to manage multiple Portainer servers from one MCP client.
›Is it possible to disable write operations for safety?
Yes, you can run the server in read-only mode, which prevents any write-based tools from being registered.
›Which transport protocols are supported?
The server supports dual transport: stdio for local CLI usage and Streamable HTTP for remote or web-based connections.
›How do I handle self-signed certificates with this server?
You can use the --skip-tls-verify flag or set the PORTAINER_SKIP_TLS_VERIFY environment variable to true to bypass TLS verification.
Badge
Maintain this server? Add the live badge to your README.