mcp-1panel

MCP.Pizza Chef: 1Panel-dev

Eleven tools sit on top of a 1Panel installation you already run: check the dashboard and machine details, list and create websites, list and issue security certificates, list installed applications, install MySQL or OpenResty, and list or create databases. There is no tool that deletes or uninstalls anything. Site creation is narrower than it sounds: it always uses port 80 with encryption off, in the default group, and only for plain or forwarding sites.

Coding
Data

Use This MCP server To

Check how my server is doing right now See which websites are running on my server Set up a plain site for a domain I just bought Get a security certificate issued for one of my domains List the applications and databases already installed Install MySQL without opening the control panel

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

mcp-1panel FAQ

Do I need a paid key?
No. You generate an access token inside your own 1Panel settings and give it the address of your panel. Nothing to buy.
Do I need 1Panel already running?
Yes. This is a companion to an existing 1Panel installation on a server you control. On its own it does nothing.
Can I use this to launch a new website?
Yes, but only a basic one. It creates plain or forwarding sites on port 80 with encryption switched off and always in the default group. A custom port, HTTPS from the start, or a WordPress-style install still means opening the panel yourself.
Can it delete or break things?
It has no delete or uninstall tools whatsoever, so nothing existing can be removed through it. It can still create sites, databases, certificates, and installed software, which take up space and can collide with what is already there.
Why does certificate creation fail for me?
It needs a certificate-issuing account already configured inside 1Panel, and it silently picks the first one on the list. If you have none, or want a specific one, it cannot help.
Which apps does it work in?
Cursor and Windsurf are the documented ones, and it works in any assistant that reads a config file. There is also a networked mode for remote setups.
How hard is setup?
This one is for technical users. You install a small program written in Go, either building it or fetching it with a developer command, then add your panel address and token.
Is it safe to run over a network?
By default the networked modes demand a token and only listen on the machine itself. The settings let you disable both protections, which would put your server controls within reach of anyone who can see that address.