Dockerized version of the [Portainer MCP Server](https://github.com/portainer/portainer-mcp) for easy deployment.
Connect Portainer MCP Docker to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Dockerized version of the Portainer MCP Server for easy deployment. The portainer mcp docker mcp server is what makes that connection.
ghcr.io/serraniel/portainer-mcp-docker on a container image is all you need. Most clients run it directly, so configuration is a few lines and a restart.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
Multi — architecture support (linux/amd64, linux/arm64)portainer_data — /dataURL — ** http://your-server:8080/sseAuthorization — ** Bearer token (the MCP_API_TOKEN you configured)v0.7.0-1 — First build of upstream v0.7.0 (stdio)v0.7.0-1-http — Same version, HTTP variantv0.7.0-2 — Rebuild (e.g., base image security update)latest — Most recent stdio buildVariable — RequiredPORTAINER_SERVER — YesPORTAINER_TOKEN — YesAPI_ACCESS_TOKEN — RecommendedConfiguration is passed through the environment: PORTAINER_TOKEN, API_ACCESS_TOKEN, MCP_API_TOKEN. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Portainer MCP Docker's toolset — Multi, portainer_data, URL and 11 more — is a fair guide to whether it matches your workflow. It is maintained by serraniel; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| Multi | architecture support (linux/amd64, linux/arm64) |
| portainer_data | /data |
| URL | ** http://your-server:8080/sse |
| Authorization | ** Bearer token (the MCP_API_TOKEN you configured) |
| v0.7.0-1 | First build of upstream v0.7.0 (stdio) |
| v0.7.0-1-http | Same version, HTTP variant |
| v0.7.0-2 | Rebuild (e.g., base image security update) |
| latest | Most recent stdio build |
| Variable | Required |
| PORTAINER_SERVER | Yes |
| PORTAINER_TOKEN | Yes |
| API_ACCESS_TOKEN | Recommended |
| PORTAINER_READ_ONLY | No |
| PORTAINER_DISABLE_VERSION_CHECK | No |
{
"mcpServers": {
"portainer-mcp-docker": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/serraniel/portainer-mcp-docker"],
"env": {
"PORTAINER_TOKEN": "your-value",
"API_ACCESS_TOKEN": "your-value",
"MCP_API_TOKEN": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| PORTAINER_TOKEN | Credential the server authenticates with. | Yes |
| API_ACCESS_TOKEN | Credential the server authenticates with. | Yes |
| MCP_API_TOKEN | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.