Go implementation of a Model Context Protocol (MCP) server that exposes Portainer environments to LLM-based assistants. Ships a CLI that lets AI tools list, create or update Portainer resources (users, environments, stacks, etc.) and proxy raw Docker/Kubernetes API calls.
https://github.com/portainer/portainer-mcpStop clicking through Portainer's interface to check container status, deploy stacks, or manage environments. The Portainer MCP server connects your AI assistant directly to your Portainer instance, turning natural language into container management actions.
Ask "What containers are running in production?" or "Deploy the staging environment stack" and watch your AI execute the commands instantly.
If you're managing containers with Portainer, you know the drill: log into the web UI, navigate through menus, check different environments, copy-paste stack configurations. It works, but it's manual and time-consuming.
Portainer MCP eliminates that friction by exposing your entire Portainer setup through the Model Context Protocol. Your AI can now list environments, create stacks, manage users, update teams, and even proxy raw Docker and Kubernetes API calls - all through conversation.
This isn't a wrapper around the Portainer API - it's an official Portainer project that speaks MCP natively. Configure it once in Claude Desktop or your preferred AI client, and you get immediate access to:
The setup is straightforward - point it at your Portainer instance with an API token, and you're running container operations through natural language.
Instead of switching contexts between your code editor and Portainer's web interface, stay in your AI chat and ask:
Each request executes immediately without web UI navigation or context switching.
The read-only mode gives you complete inspection capabilities without modification risks. Enable it for team members who need visibility but shouldn't make changes, or use it as a safe default while your team learns the tool.
With version-pinned Portainer compatibility and comprehensive tool definitions, you get predictable behavior across deployments.
Add this to your Claude Desktop configuration and start managing containers through conversation immediately:
{
"mcpServers": {
"portainer": {
"command": "/path/to/portainer-mcp",
"args": [
"-server", "your-portainer:9000",
"-token", "your-api-token",
"-read-only"
]
}
}
}
The tool definitions are customizable - modify descriptions to match your team's terminology or remove tools you don't need. Everything works with your existing Portainer setup without requiring changes to your container infrastructure.
Your containers are already running. Your Portainer instance is already configured. Adding natural language control is just one configuration file away.