Skip to main content
Glama
ginkida

portainer-mcp

by ginkida

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTAINER_URLYesPortainer base URL (e.g. https://portainer.example.com:9443)
PORTAINER_PASSWORDYesPortainer password
PORTAINER_USERNAMEYesPortainer username
PORTAINER_VERIFY_SSLNoSet to 'false' for self-signed certificatestrue
PORTAINER_DEFAULT_ENDPOINTNoDefault endpoint ID for container/image/stack operations1

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
portainer_statusA

Check Portainer connection and authentication status.

portainer_endpoints_listB

List all Portainer environments (endpoints).

portainer_endpoint_inspectC

Get details of a specific Portainer environment (endpoint).

Args: endpoint_id: The ID of the endpoint to inspect

portainer_stacks_listA

List all Portainer stacks.

portainer_stack_inspectA

Get details of a stack including its compose file content.

Args: stack_id: The ID of the stack to inspect

portainer_stack_deployA

Deploy a new stack from a docker-compose string.

Args: name: Name of the new stack compose_content: Docker Compose file content (YAML string) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_stack_updateA

Update an existing stack, optionally with new compose content.

Args: stack_id: The ID of the stack to update compose_content: New Docker Compose content (YAML). If omitted, redeploys existing. endpoint_id: Endpoint ID (uses default if omitted)

portainer_stack_deleteA

Delete a stack.

Args: stack_id: The ID of the stack to delete

portainer_stack_startC

Start a stopped stack.

Args: stack_id: The ID of the stack to start

portainer_stack_stopB

Stop a running stack.

Args: stack_id: The ID of the stack to stop

portainer_containers_listA

List containers on an endpoint.

Args: endpoint_id: Target endpoint ID (uses default if omitted) show_all: If true, show all containers including stopped ones

portainer_container_inspectA

Get detailed information about a container.

Args: container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_startB

Start a stopped container.

Args: container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_stopB

Stop a running container.

Args: container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_restartB

Restart a container.

Args: container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_removeA

Remove a container.

Args: container_id: Container ID or name force: Force removal of a running container (default false) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_logsA

Get container logs.

Args: container_id: Container ID or name tail: Number of lines from the end of the logs (default 100, max 1000) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_logs_grepA

Search container logs for lines matching a regex pattern.

Returns only matching lines (with optional context). Useful for finding specific errors, status codes, or keywords without downloading the full log.

Args: container_id: Container ID or name pattern: Regex pattern to search for (case-insensitive) tail: Number of log lines to fetch before filtering (default 500, max 1000) context_lines: Lines of context around each match (default 0, max 5) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_stack_logs_errorsA

Scan all running containers in a stack for errors.

Fetches logs from every running container whose name starts with the given stack name and filters for common error patterns: HTTP 4xx/5xx, exceptions, fatal/critical/emergency log levels, panics, OOM, PHP errors, segfaults, etc.

Args: stack_name: Stack name prefix (e.g. "taylor", "blog", "somnlyx") tail: Log lines per container to scan (default 500, max 1000) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_laravel_errorsA

Get Laravel application-level errors from storage/logs/laravel.log.

Executes inside each running backend/horizon container of a stack to read the actual Laravel error log (not nginx access log). Returns production.ERROR entries with exception messages and context.

Use this AFTER portainer_stack_logs_errors to get root cause details behind HTTP 500 errors seen in nginx access logs.

Args: stack_name: Stack name prefix (e.g. "taylor", "blog", "somnlyx") tail: Number of error lines to return per container (default 50, max 200) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_laravel_tinkerA

Execute PHP code via Laravel Tinker inside a stack's backend container.

Finds a running backend container for the given stack and runs php artisan tinker --execute="<code>". Useful for inspecting database records, checking model state, running one-off fixes, and debugging application issues.

Args: stack_name: Stack name prefix (e.g. "taylor", "blog", "somnlyx") code: PHP code to execute (will be passed to tinker --execute) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_statsA

Get live CPU, memory, and network stats for a container.

Args: container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_container_execA

Execute a command inside a running container and return its output.

Args: container_id: Container ID or name command: Shell command to execute (run via sh -c) workdir: Working directory inside the container user: User to run the command as (e.g. 'root', '1000:1000') endpoint_id: Target endpoint ID (uses default if omitted)

portainer_images_listA

List Docker images on an endpoint.

Args: endpoint_id: Target endpoint ID (uses default if omitted)

portainer_image_inspectA

Get detailed information about a Docker image.

Args: image_id: Image ID or name:tag endpoint_id: Target endpoint ID (uses default if omitted)

portainer_image_pullA

Pull a Docker image from a registry.

Args: image_name: Image name (e.g. 'nginx', 'ghcr.io/org/app') tag: Image tag (default 'latest') registry_auth: Optional base64-encoded JSON ({"username":..,"password":..,"serveraddress":..}) forwarded as X-Registry-Auth. Required for private registries. endpoint_id: Target endpoint ID (uses default if omitted)

portainer_image_removeA

Remove a Docker image.

Args: image_id: Image ID or name:tag endpoint_id: Target endpoint ID (uses default if omitted)

portainer_volumes_listB

List Docker volumes on an endpoint.

Args: endpoint_id: Target endpoint ID (uses default if omitted)

portainer_volume_inspectA

Get detailed information about a Docker volume.

Args: volume_name: Volume name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_volume_createA

Create a Docker volume.

Args: name: Volume name driver: Volume driver (default 'local') labels: Optional labels as key-value pairs endpoint_id: Target endpoint ID (uses default if omitted)

portainer_volume_removeA

Remove a Docker volume.

Args: volume_name: Volume name force: Force removal even if in use (default false) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_networks_listC

List Docker networks on an endpoint.

Args: endpoint_id: Target endpoint ID (uses default if omitted)

portainer_network_inspectB

Get detailed information about a Docker network.

Args: network_id: Network ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_network_createA

Create a Docker network.

Args: name: Network name driver: Network driver (default 'bridge'; use 'overlay' for Swarm) internal: Restrict external access (default false) labels: Optional labels as key-value pairs endpoint_id: Target endpoint ID (uses default if omitted)

portainer_network_removeA

Remove a Docker network.

Args: network_id: Network ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_network_connectB

Connect a container to a network.

Args: network_id: Network ID or name container_id: Container ID or name endpoint_id: Target endpoint ID (uses default if omitted)

portainer_network_disconnectA

Disconnect a container from a network.

Args: network_id: Network ID or name container_id: Container ID or name force: Force disconnect (default false) endpoint_id: Target endpoint ID (uses default if omitted)

portainer_docker_infoA

Get Docker system information for an endpoint (OS, CPU, memory, containers count, etc).

Args: endpoint_id: Target endpoint ID (uses default if omitted)

portainer_docker_disk_usageA

Get Docker disk usage (containers, images, volumes, build cache).

Args: endpoint_id: Target endpoint ID (uses default if omitted)

portainer_users_listB

List all Portainer users.

portainer_user_inspectA

Get details of a specific Portainer user.

Args: user_id: The ID of the user to inspect

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ginkida/portainer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server