portainer-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORTAINER_PAT | Yes | Portainer API token (Personal Access Token) | |
| PORTAINER_URL | No | Portainer base URL | http://localhost:9000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_environmentsA | List all Portainer environments/endpoints |
| list_containersA | List containers in a Portainer environment |
| inspect_containerC | Get detailed info about a container |
| get_container_logsC | Get logs from a container |
| start_containerB | Start a stopped container |
| stop_containerB | Stop a running container |
| restart_containerC | Restart a container |
| pull_imageB | Pull a Docker image from a registry |
| delete_imageC | Delete a Docker image |
| recreate_containerA | Recreate a container with an updated image (stops old container, pulls new image, starts new container) |
| list_stacksA | List all stacks in Portainer |
| inspect_stackC | Get details of a specific stack |
| get_stack_fileA | Get the docker-compose file content of a stack |
| list_imagesB | List Docker images in an environment |
| list_networksB | List Docker networks in an environment |
| list_volumesB | List Docker volumes in an environment |
| portainer_list_unused_imagesA | List Docker images not used by any container (dangling images) |
| portainer_cleanup_unused_imagesB | Delete all unused Docker images with optional force flag |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target distinct resource-action pairs, but list_images and portainer_list_unused_images overlap in purpose, as do delete_image and portainer_cleanup_unused_images. However, the names and descriptions clearly distinguish 'all' vs 'unused' variants, reducing ambiguity.
The majority follow a verb_noun pattern (list_, get_, inspect_, start_, stop_, etc.), but the two tools prefixed with portainer_ (portainer_list_unused_images, portainer_cleanup_unused_images) break the pattern. The mix of list/get/inspect verbs is also slightly inconsistent, though still readable.
18 tools is on the heavier side but reasonable for a Docker/Portainer management server covering environments, containers, images, stacks, networks, and volumes. Each tool serves a distinct purpose, with no apparent duplication.
The toolset covers container lifecycle (start/stop/restart/recreate), image management (pull/delete/cleanup), and stack inspection, but lacks container removal, stack create/update/delete, and network/volume mutations. These are notable gaps for a comprehensive Portainer manager.