关于 1Panel MCP Server
1Panel MCP Server 是面向 1Panel 面板的 MCP 服务实现,可让 MCP 客户端查询和管理网站、证书、应用、数据库等资源。项目提供按权限级别控制的只读、读写和完全访问模式,适合需要通过 AI 管理 1Panel 服务器的用户。
主要功能
- 01查询仪表盘、系统、网站、证书与数据库信息
- 02按 readonly、readwrite、full 权限级别限制工具
- 03支持 stdio 与 Streamable HTTP 传输
- 04HTTPS 模式下生成并维护本地 CA 证书
- 05Bearer 令牌认证的 HTTP 访问
适用场景
- 01通过 AI 助手查看服务器与网站的运行状态
- 02在受控权限下创建网站或数据库
- 03在 Cursor 或 Windsurf 中管理 1Panel 实例
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 1Panel 的系统、网站、证书、应用和数据库相关工具,并按访问级别过滤可用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
1Panel MCP 服务
1Panel MCP 服务是 1Panel 的模型上下文协议(MCP)服务实现。
安装
先决条件
- Go 1.25.0 或更高版本
- 已有的 1Panel
从源代码构建
-
克隆代码库:
git clone https://github.com/1Panel-dev/mcp-1panel.git cd mcp-1panel -
构建项目:
make build将
./build/mcp-1panel移至系统环境路径中。
使用 go install 安装
go install github.com/1Panel-dev/mcp-1panel@latest
使用方法
Cursor 和 Windsurf 配置示例:
stdio 模式
{
"mcpServers": {
"mcp-1panel": {
"command": "mcp-1panel",
"env": {
"PANEL_ACCESS_TOKEN": "<your 1Panel access token>",
"PANEL_HOST": "such as http://localhost:8080"
}
}
}
}
使用独立 TLS 的 Streamable HTTP
mcp-1panel 可以创建并持久保存自己的本地 CA 和 HTTPS 服务证书。它不依赖 1Panel 证书管理。
MCP_AUTH_TOKEN=<strong random MCP token> \
PANEL_HOST=<your 1Panel access address> \
PANEL_ACCESS_TOKEN=<your 1Panel access token> \
mcp-1panel \
-transport streamable-http \
-addr "https://127.0.0.1:8000/mcp" \
-tls-hosts "localhost,127.0.0.1"
首次启动时,服务会将 CA 路径和 SHA-256 指纹写入 stderr。配置 MCP 客户端信任生成的 ca.crt;不要禁用证书验证。CA 会重复使用,同时服务证书会自动续期。
HTTP 传输默认要求 MCP 身份验证令牌。客户端必须在每个请求中以 Authorization: Bearer <token> 的形式发送令牌;不接受私有的 X-MCP-Token 标头。这是一种预共享令牌模式,适用于单用户/私有部署,而非 MCP OAuth 授权流程。需要基于标准的多用户授权时,请将服务置于支持 OAuth 的网关之后。
请尽可能对本地桌面客户端使用 stdio。非回环监听器需要使用 https:// 地址、-allow-remote-http、令牌、显式证书 SAN,以及适当的 Origin 允许列表。
访问级别
服务默认使用 readonly。工具权限会在注册工具时强制执行,因此不允许的工具不会通过 tools/list 返回,也无法直接调用。
| 级别 | 工具 |
|---|---|
readonly | 查询、列表和状态读取 |
readwrite | readonly,以及现有的网站、证书和数据库创建工具 |
full | readwrite,以及现有的应用安装工具 |
使用 -access-level 或 MCP_ACCESS_LEVEL 设置级别。命令行配置优先。
命令行选项
-token:1Panel 访问令牌;建议使用PANEL_ACCESS_TOKEN,以避免在进程列表中暴露机密-host:1Panel 访问地址;建议使用PANEL_HOST进行基于环境变量的配置-transport:传输类型(stdio 或 streamable-http;默认值:stdio)-addr:HTTP 传输的基础 URL(默认值:http://127.0.0.1:8000)-mcp-token:HTTP 传输的预共享 Bearer 令牌-allowed-origins:HTTP 传输的逗号分隔 Origin 允许列表-allow-insecure-http:允许未经身份验证的 HTTP 传输;仅用于本地开发-allow-remote-http:允许 HTTPS 传输监听非回环地址-access-level:工具访问级别(readonly、readwrite或full;默认值:readonly)-tls-dir:本地 CA 和 HTTPS 服务证书的目录-tls-hosts:HTTPS 服务证书的逗号分隔 DNS 名称和 IP 地址
环境变量
你也可以使用环境变量配置服务:
PANEL_HOST:1Panel 访问地址PANEL_ACCESS_TOKEN:1Panel 访问令牌MCP_AUTH_TOKEN:streamable-http的预共享 Bearer 令牌MCP_ACCESS_LEVEL:工具访问级别(readonly、readwrite或full)
可用工具
服务提供了各种用于与 1Panel 交互的工具:
| 工具 | 类别 | 最低访问权限 | 描述 |
|---|---|---|---|
| get_dashboard_info | 系统 | readonly | 列出仪表板状态 |
| get_system_info | 系统 | readonly | 获取系统信息 |
| list_websites | 网站 | readonly | 列出所有网站 |
| create_website | 网站 | readwrite | 创建网站 |
| list_ssls | 证书 | readonly | 列出所有证书 |
| create_ssl | 证书 | readwrite | 创建证书 |
| list_installed_apps | 应用程序 | readonly | 列出所有已安装的应用程序 |
| install_openresty | 应用程序 | full | 安装 OpenResty |
| install_mysql | 应用程序 | full | 安装 MySQL |
| list_databases | 数据库 | readonly | 列出所有数据库 |
| create_database | 数据库 | readwrite | 创建数据库 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。