Skip to content

Meta-Tools Guide

By default, Portainer MCP exposes 15 meta-tools instead of 98 individual tools. Each meta-tool groups related operations under a single tool with an action parameter that routes to the correct handler.

LLMs work more effectively when they have fewer tools to choose from. With 98 individual tools, the AI assistant must decide which specific tool to call, which increases the chance of selecting the wrong one or getting confused.

With 15 meta-tools, the assistant only needs to:

  1. Pick the right domain (e.g., manage_stacks)
  2. Choose the right action (e.g., list_stacks)

This approach reduces tool selection errors and improves the overall AI assistant experience.

Each meta-tool call includes:

  • action (required, enum) — the specific operation to perform
  • Additional parameters as needed by the selected action
{
"tool": "manage_stacks",
"arguments": {
"action": "list_stacks"
}
}
{
"tool": "manage_environments",
"arguments": {
"action": "get_environment",
"id": 1
}
}

Parameters are passed through directly to the underlying handler. Each action accepts the same parameters as its granular tool counterpart — see the Tools Reference for parameter details.


manage_environments 16 actions

Section titled “manage_environments ”

Manage environments (endpoints), environment groups, and environment tags.

ActionDescriptionRead-Only
list_environmentsList all environments
get_environmentGet details of a specific environment
delete_environmentDelete an environment
snapshot_environmentTrigger snapshot for one environment
snapshot_all_environmentsTrigger snapshot for all environments
update_environment_tagsUpdate tags on an environment
update_environment_user_accessesUpdate user access policies
update_environment_team_accessesUpdate team access policies
list_environment_groupsList all environment groups
create_environment_groupCreate a new environment group
update_environment_group_nameUpdate group name
update_environment_group_environmentsUpdate group membership
update_environment_group_tagsUpdate group tags
list_environment_tagsList all environment tags
create_environment_tagCreate a new tag
delete_environment_tagDelete a tag

manage_stacks 13 actions

Section titled “manage_stacks ”

Manage Docker Compose and Edge stacks.

ActionDescriptionRead-Only
list_stacksList all edge stacks
list_regular_stacksList non-edge stacks
get_stackGet stack details
get_stack_fileGet stack compose file
inspect_stack_fileInspect stack compose file
create_stackCreate a new stack
update_stackUpdate an existing stack
delete_stackDelete a stack
update_stack_gitUpdate stack git configuration
redeploy_stack_gitRedeploy stack from git
start_stackStart a stopped stack
stop_stackStop a running stack
migrate_stackMigrate stack to another environment

manage_access_groups 7 actions

Section titled “manage_access_groups ”

Manage access groups and their user/team access policies.

ActionDescriptionRead-Only
list_access_groupsList all access groups
create_access_groupCreate a new access group
update_access_group_nameUpdate group name
update_access_group_user_accessesUpdate user access policies
update_access_group_team_accessesUpdate team access policies
add_environment_to_access_groupAdd environment to group
remove_environment_from_access_groupRemove environment from group

Manage Portainer users.

ActionDescriptionRead-Only
list_usersList all users
get_userGet user details
create_userCreate a new user
delete_userDelete a user
update_user_roleUpdate user role

Manage teams and team membership.

ActionDescriptionRead-Only
list_teamsList all teams
get_teamGet team details
create_teamCreate a new team
delete_teamDelete a team
update_team_nameUpdate team name
update_team_membersUpdate team membership

Interact with Docker environments.

ActionDescriptionRead-Only
get_docker_dashboardGet Docker environment dashboard
docker_proxyProxy arbitrary Docker API calls

manage_kubernetes 5 actions

Section titled “manage_kubernetes ”

Interact with Kubernetes environments.

ActionDescriptionRead-Only
get_kubernetes_resource_strippedGet K8s resource (metadata stripped)
get_kubernetes_dashboardGet K8s environment dashboard
list_kubernetes_namespacesList all namespaces
get_kubernetes_configGet kubeconfig
kubernetes_proxyProxy arbitrary K8s API calls

Manage Helm repositories, charts, and releases.

ActionDescriptionRead-Only
list_helm_repositoriesList Helm repositories
search_helm_chartsSearch for charts
list_helm_releasesList installed releases
get_helm_release_historyGet release revision history
add_helm_repositoryAdd a Helm repository
remove_helm_repositoryRemove a Helm repository
install_helm_chartInstall a chart
delete_helm_releaseDelete a release

manage_registries 5 actions

Section titled “manage_registries ”

Manage Docker registries (Quay, Azure, DockerHub, GitLab, ECR, custom).

ActionDescriptionRead-Only
list_registriesList all registries
get_registryGet registry details
create_registryCreate a new registry
update_registryUpdate a registry
delete_registryDelete a registry

manage_templates 7 actions

Section titled “manage_templates ”

Manage custom templates and application templates.

ActionDescriptionRead-Only
list_custom_templatesList custom templates
get_custom_templateGet custom template details
get_custom_template_fileGet custom template file content
create_custom_templateCreate a custom template
delete_custom_templateDelete a custom template
list_app_templatesList application templates
get_app_template_fileGet app template file content

manage_backups 5 actions

Section titled “manage_backups ”

Manage Portainer server backups (local and S3).

ActionDescriptionRead-Only
get_backup_statusGet last backup status
get_backup_s3_settingsGet S3 backup settings
create_backupCreate a local backup
backup_to_s3Backup to S3
restore_from_s3Restore from S3 backup

manage_webhooks 3 actions

Section titled “manage_webhooks ”

Manage webhooks for services and containers.

ActionDescriptionRead-Only
list_webhooksList all webhooks
create_webhookCreate a new webhook
delete_webhookDelete a webhook

Manage Edge jobs and Edge update schedules.

ActionDescriptionRead-Only
list_edge_jobsList all edge jobs
get_edge_jobGet edge job details
get_edge_job_fileGet edge job script content
create_edge_jobCreate a new edge job
delete_edge_jobDelete an edge job
list_edge_update_schedulesList edge update schedules

manage_settings 5 actions

Section titled “manage_settings ”

Manage Portainer server settings and SSL configuration.

ActionDescriptionRead-Only
get_settingsGet current settings
get_public_settingsGet public (unauthenticated) settings
update_settingsUpdate server settings
get_ssl_settingsGet SSL configuration
update_ssl_settingsUpdate SSL configuration

System information, roles, authentication, and message of the day.

ActionDescriptionRead-Only
get_system_statusGet system status and version
list_rolesList all available roles
get_motdGet message of the day
authenticateAuthenticate a user
logoutLog out current session

When -read-only is enabled, each meta-tool’s action enum is filtered to include only read-only actions. For example, manage_users would only offer list_users and get_user.

If all actions in a group are write-only, the entire meta-tool is omitted. This ensures the AI assistant cannot accidentally discover or invoke write operations.

To use the 98 individual tools instead:

Terminal window
./portainer-mcp-enhanced -server "..." -token "..." -granular-tools

In granular mode, each tool is registered separately with its own name (e.g., get_environments, create_stack, etc.). See the Tools Reference for the complete list.