mcp-1panel
OfficialProvides tools for managing a 1Panel instance, including retrieving system information, managing websites, SSL certificates, applications, and databases. Enables actions like creating websites, installing applications like OpenResty and MySQL, and managing database resources.
Supports MySQL database operations, including listing existing databases, creating new databases, and installing MySQL instances via the 1Panel interface.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
1Panel MCP Server
An MCP server for 1Panel v2, with 20 shared tools for nodes, system status, websites, certificates, applications and MySQL. Independent mode uses the official Go MCP SDK; managed mode integrates with 1Panel's authorization and audit.
Choose a mode
Mode | Connection and authorization | Deployment |
Independent: | Configured API Key calls existing public | stdio or Streamable HTTP, as a binary or Docker container |
Managed: | Dedicated MCP credential; Core checks the owner's current permissions, node/tool grants and policy | Docker on the primary node, installed from AI → MCP Management → 1Panel MCP |
Independent mode requires an enabled public API and compatible APIs/DTOs for the selected tools on your installed 1Panel v2 release. It needs no managed MCP installation. Managed mode requires matching Core, primary/child Agents and frontend. See managed deployment.
Credential | Purpose |
| 1Panel API Key used by independent mode for outgoing panel requests |
| Separate pre-shared Bearer used by clients connecting to independent Streamable HTTP |
Token created in the panel's MCP page | Dedicated managed credential with explicit node/tool grants; clients use the panel's HTTPS |
The independent HTTP token permits use of the configured API Key; it does not create another panel identity. The two modes' MCP credentials are not interchangeable.
Related MCP server: Shellagent MCP Server
Install
Source
Use Go 1.27.3. The v2 source branch is dev-v2:
git clone --branch dev-v2 https://github.com/1Panel-dev/mcp-1panel.git
cd mcp-1panel
go mod download
make build
./build/mcp-1panel --versionmake build creates a host-platform binary at build/mcp-1panel.
To cross-build Linux, use make build_linux GOARCH=amd64 or GOARCH=arm64;
make build_linux_all builds all seven architectures: 386, amd64, arm64, armv7, s390x, ppc64le and riscv64.
Linux builds require a locally available toolchain and cached dependencies;
outputs are build/mcp-1panel-linux-{arch}.
Release binary
Choose an explicitly published v2 release from Releases
compatible with your installed panel's public APIs. Download the matching architecture
and SHA256SUMS, verify the checksum, then run, for example on Linux amd64:
chmod +x ./mcp-1panel-linux-amd64
./mcp-1panel-linux-amd64 --versionUse that binary's absolute path in the client configuration below.
For maintainers, publishing a GitHub Release triggers tests, builds all seven Linux binaries,
uploads them with SHA256SUMS to that release, and pushes the multi-platform Docker image.
Ordinary commits, tag pushes and saved drafts do not trigger this workflow. The release tag
provides the version; prereleases and tags containing - do not update Docker latest.
Docker
The image defaults to independent stdio mode. To build and export a fixed version locally (these commands do not publish an image):
make docker_build VERSION=v2.0.0-rc1 DOCKER_PLATFORM=linux/amd64
make docker_save VERSION=v2.0.0-rc1 DOCKER_PLATFORM=linux/amd64
# Transfer to a matching Linux host, then import:
docker load -i build/mcp-1panel-linux-amd64-v2.0.0-rc1.tarChoose your own fixed version; the example tag is not a publication claim.
The official repository is 1panel/mcp-server. Docker builds support
linux/386, linux/amd64, linux/arm64, linux/arm/v7, linux/s390x, linux/ppc64le and
linux/riscv64. For managed installation, use the panel's installation dialog and
container contract.
Connect a client
stdio
Let the MCP client start the binary; use its absolute path and replace placeholders:
{
"mcpServers": {
"mcp-1panel": {
"command": "/absolute/path/to/mcp-1panel",
"args": ["--mode=legacy", "--transport=stdio", "--access-level=readonly"],
"env": {
"PANEL_HOST": "https://panel.example",
"PANEL_ACCESS_TOKEN": "<1Panel API Key>",
"MCP_LANGUAGE": "en"
}
}
}
}stdio does not listen on a port. When client-managed, no separate server process is needed. To use Docker instead, the client must launch this command with the same environment variables; the panel URL must be reachable from the container:
docker run -i --rm -e PANEL_HOST -e PANEL_ACCESS_TOKEN \
1panel/mcp-server:v2.0.0-rc1 \
--mode=legacy --transport=stdio --access-level=readonlyUse an image you built/imported or an actually published tag. Container localhost
is not the Docker host.
HTTPS / Streamable HTTP
Start the server before connecting. This example uses the source-built binary, a persistent local CA, and an independent MCP Bearer:
export PANEL_HOST='https://panel.example'
export PANEL_ACCESS_TOKEN='<1Panel API Key>'
export MCP_AUTH_TOKEN='<separate strong random token>'
./build/mcp-1panel \
--mode=legacy --transport=streamable-http \
--addr=https://0.0.0.0:8000/mcp --allow-remote-http \
--tls-hosts=mcp.example.com --tls-dir=./build/tls \
--access-level=readonlyReplace the domain, configure DNS and allow the required port. Configure a
Streamable HTTP client with https://mcp.example.com:8000/mcp and the header
Authorization: Bearer <MCP_AUTH_TOKEN>. Verify the CA fingerprint printed at
startup and trust build/tls/ca.crt in the client. Keep the CA/private keys for
reuse; share only the CA certificate. Do not disable certificate verification.
Non-loopback listening requires HTTPS, authentication and --allow-remote-http.
If the client sends Origin, allow its exact value with
--allowed-origins=https://client.example.com. Same-host clients can instead use
--addr=http://127.0.0.1:8000/mcp without TLS flags; the Bearer is still required.
This is pre-shared authentication, not an MCP OAuth flow.
Access levels and tools
Independent mode defaults to readonly. --access-level / MCP_ACCESS_LEVEL
controls both listing and execution, including direct calls to hidden tools.
It restricts the configured Key and cannot add panel permissions. Managed mode
uses Core grants instead of this option.
Level | Tools |
| 15 query, list and status tools |
| 18 tools, adding website, certificate and database creation |
| All 20, adding MySQL and OpenResty installation |
Tool | Minimum level | Purpose |
|
| Discover permitted node IDs |
|
| System information |
|
| Dashboard status |
|
| Website list |
|
| Website metadata |
|
| Domains and ports |
|
| HTTPS and certificate metadata |
|
| Certificate list |
|
| Certificate metadata |
|
| Installed application list |
|
| Installation state, version and ports |
|
| Available application versions |
|
| Databases in a selected local MySQL instance |
|
| Recorded local MySQL instances |
|
| Fixed MySQL status counters |
|
| Create a static or proxy website |
|
| Submit certificate issuance |
|
| Create a local MySQL database |
|
| Submit MySQL installation |
|
| Submit OpenResty installation |
get_installed_app may refresh the panel's status cache in independent mode;
its query classification does not promise zero server writes. Managed mode reads recorded state.
Nodes and write outcomes
The 19 business tools accept optional nodeId, defaulting to "local". Call
list_nodes with {} for child IDs such as "7", then pass the ID to a business
tool. Names and IPs are not node selectors. Independent mode resolves ID to current
name per call and routes through CurrentNode; local calls need no discovery.
Managed mode uses stable-ID routing and rechecks grants on each API step.
Neither mode falls back to the primary node. See node authorization.
Certificate issuance and app installation return requestStatus:accepted, which
means submitted, not completed. A submitted write followed by a network/read
failure, HTTP/business 5xx or an invalid success response has an unknown outcome.
Check the actual resource or task in 1Panel before any manual retry; never automatically
repeat the write. Disconnecting or revoking credentials does not roll back accepted work.
See tool inputs and constraints.
Configuration reference
Command-line values take precedence over their environment counterparts.
Option | Environment / default |
|
|
|
|
| Optional |
|
|
| Default |
|
|
|
|
| Persistent CA/certificate directory and comma-separated certificate SANs |
| Comma-separated exact Origin allowlist |
| Permit authenticated HTTPS on non-loopback addresses |
| Unauthenticated loopback transport for local development only |
Error language |
|
--version and --catalog print metadata offline. The panel manages --listen
and --panel-socket; --healthcheck checks managed adapter/Core readiness.
Metadata and tool listing alone do not validate API connectivity or business operations.
Documentation and validation
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Appcircle mobile CI/CD platform.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseBqualityDmaintenanceAn experimental server implementing Model Context Protocol to automate website deployments to 1Panel servers, allowing users to create websites and upload static files through natural language commands.16 npm36MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that can be deployed locally via stdio or remotely via SSE/HTTP endpoints, supporting multiple MCP clients including VS Code, Cursor, Windsurf, and Claude Desktop.1-
- FlicenseNot gradedqualityDmaintenanceAn educational MCP server that teaches implementing the Model Context Protocol from scratch, enabling AI models to discover and invoke tools via JSON-RPC over stdio.-
- AlicenseBqualityCmaintenanceMCP server for EasyPanel that enables AI agents to manage servers, projects, services, databases, and domains via 40 curated tools or raw tRPC access to all 347 API procedures.4235 npm4MIT