Background Process MCP について
Background Process MCPは、LLMやエージェントが長時間動作するコマンドラインプロセスを管理するためのサーバーです。人がプロセスを確認できるターミナルUIも備え、独立したコアサービスはMCPやTUIクライアントから利用できます。
主な機能
- 01コマンドラインプロセスのバックグラウンド起動
- 02プロセスの停止と一覧からの削除
- 03プロセス出力の取得
- 04プロセスと状態の一覧表示
- 05ターミナルUIでのプロセス監視
活用シーン
- 01エージェントによる長時間タスクの起動
- 02バックグラウンドコマンドの出力確認
- 03ターミナルでのプロセス確認と管理
MCP 対応
MCPサーバーはコアプロセスサービスの機能をエージェント向けのツールとして公開し、既存サービスへの接続または新規起動ができます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
バックグラウンドプロセス MCP
バックグラウンドプロセスを管理する機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーにより、LLM は長時間実行されるコマンドラインプロセスを起動、停止、監視できます。
動機
Claude Code のように、バックグラウンドプロセスをネイティブに管理できる AI エージェントもありますが、多くのエージェントは対応していません。このプロジェクトでは、Google の Gemini CLI など、ほかのエージェントでもこの機能を利用できるよう、標準ツールとして提供します。独立したサービスとして動作するため、より幅広いエージェントで長時間実行タスクを管理できます。また、プロセスを自分で監視できるように 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 Settings -> MCP -> Add new MCP Server を開きます。名前を backgroundProcess にし、種類に command を選択して、コマンドに npx @waylaidwanderer/background-process-mcp@latest を指定します。
Gemini CLI
MCP インストールのガイドに従い、上記の標準設定を使用してください。
Goose
ボタンをクリックしてインストールします。
または、手動でインストールします。
Advanced settings -> Extensions -> Add custom extension を開きます。名前を backgroundProcess にし、種類に STDIO を選択して、command に npx @waylaidwanderer/background-process-mcp@latest を設定します。「Add Extension」をクリックします。
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 用)
#### ボタンをクリックしてインストールします:または手動でインストールします:
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(string):実行するシェルコマンドです。
- 戻り値:新しいプロセス ID を含む確認メッセージです。
-
stop_process
- 説明:実行中のプロセスを停止します。
- パラメーター:
processId(string):停止するプロセスの UUID です。
- 戻り値:確認メッセージです。
-
clear_process
- 説明:停止したプロセスを一覧から消去します。
- パラメーター:
processId(string):消去するプロセスの UUID です。
- 戻り値:確認メッセージです。
-
get_process_output
- 説明:プロセスの最近の出力を取得します。最初の N 行を取得するには
head、最後の N 行を取得するにはtailを指定できます。 - パラメーター:
processId(string):出力を取得するプロセスの UUID です。head(number、任意):出力の先頭から取得する行数です。tail(number、任意):出力の末尾から取得する行数です。
- 戻り値:要求されたプロセス出力を 1 つの文字列として返します。
- 説明:プロセスの最近の出力を取得します。最初の N 行を取得するには
-
list_processes
- 説明:Core Service が管理するすべてのプロセスの一覧を取得します。
- パラメーター:なし
- 戻り値:すべてのプロセス状態を含む配列を表す JSON 文字列です。
-
get_server_status
- 説明:Core Service の現在の状態を取得します。
- パラメーター:なし
- 戻り値:サーバーの状態情報(バージョン、ポート、PID、稼働時間、プロセス数)を含む JSON 文字列です。
アーキテクチャ
このプロジェクトは 3 つのコンポーネントで構成されています:
-
Core Service(
src/server.ts):node-ptyを使用して子プロセスのライフサイクルを管理する、スタンドアロンの WebSocket サーバーです。すべてのプロセス状態の唯一の信頼できる情報源です。公式 TUI や MCP 以外のクライアントも構築できるよう、スタンドアロンとして設計されています。 -
MCP Client(
src/mcp.ts):Core Service の機能を LLM エージェント向けの一連のツールとして公開します。既存のサービスに接続することも、新しいサービスを起動することもできます。 -
TUI Client(
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>
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。