守护进程管理工具

mcp-daemonize是一个基于Model Context Protocol (MCP)的服务,用于AI代理(如Claude Code和Cline)无缝管理长期运行的守护进程(如开发服务器),提供启动、停止、监控和实时日志访问功能。

  • by mackee
  • Go
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 mackee/mcp-daemonize

使用说明

mcp守护进程

mcp守护进程是一个 模型上下文协议(MCP) 该服务器旨在为Claude Code和Cline等AI代理提供对长时间运行的守护进程(如开发服务器)的无缝管理。它通过允许AI代理启动、停止和监视守护进程,以及实时访问其日志,实现了高级自动化和调试功能。

动机

虽然AI代理可以执行命令,但它们不太适合管理长时间运行的开发服务器(例如。, vite dev).这是因为代理通常会等待命令完成,这不适合在开发过程中连续运行的服务器。作为一种解决方法,用户通常在单独的shell中启动开发服务器,但这会阻止AI代理直接访问服务器的日志,从而无法进行自主调试。

mcp daemonize通过提供以下功能来解决这些问题:

  • 一个启动守护进程而不等待其终止的接口。
  • 停止运行守护程序的工具。
  • 查看正在运行的守护进程的实时日志的工具。

通过这些功能,mcp-daemonize使AI代理能够完全管理开发服务器,监控其输出,并执行自动调试,大大扩展了自主编码的可能性。

用例

  • 从AI代理启动和停止开发服务器(例如Vite、Next.js等)。
  • 查看和分析正在运行的守护进程的实时日志以进行调试。
  • 自动化需要持久后台流程的开发工作流程。
  • 使AI代理能够自主管理、监视和调试长时间运行的进程。

先决条件

  1. 安装1.24.2或更高版本。
  2. (可选)Docker,如果你想在容器中运行mcp守护进程。

安装

从GitHub版本下载

访问 发布页面 下载最新版本。

  1. 从最新版本页面下载适用于您平台的存档。
  2. 解压缩存档并将二进制文件移动到PATH中的一个目录中。
wget https://github.com/mackee/mcp-daemonize/releases/download/vX.Y.Z/mcp-daemonize_X.Y.Z_Darwin_x86_64.tar.gz
tar -xzf mcp-daemonize_X.Y.Z_Darwin_x86_64.tar.gz
sudo mv mcp-daemonize /usr/local/bin/

从源代码构建

您可以使用安装最新版本 go install (转到1.24.2或更高版本):

go install github.com/mackee/mcp-daemonize/cmd/mcp-daemonize@latest

与MCP主机一起使用(例如,Claude Code、Cline)

将以下配置添加到MCP主机设置中(例如。, mcp.json):

{
  "servers": {
    "daemonize": {
      "command": "/path/to/mcp-daemonize",
      "args": [],
      "env": {}
    }
  }
}

替换 /path/to/mcp-daemonize 以及构建二进制文件的实际路径。

用法

mcp-daemonize为AI代理提供了以下工具:

工具

  • 守护进程启动

    • 启动一个长时间运行的进程(例如开发服务器)作为守护进程。
    • 参数:
      • name (string,必填):守护进程的名称。
      • command (string[],可选):运行命令(例如。, ["npm", "run", "dev"]).
      • workdir (string,必填):守护进程的工作目录(绝对路径)。
  • 守护进程停止

    • 按名称停止正在运行的守护进程。
    • 参数:
      • name (string,必填):要停止的守护进程的名称。
  • 守护进程列表

    • 列出当前正在运行的所有守护进程。
    • 参数: 无
  • 守护进程日志

    • 从正在运行的守护进程中检索最新日志。
    • 参数:
      • name (string,必填):守护进程的名称。
      • tail (number,必填):从日志末尾读取的行数。

工作流示例

  1. 使用以下命令将开发服务器作为守护进程启动 daemonize_start.
  2. 使用 daemonize_logs 实时监控服务器的输出。
  3. 使用以下命令停止服务器 daemonize_stop 当完成时。

许可证

该项目根据麻省理工学院开源许可证条款获得许可。看 许可证 了解详情。