1Panel
Um servidor MCP para 1Panel, um painel moderno de operação e manutenção de servidores Linux.
Documentação
Servidor MCP 1Panel
O Servidor MCP 1Panel é uma implementação do servidor Model Context Protocol (MCP) para o 1Panel.
Instalação
Pré-requisitos
- Go 1.25.0 ou superior
- 1Panel existente
Compilar a partir do código-fonte
-
Clone o repositório:
git clone https://github.com/1Panel-dev/mcp-1panel.git cd mcp-1panel -
Compile o projeto:
make buildMova
./build/mcp-1panelpara o caminho de ambiente do sistema.
Instalar usando go install
go install github.com/1Panel-dev/mcp-1panel@latest
Uso
Exemplo de configuração do Cursor e 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 Streamable com TLS autônomo
mcp-1panel pode criar e persistir sua própria CA local e certificado de servidor HTTPS. Não depende do gerenciamento de certificados do 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"
Na primeira inicialização, o servidor grava o caminho da CA e a impressão digital SHA-256 em stderr. Configure o cliente MCP para confiar no ca.crt gerado; não desative a verificação de certificado. A CA é reutilizada enquanto o certificado do servidor é renovado automaticamente.
Os transportes HTTP exigem um token de autenticação MCP por padrão. Os clientes devem enviá-lo em cada requisição como Authorization: Bearer <token>; o cabeçalho privado X-MCP-Token não é aceito. Este é um modo de token pré-compartilhado destinado a uma implantação de usuário único/privada, não o fluxo de autorização OAuth do MCP. Coloque o servidor atrás de um gateway com suporte a OAuth quando for necessária autorização multiusuário baseada em padrões.
Use stdio para clientes desktop locais quando possível. Ouvintes não-loopback exigem um endereço https://, -allow-remote-http, um token, SANs de certificado explícitas e uma lista de permissões Origin apropriada.
Níveis de acesso
O servidor usa como padrão readonly. As permissões de ferramentas são aplicadas quando as ferramentas são registradas, portanto, ferramentas não permitidas não são retornadas por tools/list e não podem ser chamadas diretamente.
| Nível | Ferramentas |
|---|---|
readonly | Consultas, listas e leituras de status |
readwrite | readonly mais ferramentas existentes de criação de sites, certificados e bancos de dados |
full | readwrite mais ferramentas existentes de instalação de aplicativos |
Defina o nível com -access-level ou MCP_ACCESS_LEVEL. A configuração de linha de comando tem precedência.
Opções de Linha de Comando
-token: token de acesso do 1Panel; prefiraPANEL_ACCESS_TOKENpara evitar expor segredos em listas de processos-host: endereço de acesso do 1Panel; prefiraPANEL_HOSTpara configuração baseada em ambiente-transport: tipo de transporte (stdio ou streamable-http; padrão: stdio)-addr: URL base para transportes HTTP (padrão:http://127.0.0.1:8000)-mcp-token: token Bearer pré-compartilhado para transportes HTTP-allowed-origins: lista de permissões Origin separada por vírgulas para transportes HTTP-allow-insecure-http: permitir transportes HTTP não autenticados; use apenas para desenvolvimento local-allow-remote-http: permitir que transportes HTTPS escutem em endereços não-loopback-access-level: nível de acesso de ferramentas (readonly,readwriteoufull; padrão:readonly)-tls-dir: diretório para a CA local e o certificado de servidor HTTPS-tls-hosts: nomes DNS e endereços IP separados por vírgulas para o certificado de servidor HTTPS
Variáveis de Ambiente
Você também pode configurar o servidor usando variáveis de ambiente:
PANEL_HOST: endereço de acesso do 1PanelPANEL_ACCESS_TOKEN: token de acesso do 1PanelMCP_AUTH_TOKEN: token Bearer pré-compartilhado parastreamable-httpMCP_ACCESS_LEVEL: nível de acesso de ferramentas (readonly,readwriteoufull)
Ferramentas Disponíveis
O servidor fornece várias ferramentas para interagir com o 1Panel:
| Ferramenta | Categoria | Acesso mínimo | Descrição |
|---|---|---|---|
| get_dashboard_info | Sistema | readonly | Listar status do painel |
| get_system_info | Sistema | readonly | Obter informações do sistema |
| list_websites | Site | readonly | Listar todos os sites |
| create_website | Site | readwrite | Criar um site |
| list_ssls | Certificado | readonly | Listar todos os certificados |
| create_ssl | Certificado | readwrite | Criar um certificado |
| list_installed_apps | Aplicativo | readonly | Listar todos os aplicativos instalados |
| install_openresty | Aplicativo | full | Instalar OpenResty |
| install_mysql | Aplicativo | full | Instalar MySQL |
| list_databases | Banco de dados | readonly | Listar todos os bancos de dados |
| create_database | Banco de dados | readwrite | Criar um banco de dados |