Indexed by TopGit from live GitHub metadata: portainer/portainer-mcp has 213 stars, written primarily in Python. Official Portainer MCP server
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Official MCP server for Portainer, generated from the Portainer OpenAPI spec via FastMCP.
Overview
This MCP server exposes the Portainer REST API as MCP tools: list and inspect environments, manage GitOps workflows, troubleshoot Docker and Kubernetes resources. It also supports proxying requests to the underlying Docker and K8s APIs of each environment.
Match the MCP server's minor version to your Portainer instance's minor — e.g. MCP server 2.44.x with Portainer 2.44.x. See Version compatibility for details.
Getting started
The MCP server supports different deployment scenarios:
execute it locally via uvx
install it as a MCP bundle
deploy it as a container
Use the uvx approach or the MCP bundle to explore the MCP capabilities locally and deploy it inside your infrastructure as a container for a team based deployment setup.
[!NOTE]
Before using the MCP, make sure to generate an API key in Portainer under My Account → Access tokens first as both paths need it.
MCP bundle (one-click install)
The recommended way to test the MCP server locally. Your client must support MCP bundles:
Fetch the self-contained .mcpb bundle for your platform from the latest release
Double-click to install
Enter your Portainer URL and API key.
Single user (stdio via uvx)
The other way to test the MCP server locally. Runs as a stdio process on your machine and connects directly to the Portainer instance.
[!NOTE]
uv must be installed and available on PATH.
See the uv install docs.
Set PORTAINER_TLS_VERIFY=0 if your Portainer instance uses self-signed TLS certificates.
The recommended way to have multiple users interacting with your Portainer instance via MCP. Deployed as a container inside your infrastructure, accessed by users from their workstations over HTTPS. A shared secret gates the MCP server and every client also forwards its own Portainer API key so that each user acts under their own Portainer identity.
[!IMPORTANT]
Both the gate secret and each user Portainer API key are sent across the wire. The container deployment requires you to declare a transport posture: bring your own TLS certificates, attest a TLS-terminating reverse proxy setup or explicitly opt-in to plaintext.
Plaintext is a deliberate, dangerous choice — see the three options below.
It is NOT recommended to expose this MCP server on the public internet, host it inside your private infrastructure even behind a TLS proxy.
See more info below about the different deployment scenarios. For any of these scenarios:
Set PORTAINER_MCP_ALLOWED_HOSTS to the hostname or IP address that users will use to reach the MCP — otherwise the DNS-rebinding allowlist 421-rejects the request.
PORTAINER_MCP_AUTH_TOKEN is required in HTTP mode. It's the shared front-gate secret you distribute to your users; their MCP client sends it via the Authorization header. It only admits the request — what each user can do is governed by their own Portainer API key. The one exception: behind an identity-aware proxy that owns the Authorization header, use PORTAINER_MCP_TRUST_PROXY_AUTH=1 instead (see Option D).
Option A - BYO certificates
[!NOTE]
The server will warn if using self-signed certificates. Using a private CA cert won't warn, but in both cases you will likely need to jump through some hoops to configure the MCP clients to accept it.
Deploy the container to use your own set of TLS certificates:
If your users authenticate through an identity-aware proxy that speaks the MCP OAuth flow (such as Pomerium in MCP server mode), the proxy mints its own access token and owns the Authorization header. Declare the trust-proxy auth posture instead of PORTAINER_MCP_AUTH_TOKEN:
[!NOTE]
Same rules as Option B: don't publish the container port (only the proxy may reach it), and make sure the proxy forwards the original Host and X-Forwarded-Proto: https headers.
Each request still needs the caller's own Portainer API key in X-Portainer-API-Key — have the proxy inject it per-user, or have each client send it. The proxy handles who gets in; the Portainer key governs what they can do.
No gate token is configured: the request is admitted by proxy attestation (it must arrive from PORTAINER_MCP_FORWARDED_ALLOW_IPS — inherited as the trust boundary, * refuses to boot) and by the caller's validated Portainer key. If the MCP server terminates TLS itself instead of the proxy, set PORTAINER_MCP_TRUSTED_PROXY_AUTH_IPS=<proxy ip/cidr> in place of the two TRUST_PROXY_TLS/FORWARDED_ALLOW_IPS lines. See docs/configuration.md for the full posture rules.
Restricting and expanding the MCP server capabilities
The MCP server comes with the following capabilities enabled by default:
Basic Portainer operation support (settings, version, environments...)
Docker operation support
Kubernetes operation support
Docker and Kubernetes proxy support
Redacting environment variables values (enabled by default)
For restricting or expanding this set of capabilities, see docs/profiles.md.
Version compatibility
Match the MCP server's minor to your Portainer minor. The major+minor tracks the Portainer API version the embedded spec targets.
Server version
Portainer (CE / EE)
2.44.x
2.44.x
2.43.x
2.43.x
2.42.x
2.42.x
2.41.x
2.41.x
For more information about the versioning policy, see docs/versioning.md.
Configuration
The MCP server exposes different capabilities such as:
Enable different set of tools based on specific profile configuration
Widen the API coverage by specifying extra tags to cover
Expose only read-only capabilities
Disable proxy capabilities
Tuning the transport capabilities and configuring the TLS posture
Logging configuration
For more information about the MCP server configuration, refer to docs/configuration.md.
How does portainer/portainer-mcp compare to other AI Tools projects?
portainer/portainer-mcp is tracked by TopGit in the AI Tools category, with 213 GitHub stars and written in Python. Browse the AI Tools topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does portainer/portainer-mcp have?
portainer/portainer-mcp has 213 GitHub stars — refresh the page for the live number, or check github.com/portainer/portainer-mcp. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is portainer/portainer-mcp open source?
Yes — portainer/portainer-mcp ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/portainer/portainer-mcp.
What else is in the AI Tools space?
portainer/portainer-mcp is tracked by TopGit under the AI Tools category, alongside 6 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is portainer/portainer-mcp?
portainer/portainer-mcp (portainer/portainer-mcp) is a Python project on GitHub. From the project's own README: Official Portainer MCP server
Where can I see portainer/portainer-mcp in action?
The project maintains a homepage at https://portainer.io. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about portainer/portainer-mcp?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/portainer/portainer-mcp is the definitive source.
Read full README in the tab above.
Is portainer-mcp worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of portainer-mcp.