MCP Connector

Manage Servers and Databases via Natural Language

An MCP server for 1Panel - dashboard, website, SSL, application, and database management over stdio or authenticated SSE transport.

Works with 1paneldockergithub

91
Spark score
out of 100
Updated last month
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Leverage natural language to manage your Linux servers, websites, databases, and applications through the 1Panel web interface. Automate system tasks and gain insights into your infrastructure.

Outcomes

What it gets done

01

Manage websites and SSL certificates

02

Create and list databases

03

Install and manage applications

04

Monitor system information and dashboard status

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-1panel | bash

Capabilities

Tools your agent gets

get_dashboard_info

Get dashboard status

get_system_info

Get system information

list_websites

List all websites

create_website

Create a website

list_ssls

List all certificates

create_ssl

Create a certificate

list_installed_apps

List installed applications

install_openresty

Install OpenResty

+3 tools

Overview

1Panel MCP Server

An MCP server exposing 1Panel's system, website, SSL certificate, application, and database management as tools, over stdio locally or authenticated SSE/streamable-HTTP remotely. Use when an AI assistant needs to manage a 1Panel instance through natural-language requests instead of the 1Panel dashboard itself.

What it does

Implements a Model Context Protocol server for 1Panel, the self-hosted server management panel, exposing tools across five categories: system (dashboard status, system info), websites (list, create), certificates (list, create SSL), applications (list installed apps, install specific ones like OpenResty or MySQL), and databases (list, create). The server runs over stdio for local desktop clients by default, or over SSE/streamable-HTTP for remote access, with HTTP transports requiring an MCP authentication token by default and listening on loopback addresses only unless explicitly overridden - a deliberate default that should stay in place unless TLS termination and an Origin allowlist are set up at a trusted reverse proxy first.

When to use - and when NOT to

Use it when an AI assistant needs to manage a 1Panel instance - checking system status, standing up websites and certificates, installing applications, or managing databases - through natural-language requests rather than the 1Panel dashboard itself. It requires Go 1.25.0 or higher to build and an existing 1Panel installation to connect to; stdio is the preferred transport for local desktop clients, while HTTP transports should stay on their loopback-only default unless exposed behind a properly configured reverse proxy. The panel's own access token should be supplied via the PANEL_ACCESS_TOKEN environment variable rather than the -token command-line flag, since a CLI flag is visible in the system's process list to anything that can read it. Two flags are explicitly marked as unsafe defaults to avoid: -allow-insecure-http, which allows unauthenticated HTTP transports and is meant only for local development, and -allow-remote-http, which lets an HTTP transport listen beyond loopback and should only be used behind TLS with an explicit -allowed-origins allowlist configured.

Capabilities

System dashboard and info retrieval, website listing and creation, SSL certificate listing and creation, application listing and installation (including specific apps like OpenResty and MySQL), and database listing and creation, all against a live 1Panel instance.

How to install

Build from source with make build or install directly with go install github.com/1Panel-dev/mcp-1panel@latest, then configure a client like Cursor or Windsurf for stdio mode:

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

or start the server with -transport sse and an MCP_AUTH_TOKEN for remote, authenticated access instead.

Who it's for

Server administrators running 1Panel who want an AI assistant to check system status, manage websites, certificates, applications, and databases conversationally instead of clicking through the 1Panel dashboard.

Source README

1Panel MCP Server

1Panel MCP Server is an implementation of the Model Context Protocol (MCP) server for 1Panel.

Installation

Prerequisites

  • Go 1.25.0 or higher
  • Existing 1Panel

Build from Source

  1. Clone the repository:

    git clone https://github.com/1Panel-dev/mcp-1panel.git
    cd mcp-1panel
    
  2. Build the project:

    make build
    

    Move ./build/mcp-1panel to the system environment path.

Install using go install

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

Usage

Cursor and Windsurf configuration example:

stdio mode

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

sse mode

start mcp server through sse

MCP_AUTH_TOKEN=<strong random MCP token> \
PANEL_HOST=<your 1Panel access address> \
PANEL_ACCESS_TOKEN=<your 1Panel access token> \
mcp-1panel -transport sse -addr "http://127.0.0.1:8000/sse"
{
  "mcpServers": {
    "mcp-1panel": {
        "url": "http://127.0.0.1:8000/sse",
        "headers": {
          "Authorization": "Bearer <strong random MCP token>"
        }
    }
  }
}

HTTP transports (sse and streamable-http) require an MCP authentication token by default. Use stdio for local desktop clients when possible. HTTP transports listen on loopback addresses only by default. If you expose an HTTP transport beyond loopback with -allow-remote-http, terminate TLS at a trusted reverse proxy and set an explicit Origin allowlist.

Command Line Options

  • -token: 1Panel access token; prefer PANEL_ACCESS_TOKEN to avoid exposing secrets in process lists
  • -host: 1Panel access address; prefer PANEL_HOST for environment-based configuration
  • -transport: Transport type (stdio, sse, or streamable-http; default: stdio)
  • -addr: Base URL for HTTP transports (default: http://127.0.0.1:8000)
  • -mcp-token: MCP HTTP authentication token for HTTP transports
  • -allowed-origins: Comma-separated Origin allowlist for HTTP transports
  • -allow-insecure-http: Allow unauthenticated HTTP transports; only use for local development
  • -allow-remote-http: Allow HTTP transports to listen on non-loopback addresses; only use behind TLS

Environment Variables

You can also configure the server using environment variables:

  • PANEL_HOST: 1Panel access address
  • PANEL_ACCESS_TOKEN: 1Panel access token
  • MCP_AUTH_TOKEN: MCP HTTP authentication token for sse and streamable-http

Available Tools

The server provides various tools for interacting with 1Panel:

Tool Category Description
get_dashboard_info System List dashboard status
get_system_info System Get system information
list_websites Website List all websites
create_website Website Create a website
list_ssls Certificate List all certificates
create_ssl Certificate Create a certificate
list_installed_apps Application List all installed applications
install_openresty Application Install OpenResty
install_mysql Application Install MySQL
list_databases Database List all databases
create_database Database Create a database

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.