Skip to main content
Glama

MCP Server para Gerenciamento Portainer

Servidor MCP (Model Context Protocol) que permite ao modelo de IA gerenciar containers Docker através da API do Portainer.

📋 Visão Geral

Este projeto implementa um MCP Server que expõe ferramentas para gerenciar:

  • Containers: listar, criar, iniciar, parar, remover, inspecionar

  • Imagens: listar, pull, remover, inspecionar

  • Networks: listar, criar, remover

  • Volumes: listar, criar, remover

  • Configuração: definir/obter credenciais do Portainer

Related MCP server: Portainer MCP Server

🚀 Quick Start

# Clonar o repositório
git clone https://github.com/onlitec/VPS-MCP-SERVER.git
cd VPS-MCP-SERVER

# Instalar dependências
npm install

# Configurar variáveis de ambiente
cp .env.example .env
# Editar .env com suas credenciais do Portainer

# Build
npm run build

# Testar conexão
npm run test:connection

📚 Documentação

🔧 Requisitos

  • Node.js 18+

  • Acesso a uma instância Portainer

  • Chave de API do Portainer

📝 Licença

MIT

Available Tools

21 tools
create_containerC

Create a new container

Inputs: image (required), name, env, ports, +3 more.

create_networkC

Create a new Docker network

Inputs: name (required), driver, internal, subnet.

create_volumeC

Create a new Docker volume

Inputs: name (required), driver, labels.

get_containerC

Get detailed information about a specific container

Inputs: id (required).

get_imageB

Get detailed information about a specific image

Inputs: id (required).

get_portainer_configB

Get current Portainer configuration (API key is masked for security)

Inputs: no named parameters.

list_containersC

List all Docker containers

Inputs: all.

list_endpointsA

List available Portainer endpoints to find the correct Endpoint ID. Use this when you get an "Object not found" error during connection test.

Inputs: no named parameters.

list_imagesC

List all Docker images

Inputs: all.

list_networksA

List all Docker networks

Inputs: no named parameters.

list_volumesA

List all Docker volumes

Inputs: no named parameters.

pull_imageC

Pull an image from a registry

Inputs: image (required).

remove_containerC

Remove a container

Inputs: id (required), force, volumes.

remove_imageC

Remove an image

Inputs: id (required), force.

remove_networkC

Remove a Docker network

Inputs: id (required).

remove_volumeC

Remove a Docker volume

Inputs: name (required), force.

restart_containerC

Restart a container

Inputs: id (required), timeout.

set_portainer_configB

Configure Portainer connection settings (URL, API Key, Endpoint ID). The settings are saved to the .env file.

Inputs: url, api_key, endpoint_id.

start_containerC

Start a stopped container

Inputs: id (required).

stop_containerC

Stop a running container

Inputs: id (required), timeout.

test_portainer_connectionB

Test the connection to Portainer API with current configuration

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 21 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. The tools are organized around specific Docker/Portainer resources (containers, images, networks, volumes, Portainer config) and actions (create, get, list, remove, start/stop/restart), making it easy for an agent to select the correct one. For example, 'create_container' vs 'start_container' serve different lifecycle stages.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case throughout. Verbs like create, get, list, remove, start, stop, restart, pull, test, and set are applied predictably to nouns like container, image, network, volume, and portainer_config. There are no deviations in naming conventions.

    Tool Count4/5

    With 21 tools, the count is slightly high but reasonable for the server's purpose of managing Docker and Portainer operations. It covers a comprehensive set of actions across multiple resource types, though it might feel heavy compared to a more minimal set. Each tool earns its place by addressing a specific need in container management.

    Completeness5/5

    The tool surface provides complete CRUD/lifecycle coverage for Docker resources (containers, images, networks, volumes) and Portainer configuration. It includes creation, retrieval, listing, removal, and operational controls (start/stop/restart), with no obvious gaps. The Portainer tools handle connection testing and configuration, ensuring agents can manage the full workflow.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to manage Docker containers, deploy stacks, and monitor services across multiple Docker hosts from one centralized location. Supports container lifecycle management, Docker Compose operations, and infrastructure orchestration through natural language commands.
      6
      MIT
    • A
      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
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI assistants to manage Portainer container environments through natural language, including deploying stacks, managing containers, images, volumes, networks, and executing commands.
      53
      59 PyPI
      2
      MIT