Skip to content

Application Development

Portainer MCP connector

The Portainer connector lets Claude, ChatGPT, Cursor, and the Elaichi Agent look at the containers, Kubernetes applications, cron jobs, ingresses, and node metrics in your Portainer environments, with every call tied to the person who asked.

  • How it connects. Connects with an API key. The credential goes into a vault nobody reads back.

  • One address. https://api.elaichi.ai/mcp, the same for every user.

  • Their own access. An agent never gets more than the person it acts for.

How to connect

How to connect Portainer to Claude, ChatGPT or Cursor

Two steps, about a minute.

1

In Elaichi

Connect Portainer once

  1. Open Connections, choose Add connection, and pick Portainer.

  2. Optionally set Share with to give a team access, then press Connect.

  3. Paste a Portainer API key. One person generates a token in Portainer and pastes it once. Everyone else works through Share with, and never sees it.

The credential is vaulted. Nobody reads it back, not even the AI.

Add connection

Choose a connector.

portainer
Portainer
Apache Airflow
Boomi
Browserbase
Caspio
Cloudflare
2

In your AI client

Point it at one endpoint

Everyone in the organization uses the same address, and each person only ever reaches what their own account allows.

Connect Portainer to Claude

  1. 1

    Open Customize, then Connectors.

  2. 2

    Press Add.

  3. 3

    Name it, paste the MCP server URL, then Continue.

    https://api.elaichi.ai/mcp
  4. 4

    Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

Connect Portainer to ChatGPT

  1. 1

    Open Plugins, then press the + button.

  2. 2

    Name it and paste the endpoint into Server URL.

    https://api.elaichi.ai/mcp
  3. 3

    Leave Authentication on OAuth, then tick the risk acknowledgement.

  4. 4

    Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

Connect Portainer to Cursor

  1. 1

    Open ~/.cursor/mcp.json.

  2. 2

    Add the endpoint under mcpServers.

    https://api.elaichi.ai/mcp
  3. 3

    Reload Cursor, then sign in and approve.

~/.cursor/mcp.json

{
  "mcpServers": {
    "elaichi": {
      "url": "https://api.elaichi.ai/mcp"
    }
  }
}

Set up per machine, so repeat it on each computer you work from.

Connect Portainer to any MCP client

  1. 1

    Add the endpoint as a remote MCP server.

    https://api.elaichi.ai/mcp
  2. 2

    Sign in and approve.

{
  "mcpServers": {
    "elaichi": {
      "url": "https://api.elaichi.ai/mcp"
    }
  }
}

The Elaichi Agent already has these tools, with nothing to set up.

Use cases

What teams do with Portainer through Elaichi

Every one of these runs inside the access the person already has, and lands in the same audit log.

  • Platform engineering

    See what is running before a change

    Ask which Kubernetes applications are deployed in each Portainer environment, how many there are, and how their resources look before you touch anything.

  • Operations

    Check cluster health from a chat window

    Pull node metrics and per-application resource usage from Portainer to find out what is running hot, without opening a dashboard first.

  • DevOps

    Clean up finished jobs and cron jobs

    List the jobs and cron jobs in a Portainer environment, spot the stale ones, and remove them by ID when the person asking is allowed to.

  • Security

    Review who holds which cluster role

    List Portainer roles, cluster roles, and cluster role bindings to see who can do what, and remove a binding that should not be there.

  • Networking

    Audit ingresses and ingress controllers

    Find out which ingresses exist, how many there are, and which controllers serve them, then update controller settings in bulk when policy changes.

  • Development

    Look up a config map without kubectl

    Ask what config maps a Portainer environment holds and get a plain description of an application when something in staging looks wrong.

Try asking

  • “List Portainer applications by cluster and show restart counts.”
  • “Which cron jobs ran in the production Portainer environment?”
  • “Summarize Portainer cluster roles and who they are bound to.”

See all 256 Portainer tools below

AI tools

Portainer tools for your AI agents

256 tools are ready to call through Elaichi's MCP endpoint the moment you connect Portainer, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

See it in Elaichi

What connecting Portainer gets you

6 screens from the product, each doing one job for your Portainer account.

The agent

Ask about clusters, get real answers.

Type a question in plain language and read it back from live Portainer records.

  • applications
  • cron jobs
  • configmaps
  • cluster roles

Ask Elaichi to work across your apps.

List Portainer applications by cluster and show restart counts.

Which cron jobs ran in the production Portainer environment?

Summarize Portainer cluster roles and who they are bound to.

Also runs in Claude, ChatGPT or Cursor

MCP clients

Claude, ChatGPT and Cursor connect here.

One governed Portainer endpoint over OAuth, no SDK and no shared API key.

ElaichiMCP clients
Claude ChatGPT Cursor

Copy the endpoint

https://api.elaichi.ai/mcp
Client Connected by Status Last used
Claude
E

Emma Laurent

• Connected 4 minutes ago
Cursor
S

Sofia Ricci

• Connected 2 hours ago
ChatGPT
C

Clara Nowak

• Connected Yesterday

Tool catalog

256 Portainer tools ready to call.

Applications, cron jobs, configmaps and cluster roles covered with no custom code.

  • List all Portainer roles
  • List all Portainer kubernete applications
  • List all Portainer applications counts
  • Delete a Portainer cluster role bindings delete by ID
ElaichiTools
Tool Action Description
List all Portainer roles List List all Portainer roles available for use. Returns an array of role objects including id, name, description, and priority.
List all Portainer kubernete applications List List Kubernetes applications across all namespaces in a Portainer environment. When nodeName is provided, returns only applications running on that node. Returns an array of application objects, each with an id and schema-specific attributes defined in the upstream K8sApplication schema. Required: kubernete_id, namespace, nodeName.
List all Portainer applications counts List Get the count of Kubernetes applications across all namespaces in a Portainer environment. Returns an integer count of applications, optionally filtered to a specific node when nodeName is supplied. Required: kubernete_id.
Delete a Portainer cluster role bindings delete by ID Delete Delete a list of cluster role bindings from a Portainer Kubernetes environment. Accepts an array of cluster role binding names to remove. Returns an empty 204 response on success. Required: kubernete_id (the environment identifier) and a JSON array of cluster role binding names in the request body.
Delete a Portainer cluster roles delete by ID Delete Delete a list of Kubernetes cluster roles in a Portainer environment. Returns an empty 204 response on success. Required: kubernete_id and a request body array of cluster role names.

Toolboxes

Every team gets its own toolbox.

Platform, SRE and app teams each hold a Portainer toolbox scoped to them.

  • Platform
  • SRE
  • Application development
  • Security
ElaichiToolboxes
Name Source template Tools Created

Platform toolbox

Portainer · clusters and environments

Portainer starter 18 Mar 4, 2026

SRE toolbox

Portainer · applications and cron jobs

9 Mar 2, 2026

Application development toolbox

Portainer · deployments and configmaps

24 Feb 27, 2026

Security toolbox

Portainer · cluster roles and bindings

Portainer starter 6 Feb 19, 2026

Release engineering toolbox

Portainer · stacks and rollouts

31 Jan 30, 2026

Support toolbox

Portainer · dashboards and describes

12 Jan 22, 2026

Shared connections

Share Portainer access, never the credential.

See who connected each account and how many teams and members use it.

  • Production
  • Staging
  • Platform EMEA
  • Edge sites
ElaichiConnections
Connection Scope Status Access
PO

Portainer (Production)

Connected by Emma Laurent

Personal • Active 1 team · 6 members
PO

Portainer (Staging)

Connected by James Whitfield

Organization • Active 3 teams · 24 members
PO

Portainer (Platform EMEA)

Connected by Sofia Ricci

Organization • Active 2 teams · 11 members
PO

Portainer (Edge sites)

Connected by Daniel Ortega

Personal • Needs re-auth 1 team · 3 members
PO

Portainer (Internal tooling)

Connected by Clara Nowak

Personal • Active Not shared
PO

Portainer (Customer clusters)

Connected by Michael Brennan

Personal • Active 2 teams · 9 members

Audit log

Every Portainer call is on record.

When, who, what happened, type and resource, appended and never edited.

  • When
  • Who
  • What happened
  • Type
ElaichiAudit log
When Who What happened Type

2 minutes ago

Mar 6, 2026, 3:10 PM

E

Emma Laurent

[email protected]

Restriction Created Access

8 minutes ago

Mar 6, 2026, 3:04 PM

J

James Whitfield

[email protected]

Restriction Updated Access

14 minutes ago

Mar 6, 2026, 2:58 PM

S

Sofia Ricci

[email protected]

Role Assigned Access

20 minutes ago

Mar 6, 2026, 2:52 PM

D

Daniel Ortega

[email protected]

Portainer Users Updated MCP

26 minutes ago

Mar 6, 2026, 2:46 PM

C

Clara Nowak

[email protected]

Portainer Applications Created MCP

32 minutes ago

Mar 6, 2026, 2:40 PM

M

Michael Brennan

[email protected]

Portainer Applications List Toolbox

Launching soon

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards are launching soon, on the Black plan.

Automations

A schedule fires, work finishes itself.

Fetch Portainer applications, group them, draft a digest, approve, post it back.

Portainer digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch applications

    Portainer

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Portainer

    Queued

Collections and dashboards

Portainer health arrives before you ask.

Four metrics, 14 days of records created, split by team, refreshed on schedule.

Portainer health

Refreshed 4 minutes ago · every 15 minutes · from the applications collection

Live

Applications

1,284 ↓ 12%

Cron jobs

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Applications created

Last 14 days

By team

Share of activity

Production 34%

Staging 27%

Platform EMEA 21%

Edge sites 18%

FAQ

Frequently asked questions

How do I connect Portainer to Claude?

Connect Portainer inside Elaichi first, then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Portainer connects with an API key, which is a token you create in your Portainer account settings and paste into Elaichi once. There is no OAuth application to register and no client ID or secret to generate. The whole thing takes a few minutes.

Does Portainer work with ChatGPT and Cursor as well as Claude?

Yes. Once Portainer is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Portainer once and every client you sign into can use it.

What can an AI agent actually do with my Portainer data?

It can list the Kubernetes applications, config maps, cron jobs, jobs, ingresses, and ingress controllers in your Portainer environments, read node and application metrics, and describe roles and cluster role bindings. Where you allow it, it can also delete a job, cron job, ingress, or cluster role binding by ID and update ingress controllers in bulk. Portainer exposes a lot through this connector, so short concrete asks like "list cron jobs in production" work better than long paragraphs.

Does connecting Portainer give the AI access to every environment?

No. The AI acts inside the access of whoever signed into Portainer, so it can only see the environments and Kubernetes resources that person's Portainer role already allows. Elaichi can narrow that further, for example to read-only, but it can never widen what Portainer itself grants.

Can my team share one Portainer connection?

Yes. One person connects Portainer in Elaichi and shares it with a team, and nobody else ever handles the Portainer API key. Each teammate still signs in to Elaichi as themselves, so every call to Portainer is logged under their own name.

Can I stop an agent from deleting or changing things in Portainer?

Yes. Restrictions in Elaichi work per action, so you can allow listing applications and reading metrics in Portainer while blocking every delete and bulk update. A blocked action is never shown to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

What happens to a Portainer connection when someone leaves?

Offboarding that person in Elaichi ends their access to Portainer through every AI client at once. If the Portainer connection was shared with a team, it keeps working for everyone else. Disconnecting Portainer once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

Put Portainer in front of your team

Fourteen days on Gold, no credit card. Connect it once and pick what each team can call.