Skip to main content
Glama
BirajMainali

Portainer MCP Server

by BirajMainali

Portainer MCP Server

A Model Context Protocol (MCP) server implementation for Portainer, enabling AI assistants to interact with Docker containers and services through Portainer's API.

Features

  • Docker container management (create, start, delete, fetch logs)

  • Docker image management (fetch, delete unused, clear build cache)

  • Docker network operations (inspect, fetch)

  • Docker service management (fetch, logs)

  • Resource limit management for containers

Related MCP server: Portainer MCP Server

Project Structure

portainer-ce-mcp/
├── src/
│   ├── api/
│   │   └── portainer.ts      # Portainer API integration
│   ├── constants/
│   │   └── index.ts          # Tool names and other constants
│   ├── types/
│   │   └── index.ts          # TypeScript type definitions
│   └── main.ts               # Main server implementation
├── package.json              # Project dependencies
├── package-lock.json         # Dependency lock file
├── deno.json                 # Deno configuration
└── README.md                 # Project documentation

Prerequisites

  • Deno

  • Portainer instance with API access

  • Docker installed and running

Installation

  1. Clone the repository:

git https://github.com/BirajMainali/poratiner-ce-mcp-server.git
cd portainer-ce-mcp

Configuration

The server requires the following environment variables:

  • PORTAINER_URL: The URL of your Portainer instance

  • PORTAINER_API_KEY: Your Portainer API key

  • PORTAINER_ENV_ID: Your Poratiner Environment Id

API Tools

The server provides the following tools for AI assistants:

Container Management

  • FETCH_DOCKER_CONTAINERS: List all containers

  • CREATE_DOCKER_CONTAINER: Create a new container

  • START_DOCKER_CONTAINER: Start a container

  • DELETE_DOCKER_CONTAINER: Remove a container

  • FETCH_CONTAINER_LOGS: Get container logs

  • UPDATE_CONTAINER_RESOURCE_LIMITS: Update container resources

  • DELETE_STOPPED_CONTAINERS: Clean up stopped containers

Image Management

  • FETCH_IMAGES: List all images

  • DELETE_IMAGE_BUILD_CACHE: Clear build cache

  • DELETE_UNUSED_IMAGES: Remove unused images

Network Operations

  • FETCH_NETWORKS: List all networks

  • INSPECT_NETWORK: Get network details

Service Management

  • FETCH_SERVICES: List all services

  • FETCH_SERVICE_LOG: Get service logs

Development

Building

deno compile --allow-env --allow-read --allow-net --env-file=.env  src/main.ts

Inspect MCP Server

npx @modelcontextprotocol/inspector deno run --allow-env --allow-read --allow-net --env-file=.env  src/main.ts

MCP Config

{
  "mcpServers": {
    "poratiner": {
      "command": "C:\\MCP\\portainer-ce-mcp\\src.exe", // use executable path
      "args": [
        "y"
      ]
    }
  }
}

License

MIT

Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage Docker containers, stacks, images, volumes, and networks through Portainer's API. Supports listing resources, viewing logs, and performing container operations with configurable write permissions.
    1
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to manage Portainer container environments through natural language, including deploying stacks, managing containers, images, volumes, networks, and executing commands.
    53
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables managing Docker containers and Portainer resources through natural language, supporting stack deployment, container operations, and environment monitoring.
    -