
MCP server for EasyPanel — 40 curated tools + raw tRPC access to 347 procedures
概览
MCP server for EasyPanel — manage your server, projects, services, databases, and domains through any MCP-compatible AI agent (Claude, Cursor, etc.). The easiest way — deploy the MCP server as a service on your own EasyPanel. Pick an auth mode: - (recommended) — users sign in with their Easypanel email/password in a browser popup. No tokens to generate or paste. Per-user access. - — one shared API key + one Easypanel token baked into env vars. MCP_API_KEY is : the server refuses to start without it. 1. Create a project (e.g. mcp), add an service from GitHub dray-supadev/easypanel-mcp 2. Add a domain (e.g. mcp.your-domain.com) 3. Set environment variables: EASYPANEL_AUTH_MODE=oauth is what makes MCP_API_KEY unnecessary here. In the default bearer mode an HTTP deployment MCP_API_KEY and the server refuses to start without it. 4. (Optional but recommended) Mount a volume at /data and set OAUTH_STORE_PATH=/data/oauth.json so tokens survive redeploys. 5. Deploy.
README
以下为原文 README 节选,完整内容请查看原文。
easypanel-mcp
MCP server for EasyPanel — manage your server, projects, services, databases, and domains through any MCP-compatible AI agent (Claude, Cursor, etc.).
42 curated tools + raw tRPC access to all 347 EasyPanel API procedures.
🚀 Quick Setup (Deploy on EasyPanel)
The easiest way — deploy the MCP server as a service on your own EasyPanel. Pick an auth mode:
- OAuth (recommended) — users sign in with their Easypanel email/password in a browser popup. No tokens to generate or paste. Per-user access.
- Bearer — one shared API key + one Easypanel token baked into env vars.
MCP_API_KEYis required: the server refuses to start without it.
OAuth mode (browser sign-in, per-user)
- Create a project (e.g.
mcp), add an App service from GitHubdray-supadev/easypanel-mcp - Add a domain (e.g.
mcp.your-domain.com) - Set environment variables:
EASYPANEL_URL=http://easypanel:3000 EASYPANEL_MCP_MODE=http EASYPANEL_AUTH_MODE=oauth OAUTH_ISSUER_URL=https://mcp.your-domain.com MCP_ACCESS_MODE=readonly PORT=3000EASYPANEL_AUTH_MODE=oauthis what makesMCP_API_KEYunnecessary here. In the default bearer mode an HTTP deployment requiresMCP_API_KEYand the server refuses to start without it. - (Optional but recommended) Mount a volume at
/dataand setOAUTH_STORE_PATH=/data/oauth.jsonso tokens survive redeploys. - Deploy.
Connect Claude Desktop or another OAuth-aware MCP client:
{
"mcpServers": {
"easypanel": { "url": "https://mcp.your-domain.com/mcp" }
}
}
On first use the client will pop a browser window asking for your Easypanel credentials, then return you to Claude with an access token. No manual curl required.
The login page calls Easypanel’s
auth.logininternally and binds the session token to an opaque OAuth access token scoped to this MCP server. Credentials are never stored.
Bearer mode (shared key, simpler)
-
Get your API token:
curl -X POST https://YOUR_PANEL:3000/api/trpc/auth.login \ -H "Content-Type: application/json" \ -d '{"json":{"email":"[email protected]","password":"your-pass"}}'If you have 2FA enabled, add
"code":"123456"with your authenticator code.The response contains
"token":"xxx"— that’s your API token.⚠️ This is a session token that expires in 30 days. For a permanent token, use
users.generateApiToken(see below). -
Deploy on EasyPanel:
EASYPANEL_URL=http://easypanel:3000 EASYPANEL_TOKEN=your-api-token EASYPANEL_MCP_MODE=http MCP_API_KEY=your-secret-key MCP_ACCESS_MODE=readonly PORT=3000Important: Use
http://easypanel:3000(internal Docker network) when deploying on the same EasyPanel instance.
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"easypanel": { "url": "https://mcp.your-domain.com/mcp" }
}
}