MCP服务器管理脚本

用于启动和管理MCP(Model Context Protocol)服务器的脚本工具,支持前台/后台运行模式及日志管理。

  • by Esssport
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 esssport/mcp-server-manager

使用说明

MCP服务器管理脚本

此存储库包含用于轻松启动和管理MCP(模型上下文)的脚本 协议)服务器用于开发。

脚本概述

  • start-mcp-servers.sh:启动所有MCP服务器
  • manage-mcp-servers.sh:帮助您管理正在运行的MCP服务器(列表、停止、, 查看日志等)

入门指南

确保这两个脚本都是可执行的:

chmod +x start-mcp-servers.sh manage-mcp-servers.sh

启动MCP服务器

要启动所有MCP服务器:

./start-mcp-servers.sh

默认情况下,这将:

  1. 清除所有现有日志文件
  2. 在前台运行所有服务器,输出显示在当前 终端
  3. 在每行前加上服务器名称,以便于识别

在后台模式下运行

如果您更喜欢在后台运行服务器:

./start-mcp-servers.sh --background

在后台模式下,脚本将尝试使用以下方式之一启动服务器 方法(按优先顺序):

  1. iTerm2选项卡(如果使用iTerm2)
  2. Terminal.app窗口(如果使用Terminal.app)
  3. tmux会话(如果tmux可用)
  4. 带有日志文件的后台进程(回退方法)

命令行选项

./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  # Stop the first server

查看日志

列出所有日志文件:

./manage-mcp-servers.sh logs

查看特定服务器的日志(按编号):

./manage-mcp-servers.sh logs 1  # View logs for the first server

将服务器置于前台

./manage-mcp-servers.sh fg 1  # Bring the first server to foreground

如果无法显示在前台,它将在中显示日志文件 实时。

添加新的MCP服务器

要添加新的MCP服务器,您只需编辑 start-mcp-servers.sh 文件:

  1. 打开 start-mcp-servers.sh
  2. 查找 MCP_SERVERS 文件顶部的数组
  3. 将新的服务器命令添加为数组中的新行
MCP_SERVERS=(
  "npx @agentdeskai/browser-tools-server"
  "npx -y @modelcontextprotocol/server-sequential-thinking"
  "npx your-new-server-command"  # Add your new server here
)

管理脚本将自动从一开始就获取新服务器 脚本。

日志管理

脚本以以下方式处理日志:

  1. 自动清理:启动服务器时,现有日志文件为 自动清除,以防止它们长得太大。

  2. 前景模式:在默认前台模式下,显示日志 直接在终端中使用服务器名称前缀。

  3. 背景模式:在后台模式下,日志保存到以以下名称命名的文件中 每个服务器(例如。, browser-tools-server.log).

  4. 查看日志:使用 ./manage-mcp-servers.sh logs 查看日志 后台进程。

运作原理

  • 启动脚本在顶部的阵列中定义了所有MCP服务器
  • 它检测您的环境,并以最合适的方式启动服务器
  • 管理脚本从启动脚本中提取服务器配置
  • 使用 pgrep 查找正在运行的进程和 pkill 阻止他们
  • 为了查看日志,它使用 tail -f 显示实时更新

故障排除

如果您遇到任何问题:

  1. 确保这两个脚本都是可执行的(chmod +x *.sh)
  2. 检查阵列中的服务器命令是否正确
  3. 查看当前目录中的日志文件以获取错误消息
  4. 尝试手动运行服务器命令,看看它们是否有效