跳到主要内容
项目档案命令行工具

mcp_btpanel:基于 MCP 协议的宝塔面板 API 工具,实现 AI 对话式服务器管理(含安装配置指南)

aaPanel/mcp_btpanel:mcp_btpanel 是一个基于 MCP 协议的宝塔面板 API 网关服务,将宝塔面板的管理功能封装为标准化工具,使 AI 助手能通过自然语言本页整理它解决什么问题、适用场景、安装方式和使用方法。

14GoStar 于 2025年12月24日2026年9月9日 更新

AI 总结

mcp_btpanel 是一个基于 MCP 协议的宝塔面板 API 网关服务,将宝塔面板的管理功能封装为标准化工具,使 AI 助手能通过自然语言指令直接操作服务器。

中文项目介绍

mcp_btpanel 是一个基于 MCP 协议开发的宝塔面板 API 接口工具,作为 MCP 服务器运行,将宝塔面板的网站、数据库、Docker、邮箱等管理功能封装成标准化的工具调用,使 AI 编程助手(如 Cursor)能够通过自然语言指令直接操作宝塔面板,实现对话式的服务器管理。 项目解决了 AI 助手无法直接与服务器管理面板交互的问题,通过 MCP 协议提供桥梁,将宝塔面板的 API 转化为 AI 可理解的工具,从而在开发部署过程中自动化执行创建网站、配置数据库等操作,提升效率。 适用场景包括:在集成 MCP 的 IDE 中通过对话管理宝塔面板;运维人员使用任意 MCP 客户端执行面板操作;将宝塔管理能力嵌入 AI 自动化工作流。项目基于 mark3labs/mcp-go v0.17.0 库,采用模块化设计,支持 stdio 和 SSE 传输,配置通过环境变量实现。

详细信息与使用说明

1. 项目定位与用途

mcp_btpanel 是一个基于 MCP 协议的宝塔面板 API 网关服务,运行 MCP 服务器,将宝塔面板的网站管理、数据库操作、Docker 容器管理、邮箱账户管理等功能封装为标准化工具调用。其核心用途是使支持 MCP 协议的 AI 助手(如 Cursor)能够通过自然语言指令直接操作宝塔面板,实现智能化的服务器管理,无需手动登录面板执行操作。项目基于 mark3labs/mcp-go 库构建,提供稳定的协议实现。

2. 解决的问题

在 AI 辅助编程和运维场景中,AI 助手通常无法直接与服务器管理面板(如宝塔面板)交互,导致无法自动化执行创建网站、配置数据库等操作。mcp_btpanel 通过实现 MCP 协议,将宝塔面板的 API 转化为标准化的工具调用,使 AI 能够理解并执行这些操作,从而解决了 AI 在开发部署过程中缺乏服务器管理能力的问题,提升了自动化水平和开发效率。

3. 适用场景

mcp_btpanel 适用于多种场景:一是在集成 MCP 的 IDE(如 Cursor)中,开发者通过对话式指令管理宝塔面板,例如“创建一个 PHP 网站”或“查看 Docker 容器列表”;二是运维人员使用任意 MCP 客户端(如命令行工具)执行宝塔面板操作,简化日常管理;三是将宝塔管理能力嵌入 AI 自动化工作流,实现智能部署、监控和故障处理。项目持续开发中,未来将支持更多宝塔功能。

4. 安装方式

mcp_btpanel 的安装方式为从源码构建,需满足 Go 1.18+ 环境。具体步骤:首先克隆仓库到本地(git clone https://cnb.cool/btpanel/mcp_btpanel.git);进入项目目录后运行 go mod tidy 安装依赖;最后执行 make build 进行构建,生成的可执行文件位于 build 目录下。仓库未提供预编译二进制包或包管理器安装方式,因此当前仅支持源码安装。确保已安装 Go 和 Make 工具。

5. 使用方式

使用 mcp_btpanel 时,首先通过环境变量配置宝塔面板地址和 API 令牌:设置 BT_BASE_URL 为面板地址(如 http://your-panel:8888),设置 BT_API_TOKEN 为有效的 API 令牌。然后启动服务:运行 ./build/mcp-btpanel 可执行文件,默认以 stdio 模式运行。在 MCP 客户端(如 Cursor)中配置服务器命令和环境变量。调用工具示例:使用 mcp.tool("get_sites_list") 获取网站列表,或 mcp.tool("add_site", {"domains": "example.com"}) 创建新网站。详细工具列表见 README 功能特性。

6. 实现特点

mcp_btpanel 的实现具有以下特点:基于 mark3labs/mcp-go v0.17.0 库构建 MCP 协议服务器,确保协议兼容性;采用模块化设计,将不同功能(系统、网站、数据库、Docker、邮箱)划分到独立模块(modules 目录),便于维护和扩展;工具注册集中化,在 main.go 的 registerTools 函数中统一绑定工具定义与处理函数;支持 stdio 和 SSE 两种传输方式,适应不同 MCP 客户端需求;配置通过环境变量(BT_BASE_URL、BT_API_TOKEN)实现,与业务逻辑解耦,提高灵活性。项目使用 Go 1.24.1 开发(go.mod 指定),依赖管理清晰。

思维导图

当前仓库信息不足,或结构不够稳定,暂时没有生成可靠的思维导图。

常见问题

如何配置宝塔面板地址和 API 令牌?

通过环境变量配置:设置 BT_BASE_URL 为宝塔面板地址(例如 http://your-panel:8888),设置 BT_API_TOKEN 为有效的 API 令牌。程序启动时会自动读取这些环境变量。

支持哪些 MCP 客户端?

任何支持 MCP 协议的客户端均可使用,例如 Cursor IDE。在 Cursor 中需在设置里添加 MCP 工具,配置命令为可执行文件路径,并传入环境变量。具体配置方式见 README。

如何启动 mcp_btpanel 服务?

构建后运行 ./build/mcp-btpanel 可执行文件,默认以 stdio 模式运行。代码中也支持 SSE 模式,但 README 未明确启动参数,如需 SSE 模式可能需要修改代码或使用特定参数(当前信息未明确给出)。

mcp_btpanel 提供哪些可用的工具?

提供的工具包括:获取面板系统信息和网络状态、查询 PHP 网站列表、创建新网站、查询 MySQL 数据库列表、Docker 容器管理(列表和详情)、Docker 镜像管理(列表)、邮箱管理(添加账户和列表)等。完整列表见 README 功能特性部分。

如何添加新的功能工具?

在 modules 目录下创建或修改模块文件,定义新的工具常量和处理函数,然后在 main.go 的 registerTools 函数中调用 s.AddTool 进行注册。详细开发步骤见 README 开发指南。