article
README
🚀 MCP 服务器管理脚本
本仓库中的脚本可助力你轻松启动与管理开发阶段的 MCP(模型上下文协议)服务器,提升开发与维护效率。
🚀 快速开始
确保两个脚本具备可执行权限:
chmod +x start-mcp-servers.sh manage-mcp-servers.sh
✨ 主要特性
- 启动脚本:
start-mcp-servers.sh用于启动所有 MCP 服务器。 - 管理脚本:
manage-mcp-servers.sh辅助你管理运行中的 MCP 服务器,支持列出、停止、查看日志等操作。
📦 安装指南
启动 MCP 服务器
启动所有 MCP 服务器,可执行以下命令:
./start-mcp-servers.sh
默认情况下,此命令会执行以下操作:
- 清除现有的日志文件。
- 以前台模式运行所有服务器,并在当前终端显示输出。
- 在每一行前添加服务器名称,方便识别。
后台模式运行
若希望以后台模式运行服务器,可使用以下命令:
./start-mcp-servers.sh --background
在后台模式下,脚本会按优先级顺序尝试使用以下方法启动服务器:
- iTerm2 标签页(若使用 iTerm2)。
- Terminal.app 窗口(若使用 Terminal.app)。
- tmux 会话(若已安装 tmux)。
- 后台进程并写入日志文件(作为最后的手段)。
命令行选项
查看可用选项,可执行:
./start-mcp-servers.sh --help
可用选项如下:
--background,-b:以后台模式运行服务器。--help,-h:显示帮助信息。
管理 MCP 服务器
管理脚本提供了多个命令,用于管理运行中的 MCP 服务器:
显示帮助
./manage-mcp-servers.sh help
列出运行中的服务器
./manage-mcp-servers.sh list
此命令将显示所有配置的服务器及其运行状态。
停止服务器
停止所有服务器:
./manage-mcp-servers.sh stop
停止特定服务器(按编号):
./manage-mcp-servers.sh stop 1 # 停止第一个服务器
查看日志
列出所有日志文件:
./manage-mcp-servers.sh logs
查看特定服务器的日志(按编号):
./manage-mcp-servers.sh logs 1 # 查看第一个服务器的日志
将服务器带到前台
./manage-mcp-servers.sh fg 1 # 将第一个服务器带到前台
若无法将服务器带到前台,会在实时更新中显示日志文件。
添加新 MCP 服务器
添加新的 MCP 服务器,只需编辑 start-mcp-servers.sh 文件:
- 打开
start-mcp-servers.sh。 - 在文件顶部找到
MCP_SERVERS数组。 - 将新服务器的路径添加到数组中,例如:
"/path/to/your/new/mcp_server"
- 保存并关闭文件。 新服务器将在下次运行脚本时启动。
日志管理
自动清理日志
默认情况下,脚本会自动删除旧的日志文件以节省空间。你可通过修改 LOG_RETENTION_DAYS 变量来控制日志保留天数:
# 在 start-mcp-servers.sh 中找到以下行:
LOG_RETENTION_DAYS=7 # 例如,保留 7 天内的日志
前台模式与后台模式
- 前台模式:服务器在当前终端窗口运行,关闭窗口时停止。
- 后台模式:服务器在后台持续运行,即便关闭终端窗口也不受影响。
🔧 技术细节
启动脚本(start-mcp-servers.sh)
- 检查所有 MCP 服务器的状态。
- 按需启动未运行的服务器。
- 提供实时输出,监控服务器状态。
- 自动管理后台进程和日志文件。
管理脚本(manage-mcp-servers.sh)
- 提供多种命令控制服务器。
- 显示实时状态和日志。
- 支持在前台或后台模式下运行服务器。
📚 详细文档
故障排除
问题:无法启动某个 MCP 服务器
- 检查路径是否正确。
- 确保服务器文件可执行。
- 查看日志文件获取错误信息:
./manage-mcp-servers.sh logs <server_number>
问题:后台进程未运行
- 检查终端窗口是否关闭。
- 确保后台模式支持(iTerm2 或 Terminal.app)。
- 使用
tmux或其他会话管理工具保持连接。
常见错误代码和日志信息
- 代码 1:路径不存在或不可访问。
- 代码 2:服务器文件不可执行。
- 代码 3:依赖服务未运行。
- 日志示例:
[INFO] Starting MCP Server 1...
[ERROR] Failed to start server: Permission denied
总结
这些脚本极大地便利了多个 MCP 服务器的管理,支持前台和后台模式,提供详细的实时状态与日志信息。通过简单命令即可实现服务器的启动、停止和监控,有效提升开发与维护效率。
微信扫一扫