mcpField
B
Background Process MCP

Background Process MCP

本地服务
github.com/waylaidwanderer开发工具1151 周前更新

关于 Background Process MCP

Background Process MCP 为 LLM 和 Agent 提供长时间运行的命令行进程管理能力,并附带终端界面供人查看进程。其独立核心服务也可供 MCP 和 TUI 客户端连接。

主要功能

  1. 01后台启动命令行进程
  2. 02停止和清理进程
  3. 03查看进程输出
  4. 04列出进程及状态
  5. 05终端界面监控进程

适用场景

  1. 01让 Agent 启动长时间运行的任务
  2. 02检查后台命令的输出
  3. 03在终端查看和管理进程

MCP 相关

MCP 服务将核心进程服务的能力作为工具提供给 Agent,可连接现有服务或启动新服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"background-process": {
"command": "npx",
"args": [
"-y",
"@waylaidwanderer/background-process-mcp"
]
}
}
}
启动命令npx -y @waylaidwanderer/background-process-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@waylaidwanderer/background-process-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

后台进程 MCP

一个提供后台进程管理功能的模型上下文协议(MCP)服务。此服务支持大模型启动、停止和监控长时间运行的命令行进程。

动机

Claude Code 等一些 AI Agent 可以原生管理后台进程,但许多其他 Agent 做不到。此项目为 Google 的 Gemini CLI 等其他 Agent 提供了这项标准工具能力。它作为独立服务运行,让更多 Agent 能够管理长时间运行的任务。我还添加了一个 TUI,因为我希望能够亲自监控进程。

截图

TUI 截图

开始使用

要开始使用,请在你偏好的客户端中安装 Background Process MCP 服务。

标准配置

此配置适用于大多数 MCP 客户端:

{
  "mcpServers": {
    "backgroundProcess": {
      "command": "npx",
      "args": [
        "@waylaidwanderer/background-process-mcp@latest"
      ]
    }
  }
}

要连接到独立服务,请将 --port 参数添加到 args 数组中(例如,...mcp@latest", "--port", "31337"])。

Claude Code

使用 Claude Code CLI 添加 Background Process MCP 服务:

claude mcp add backgroundProcess npx @waylaidwanderer/background-process-mcp@latest
Claude Desktop

参照 MCP 安装指南,使用上方的标准配置。

Codex

创建或编辑配置文件 ~/.codex/config.toml 并添加:

[mcp_servers.backgroundProcess]
command = "npx"
args = ["@waylaidwanderer/background-process-mcp@latest"]

更多信息请参阅 Codex MCP 文档。

Cursor
点击按钮进行安装:

在 Cursor 中安装

或手动安装:

前往 Cursor Settings -> MCP -> Add new MCP Server。将名称设为 backgroundProcess,使用 command 类型,命令为 npx @waylaidwanderer/background-process-mcp@latest。

Gemini CLI

参照 MCP 安装指南,使用上方的标准配置。

Goose
点击按钮进行安装:

在 Goose 中安装

或手动安装:

前往 Advanced settings -> Extensions -> Add custom extension。将名称设为 backgroundProcess,类型设为 STDIO,并将 command 设为 npx @waylaidwanderer/background-process-mcp@latest。点击“Add Extension”。

LM Studio
点击按钮进行安装:

将 MCP 服务 backgroundProcess 添加到 LM Studio

或手动安装:

前往右侧边栏中的 Program -> Install -> Edit mcp.json。使用上方的标准配置。

opencode

参阅 MCP 服务文档。例如,在 ~/.config/opencode/opencode.json 中:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "backgroundProcess": {
      "type": "local",
      "command": [
        "npx",
        "@waylaidwanderer/background-process-mcp@latest"
      ],
      "enabled": true
    }
  }
}
Qodo Gen

在 VSCode 或 IntelliJ 中打开 Qodo Gen 聊天面板 → Connect more tools → + Add new MCP → 粘贴上方的标准配置。

点击 Save。

VS Code(适用于 GitHub Copilot) #### 点击按钮进行安装:

在 VS Code 中安装 在 VS Code Insiders 中安装

或手动安装:

按照 MCP 安装指南操作,使用上方的标准配置。你也可以使用 VS Code CLI 安装服务:

# For VS Code
code --add-mcp '{"name":"backgroundProcess","command":"npx","args":["@waylaidwanderer/background-process-mcp@latest"]}'
Windsurf

按照 Windsurf MCP 文档操作。使用上方的标准配置。

工具

MCP 服务提供以下工具。

进程管理
  • start_process

    • 描述:在后台启动新进程。
    • 参数:
      • command(字符串):要执行的 shell 命令。
    • 返回:包含新进程 ID 的确认消息。
  • stop_process

    • 描述:停止正在运行的进程。
    • 参数:
      • processId(字符串):要停止的进程的 UUID。
    • 返回:确认消息。
  • clear_process

    • 描述:从列表中清除已停止的进程。
    • 参数:
      • processId(字符串):要清除的进程的 UUID。
    • 返回:确认消息。
  • get_process_output

    • 描述:获取进程的近期输出。可指定 head 获取前 N 行,或指定 tail 获取最后 N 行。
    • 参数:
      • processId(字符串):要获取输出的进程的 UUID。
      • head(数字,可选):从输出开头获取的行数。
      • tail(数字,可选):从输出末尾获取的行数。
    • 返回:请求的进程输出,作为单个字符串。
  • list_processes

    • 描述:获取 Core Service 管理的所有进程列表。
    • 参数:无
    • 返回:表示所有进程状态数组的 JSON 字符串。
  • get_server_status

    • 描述:获取 Core Service 的当前状态。
    • 参数:无
    • 返回:包含服务状态信息(版本、端口、PID、运行时间、进程数)的 JSON 字符串。

架构

项目包含三个组件:

  1. Core Service(src/server.ts):独立的 WebSocket 服务,使用 node-pty 管理子进程的生命周期。它是所有进程状态的唯一事实来源。该服务专为独立运行而设计,因此可以为其构建官方 TUI 和 MCP 之外的其他客户端。

  2. MCP 客户端(src/mcp.ts):将 Core Service 的功能作为一组工具提供给大模型 Agent。它可以连接到现有服务,也可以启动新服务。

  3. TUI 客户端(src/tui.ts):基于 ink 的终端 UI,连接到 Core Service 以显示进程信息并接收用户命令。

手动使用

如果你想在 MCP 客户端之外手动运行服务和 TUI,可以使用以下命令。

要使用更短的命令,可以全局安装此软件包:

pnpm add -g @waylaidwanderer/background-process-mcp

这样即可使用 bgpm 命令。

1. 运行 Core Service

手动启动后台服务:

# With npx
npx @waylaidwanderer/background-process-mcp server

# Or, if installed globally
bgpm server

服务将在可用端口上监听(默认端口为 31337),并输出包含连接详情的 JSON 握手信息。

2. 使用 TUI

通过服务器端口将 TUI 连接到正在运行的服务器:

# With npx
npx @waylaidwanderer/background-process-mcp ui --port <port_number>

# Or, if installed globally
bgpm ui --port <port_number>

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。