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.
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
Manage websites and SSL certificates
Create and list databases
Install and manage applications
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 status
Get system information
List all websites
Create a website
List all certificates
Create a certificate
List installed applications
Install OpenResty
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
Clone the repository:
git clone https://github.com/1Panel-dev/mcp-1panel.git cd mcp-1panelBuild the project:
make buildMove
./build/mcp-1panelto 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; preferPANEL_ACCESS_TOKENto avoid exposing secrets in process lists-host: 1Panel access address; preferPANEL_HOSTfor 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 addressPANEL_ACCESS_TOKEN: 1Panel access tokenMCP_AUTH_TOKEN: MCP HTTP authentication token forsseandstreamable-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.