使用说明
MCP服务器管理器
概述
MCP Server Manager是一个守护程序工具,用于根据配置文件管理多个服务器进程(启动、关闭、监视和自动重启) mcp_server.conf.
每个服务器进程都会根据其启动命令自动分配一个唯一的ID。使用 mcpctl 命令行工具,您可以通过指定单个服务器的ID来操作它们。
它作为一个 systemd 服务,并通过自动重启意外终止的进程来提高服务可用性。
主要特点
- 简单配置文件: 只需描述您要在其中管理的服务器的命令
mcp_server.conf. - 自动生成ID: 每个服务器命令都会根据其内容自动分配一个唯一的ID(哈希)。
- 命令行操作: 使用
mcpctl通过以下方式检查IDstatus并通过以下方式操作单个服务器start,stop,以及restart. - 自动进程重启: 当进程因其他原因终止时
mcpctl stop,守护进程会自动重新启动它。 - systemd集成: 使用以下方式轻松注册服务
mcp-manager.service.
工作流程
- 配置: 编辑
/etc/mcp/mcp_server.conf描述要管理的服务器的启动命令,每行一个。 - 重新加载: 执行
sudo systemctl restart mcp-manager.service以反映守护进程的配置更改。 - 检查: 跑
mcpctl status以检查每个服务器的状态和自动生成的ID。 - 操作: 将确认的ID与以下命令一起使用
mcpctl start <ID>或mcpctl stop <ID>管理单个服务器。
设置和安装
自动安装(推荐)
-
运行安装脚本
sudo ./install.sh此脚本自动执行以下任务:
- 创建必要的目录(
/usr/local/lib/mcp-manager/,/etc/mcp/) - 副本
mcp_manager.py向/usr/local/lib/mcp-manager/ - 副本
mcpctl向/usr/local/bin/(添加到PATH) - 复制配置文件
mcp_server.conf向/etc/mcp/ - 安装并注册systemd服务文件
- 启动服务并启用自动启动
- 创建必要的目录(
-
验证安装
mcpctl status
手动安装
对于手动安装,请执行以下步骤:
-
授予执行权限 授予项目中脚本的执行权限。
chmod +x mcp_manager.py mcpctl mcp_server.sh install.sh uninstall.sh -
创建目录
sudo mkdir -p /usr/local/lib/mcp-manager sudo mkdir -p /etc/mcp -
部署文件
sudo cp mcp_manager.py /usr/local/lib/mcp-manager/ sudo cp mcpctl /usr/local/bin/ sudo cp mcp_server.conf /etc/mcp/mcp_server.conf -
编辑配置文件 根据需要编辑配置文件。
sudo vi /etc/mcp/mcp_server.conf -
验证并启动systemd服务文件 打开
mcp-manager.service并验证路径是否正确。 然后按如下方式启动服务:sudo cp mcp-manager.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl start mcp-manager.service sudo systemctl enable mcp-manager.service
卸载
要从系统中完全删除MCP服务器管理器:
sudo ./uninstall.sh
此脚本执行以下任务:
- 停止并禁用systemd服务
- 删除服务文件
- 删除已安装的文件
- 删除配置文件(确认后)
使用 mcpctl
-
检查状态: 显示中描述的所有服务器的状态和ID
mcp_server.conf.mcpctl status输出示例:
ID STATUS PID UPTIME COMMAND -------- --------- ------- --------------- -------------------------------- a1b2c3d Running 12345 0 days, 0:10:30 /data/systemd-mcp/mcp_server.sh e4f5g6h Stopped N/A N/A /usr/bin/python3 /path/to/another/server -
启动服务器: 使用ID启动已停止的(
Stopped)或闲置(Idle)服务器。mcpctl start e4f5g6h -
从配置文件启动所有服务器: 重新加载配置文件并启动所有服务器。
mcpctl apply -
停止服务器: 使用ID停止跑步(
Running)服务器。以这种方式停止的服务器将被排除在自动重启之外。mcpctl stop a1b2c3d -
重新启动服务器: 使用ID重新启动正在运行的服务器。
mcpctl restart a1b2c3d