{"id":28918348,"url":"https://github.com/neptaco/mcproc","last_synced_at":"2026-04-22T23:35:58.832Z","repository":{"id":300486695,"uuid":"1003130502","full_name":"neptaco/mcproc","owner":"neptaco","description":"A Model Context Protocol (MCP) server for comfortable background process management on AI agents.","archived":false,"fork":false,"pushed_at":"2026-03-14T04:58:20.000Z","size":591,"stargazers_count":9,"open_issues_count":4,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-14T16:14:25.991Z","etag":null,"topics":["aiagent","claude-code","cursor","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neptaco.png","metadata":{"files":{"readme":"README.ja.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-16T17:08:39.000Z","updated_at":"2026-03-14T04:58:23.000Z","dependencies_parsed_at":"2025-07-15T06:32:53.529Z","dependency_job_id":null,"html_url":"https://github.com/neptaco/mcproc","commit_stats":null,"previous_names":["neptaco/mcproc"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/neptaco/mcproc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neptaco%2Fmcproc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neptaco%2Fmcproc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neptaco%2Fmcproc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neptaco%2Fmcproc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neptaco","download_url":"https://codeload.github.com/neptaco/mcproc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neptaco%2Fmcproc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32159959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiagent","claude-code","cursor","mcp","mcp-server"],"created_at":"2025-06-22T02:02:45.641Z","updated_at":"2026-04-22T23:35:58.824Z","avatar_url":"https://github.com/neptaco.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mcproc\n\nAIエージェント上での快適なバックグラウンドプロセス管理を実現する Model Context Protocol (MCP) サーバーです。\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Homebrew](https://img.shields.io/badge/Homebrew-tap%2Fneptaco-orange)](https://github.com/neptaco/homebrew-tap)\n\n[English](README.md) | [日本語](README.ja.md)\n\n## 概要\n\nmcprocは、AIエージェント開発と従来のコマンドライン作業の間のギャップを埋めます。AIエージェントにより長時間実行される開発プロセス（開発サーバー、ビルドウォッチャーなど）を管理できるようにしながら、開発者はこれらの同じプロセスをモニタリング・制御するための完全なCLIアクセスを提供します。\n\n## なぜmcprocが必要か？\n\n単純なAIエージェントが起動するプロセスはステートレスで、長時間実行されるプロセスを効果的に管理できません。mcprocは以下の方法でこの問題を解決します：\n\n- **統一された制御**: どのエージェント、どのターミナルで何が実行されているかの混乱がなくなります - すべてのプロセスが一元管理されます\n- **コンテキストの保持**: ログがキャプチャされ保存されるため、AIエージェントは以前に発生した問題をログを確認しながらデバッグできます\n- **開発者フレンドリー**: 完全なCLIアクセスにより、自分の開発環境から締め出されることはありません\n\n## 主な機能\n\n- 🔄 **統一されたプロセス管理**: MCPを介してAIエージェントからバックグラウンドプロセスを開始・管理し、ターミナルからモニタリング\n- 👁️ **環境を超えた可視性**: AIエージェントが開始したプロセスはCLIや他のエージェントから完全にアクセス可能、その逆も同様\n- 📝 **インテリジェントなログ管理**: 強力な正規表現パターンでプロセスログをキャプチャ、永続化、検索\n- 📁 **プロジェクト対応**: プロジェクトコンテキストごとに自動的にプロセスをグループ化\n- 📊 **リアルタイムモニタリング**: AIエージェントがプロセスを管理している間、CLIからリアルタイムでログを追跡\n- 🛡️ **XDG準拠**: XDG Base Directory仕様に従った適切なファイル構成\n- ⚡ **ログパターン待機**: プロセスを開始し、特定のログパターンを待機して準備完了を確認\n- 🔍 **高度な検索**: ログ分析のための時間ベースのフィルタリング、コンテキスト行、正規表現サポート\n- 🧰 **ツールチェーンサポート**: バージョン管理ツール（mise、asdf、nvm、rbenvなど）を通じてコマンドを実行\n- 🧹 **クリーンコマンド**: プロジェクト内のすべてのプロセスを一度に停止\n- 🌲 **プロセスグループ**: 親プロセスを停止するときに子プロセスを自動的にクリーンアップ\n\n## インストール\n\n### Homebrew使用（macOSとLinux）\n\n```bash\nbrew tap neptaco/tap\nbrew install mcproc\n```\n\n### ソースからビルド\n\n```bash\n# protobufコンパイラのインストール（必須）\n# macOS:\nbrew install protobuf\n\n# Ubuntu/Debian:\nsudo apt-get install protobuf-compiler\n\n# リポジトリのクローン\ngit clone https://github.com/neptaco/mcproc.git\ncd mcproc\n\n# ビルド\ncargo build --release\n```\n\n\n## 使い方\n\nmcprocはAIエージェントと開発者の両方に強力なインターフェースを提供します。\n\n### MCP Server として登録する\n\n#### Claude Code\n\n```\nclaude mcp add mcproc mcproc mcp serve\n```\n\n#### Claude Desktop\n\nClaude Desktopの設定に追加:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcproc\": {\n      \"command\": \"mcproc\",\n      \"args\": [\"mcp\", \"serve\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n### MCP Tools\n\nAIエージェントは以下のMCPツールにアクセスできます:\n\n- `start_process`: 開発サーバーまたはプロセスを開始\n- `stop_process`: 実行中のプロセスを停止\n- `restart_process`: プロセスを再起動\n- `list_processes`: すべての管理されているプロセスを一覧表示\n- `get_process_logs`: プロセスログを取得\n- `search_process_logs`: 正規表現でログを検索\n- `get_process_status`: 詳細なプロセス情報を取得\n\n\n### CLI から使用する\n\nAIエージェントがバックグラウンドでプロセスを管理している間、モニタリングと制御ができます：\n\nおすすめコマンド: `mcproc logs -f`\n\n#### CLIコマンド\n\n| コマンド | 説明 | フラグ | 例 |\n|---------|-------------|-------|---------|\n| 🗒️ `ps` | すべての実行中プロセスを一覧表示 | `-s, --status \u003cSTATUS\u003e` ステータスでフィルタ | `mcproc ps --status running` |\n| 🚀 `start **\u003cNAME\u003e**` | 新しいプロセスを開始 | `-c, --cmd \u003cCMD\u003e` 実行するコマンド\u003cbr\u003e`-d, --cwd \u003cDIR\u003e` 作業ディレクトリ\u003cbr\u003e`-e, --env \u003cKEY=VAL\u003e` 環境変数\u003cbr\u003e`-p, --project \u003cNAME\u003e` プロジェクト名\u003cbr\u003e`--wait-for-log \u003cPATTERN\u003e` ログパターンを待機\u003cbr\u003e`--wait-timeout \u003cSECS\u003e` 待機タイムアウト\u003cbr\u003e`--toolchain \u003cTOOL\u003e` 使用するバージョン管理ツール | `mcproc start web -c \"npm run dev\" -d ./app` |\n| 🛑 `stop **\u003cNAME\u003e**` | 実行中のプロセスを停止 | `-p, --project \u003cNAME\u003e` プロジェクト名\u003cbr\u003e`-f, --force` 強制終了 (SIGKILL) | `mcproc stop web -p myapp` |\n| 🔄 `restart **\u003cNAME\u003e**` | プロセスを再起動 | `-p, --project \u003cNAME\u003e` プロジェクト名 | `mcproc restart web` |\n| 📜 `logs **\u003cNAME\u003e**` | プロセスログを表示 | `-p, --project \u003cNAME\u003e` プロジェクト名\u003cbr\u003e`-f, --follow` ログ出力を追跡\u003cbr\u003e`-t, --tail \u003cNUM\u003e` 表示する行数 | `mcproc logs web -f -t 100` |\n| 🔍 `grep **\u003cNAME\u003e** **\u003cPATTERN\u003e**` | 正規表現でログを検索 | `-p, --project \u003cNAME\u003e` プロジェクト名\u003cbr\u003e`-C, --context \u003cNUM\u003e` コンテキスト行\u003cbr\u003e`-B, --before \u003cNUM\u003e` マッチ前の行\u003cbr\u003e`-A, --after \u003cNUM\u003e` マッチ後の行\u003cbr\u003e`--since \u003cTIME\u003e` 指定時刻以降を検索\u003cbr\u003e`--until \u003cTIME\u003e` 指定時刻以前を検索\u003cbr\u003e`--last \u003cDURATION\u003e` 指定期間内を検索 | `mcproc grep web \"error\" -C 3` |\n| 🧹 `clean` | プロジェクト内の全プロセスを停止 | `-p, --project \u003cNAME\u003e` プロジェクト名\u003cbr\u003e`-f, --force` 強制終了 | `mcproc clean -p myapp` |\n| 🎛️ `daemon start` | mcprocデーモンを開始 | なし | `mcproc daemon start` |\n| 🎛️ `daemon stop` | mcprocデーモンを停止 | なし | `mcproc daemon stop` |\n| 🎛️ `daemon status` | デーモンステータスを確認 | なし | `mcproc daemon status` |\n| 🔌 `mcp serve` | MCPサーバーとして実行 | なし | `mcproc mcp serve` |\n| ℹ️ `--version` | バージョン情報を表示 | なし | `mcproc --version` |\n| ❓ `--help` | ヘルプメッセージを表示 | なし | `mcproc --help` |\n\n\n#### 例\n\n```bash\n# デーモンを開始（まだ実行されていない場合）\nmcproc daemon start\n\n# すべてのプロセスを表示（AIエージェントが開始したものを含む）\nmcproc ps\n\n# リアルタイムでログを追跡\nmcproc logs frontend -f\n\n# プロジェクト単位でのマルチプロセスログ追跡\nmcproc logs -f\n\n# ログを検索\nmcproc grep backend \"error\" -C 5\n\n# プロセスを停止\nmcproc stop frontend\n```\n\n### ワークフローの例\n\n1. **AIエージェントが開発サーバーを開始:**\n   ```\n   エージェント: 「フロントエンドの開発サーバーを起動します」\n   → MCPツールを使用: start_process(name: \"frontend\", cmd: \"npm run dev\", wait_for_log: \"Server running\")\n   ```\n\n2. **ターミナルからモニタリング:**\n   ```bash\n   mcproc logs -f\n   # サーバーが実行されている間、リアルタイムでログを確認\n   ```\n\n3. **AIエージェントがエラーを検出してログを検索:**\n   ```\n   エージェント: 「エラーの原因を確認させてください」\n   → MCPツールを使用: search_process_logs(name: \"frontend\", pattern: \"ERROR|WARN\", last: \"5m\")\n   ```\n\n4. **同じ情報を確認:**\n   ```bash\n   mcproc grep frontend \"ERROR|WARN\" -C 3 --last 5m\n   ```\n\n### 高度な例\n\n```bash\n# 環境変数を設定してプロセスを開始\nmcproc start api --cmd \"python app.py\" --env PORT=8000 --env DEBUG=true\n\n# プロセスが準備完了になるまで特定のログパターンを待機\nmcproc start web --cmd \"npm run dev\" --wait-for-log \"Server running on\" --wait-timeout 60\n\n# 時間フィルタでログを検索\nmcproc grep api \"database.*connection\" --since \"14:30\" --until \"15:00\"\n\n# 同じプロジェクト内の複数のプロセスからログを表示\nmcproc ps\nmcproc logs web --project myapp -t 100\n\n# Node.jsプロジェクトでバージョン管理ツールを使用\nmcproc start web --cmd \"npm run dev\" --toolchain nvm\nmcproc start api --cmd \"yarn start\" --toolchain mise\n\n# プロジェクト内のすべてのプロセスをクリーンアップ\nmcproc clean --project myapp\n\n# 現在のプロジェクトのすべてのプロセスを強制停止\nmcproc clean --force\n```\n\n## アーキテクチャ\n\nmcprocは3つの主要コンポーネントで構成されています：\n\n1. **mcproc daemon**: プロセスを管理し、ログの永続化を処理する軽量デーモン\n2. **mcproc CLI**: デーモンと対話するための開発者向けコマンドラインインターフェース\n3. **MCPサーバー**: Model Context Protocolを介してAIエージェントにプロセス管理機能を公開\n\n### ファイルの場所（XDG準拠）\n\n- **設定**: `$XDG_CONFIG_HOME/mcproc/config.toml` (デフォルト: `~/.config/mcproc/`)\n- **ログ**: `$XDG_STATE_HOME/mcproc/log/` (デフォルト: `~/.local/state/mcproc/log/`)\n- **ランタイム**: `$XDG_RUNTIME_DIR/mcproc/` (デフォルト: `/tmp/mcproc-$UID/`)\n\n## 開発\n\n### ソースからビルド\n\n```bash\n# リポジトリをクローン\ngit clone https://github.com/neptaco/mcproc.git\ncd mcproc\n\n# すべてのコンポーネントをビルド\ncargo build --release\n\n# テストを実行\ncargo test\n\n# 詳細なロギングで実行\nRUST_LOG=mcproc=debug cargo run -- daemon start\n```\n\n### プロジェクト構造\n\n```\nmcproc/\n├── mcproc/         # CLIとデーモンの実装\n├── mcp-rs/         # 再利用可能なMCPサーバーライブラリ\n├── proto/          # Protocol Buffer定義\n└── docs/           # アーキテクチャと設計ドキュメント\n```\n\n## コントリビューション\n\nコントリビューションを歓迎します！お気軽にPull Requestを送信してください。\n\n## ライセンス\n\nMIT License\n\nCopyright (c) 2025 Atsuhito Machida (neptaco)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneptaco%2Fmcproc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneptaco%2Fmcproc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneptaco%2Fmcproc/lists"}