1Panel

Un servidor MCP para 1Panel, un panel moderno de operación y mantenimiento de servidores Linux.

Documentación

Servidor MCP de 1Panel

El Servidor MCP de 1Panel es una implementación del servidor del Protocolo de Contexto de Modelos (MCP) para 1Panel.

Instalación

Requisitos previos

  • Go 1.25.0 o superior
  • 1Panel existente

Compilar desde el código fuente

  1. Clonar el repositorio:

    git clone https://github.com/1Panel-dev/mcp-1panel.git
    cd mcp-1panel
    
  2. Compilar el proyecto:

    make build
    

    Mover ./build/mcp-1panel a la ruta de variables de entorno del sistema.

Instalar usando go install

go install github.com/1Panel-dev/mcp-1panel@latest

Uso

Ejemplo de configuración para Cursor y Windsurf:

Modo stdio

{
  "mcpServers": {
    "mcp-1panel": {
      "command": "mcp-1panel",
      "env": {
        "PANEL_ACCESS_TOKEN": "<your 1Panel access token>",
        "PANEL_HOST": "such as http://localhost:8080"
      }
    }
  }
}

HTTP transmisible con TLS independiente

mcp-1panel puede crear y conservar su propia CA local y certificado de servidor HTTPS. No depende de la gestión de certificados de 1Panel.

MCP_AUTH_TOKEN=<strong random MCP token> \
PANEL_HOST=<your 1Panel access address> \
PANEL_ACCESS_TOKEN=<your 1Panel access token> \
mcp-1panel \
  -transport streamable-http \
  -addr "https://127.0.0.1:8000/mcp" \
  -tls-hosts "localhost,127.0.0.1"

En el primer inicio, el servidor escribe la ruta de la CA y la huella digital SHA-256 en stderr. Configure el cliente MCP para confiar en el ca.crt generado; no desactive la verificación de certificados. La CA se reutiliza mientras el certificado del servidor se renueva automáticamente.

Los transportes HTTP requieren un token de autenticación MCP de forma predeterminada. Los clientes deben enviarlo en cada solicitud como Authorization: Bearer <token>; el encabezado privado X-MCP-Token no se acepta. Este es un modo de token precompartido destinado a una implementación de un solo usuario/privada, no al flujo de autorización OAuth de MCP. Coloque el servidor detrás de una puerta de enlace compatible con OAuth cuando se requiera autorización multiusuario basada en estándares.

Use stdio para clientes de escritorio locales cuando sea posible. Los listeners que no sean de bucle local requieren una dirección https://, -allow-remote-http, un token, SAN de certificado explícitas y una lista de permitidos de Origin adecuada.

Niveles de acceso

El servidor tiene como valor predeterminado readonly. Los permisos de las herramientas se aplican cuando se registran, por lo que las herramientas no permitidas no son devueltas por tools/list y no se pueden llamar directamente.

NivelHerramientas
readonlyConsultas, listados y lecturas de estado
readwritereadonly más herramientas existentes de creación de sitios web, certificados y bases de datos
fullreadwrite más herramientas existentes de instalación de aplicaciones

Establezca el nivel con -access-level o MCP_ACCESS_LEVEL. La configuración de línea de comandos tiene prioridad.

Opciones de línea de comandos

  • -token: token de acceso de 1Panel; prefiera PANEL_ACCESS_TOKEN para evitar exponer secretos en listas de procesos
  • -host: dirección de acceso de 1Panel; prefiera PANEL_HOST para configuración basada en variables de entorno
  • -transport: tipo de transporte (stdio o streamable-http; predeterminado: stdio)
  • -addr: URL base para transportes HTTP (predeterminado: http://127.0.0.1:8000)
  • -mcp-token: token Bearer precompartido para transportes HTTP
  • -allowed-origins: lista de permitidos de Origin separada por comas para transportes HTTP
  • -allow-insecure-http: permitir transportes HTTP no autenticados; solo para desarrollo local
  • -allow-remote-http: permitir que los transportes HTTPS escuchen en direcciones que no sean de bucle local
  • -access-level: nivel de acceso de herramientas (readonly, readwrite o full; predeterminado: readonly)
  • -tls-dir: directorio para la CA local y el certificado del servidor HTTPS
  • -tls-hosts: nombres DNS y direcciones IP separados por comas para el certificado del servidor HTTPS

Variables de entorno

También puede configurar el servidor usando variables de entorno:

  • PANEL_HOST: dirección de acceso de 1Panel
  • PANEL_ACCESS_TOKEN: token de acceso de 1Panel
  • MCP_AUTH_TOKEN: token Bearer precompartido para streamable-http
  • MCP_ACCESS_LEVEL: nivel de acceso de herramientas (readonly, readwrite o full)

Herramientas disponibles

El servidor proporciona varias herramientas para interactuar con 1Panel:

HerramientaCategoríaAcceso mínimoDescripción
get_dashboard_infoSistemareadonlyListar estado del panel
get_system_infoSistemareadonlyObtener información del sistema
list_websitesSitio webreadonlyListar todos los sitios web
create_websiteSitio webreadwriteCrear un sitio web
list_sslsCertificadoreadonlyListar todos los certificados
create_sslCertificadoreadwriteCrear un certificado
list_installed_appsAplicaciónreadonlyListar todas las aplicaciones instaladas
install_openrestyAplicaciónfullInstalar OpenResty
install_mysqlAplicaciónfullInstalar MySQL
list_databasesBase de datosreadonlyListar todas las bases de datos
create_databaseBase de datosreadwriteCrear una base de datos