A bridge to 1Panel's web hosting platform that lets Claude manage your server infrastructure through chat. Exposes the full 1Panel API for creating websites, managing SSL certificates, installing applications like OpenResty and MySQL, and handling databases. You can deploy sites, provision databases, check system stats, and orchestrate your entire hosting stack without switching to the 1Panel web interface. Supports both stdio integration for Cursor/Windsurf and SSE mode for web applications. Essential if you're managing multiple sites and want to automate deployments or troubleshoot server issues conversationally.
1Panel MCP Server is an implementation of the Model Context Protocol (MCP) server for 1Panel.
Clone the repository:
git clone https://github.com/1Panel-dev/mcp-1panel.git
cd mcp-1panel
Build the project:
make build
Move ./build/mcp-1panel to the system environment path.
go install github.com/1Panel-dev/mcp-1panel@latest
Cursor and Windsurf configuration example:
{
"mcpServers": {
"mcp-1panel": {
"command": "mcp-1panel",
"env": {
"PANEL_ACCESS_TOKEN": "<your 1Panel access token>",
"PANEL_HOST": "such as http://localhost:8080"
}
}
}
}
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.
-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 TLSYou can also configure the server using environment variables:
PANEL_HOST: 1Panel access addressPANEL_ACCESS_TOKEN: 1Panel access tokenMCP_AUTH_TOKEN: MCP HTTP authentication token for sse and streamable-httpThe 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 |