🚀 SystemPrompt Coding Agent
このプロジェクトは、あなたのワークステーションをリモートアクセス可能なMCP(Model Context Protocol)サーバーに変えます。どのMCPクライアントも接続でき、SystemPrompt.ioのエコシステムの一部で、開発者向けのネイティブモバイル音声制御AIオーケストレーションを先導しています。
[](https://opensource.org/licenses/MIT)
[](https://twitter.com/tyingshoelaces_)
[](https://discord.com/invite/wkAbSuPWpr)
ウェブサイト • ドキュメント • デモビデオを見る
### 💯 100% 無料でオープンソース
皆さんの支援に感謝します! このプロジェクトが役に立った場合は、以下のことをご検討ください:
⭐ このリポジトリにスターをつける • 📢 ネットワークで共有する • 🐛 問題を報告する • 🤝 コードを貢献する
すべてのスター、共有、貢献がコミュニティのためにこのツールを改善する手助けになります!
### 📱 任意のMCPクライアントで動作
このサーバーは100%無料でオープンソース で、MCP互換の任意のクライアントで動作します。
また、このサーバーとの音声主導のインタラクション用に設計された有料サブスクリプションのネイティブモバイルアプリ(SystemPrompt)も提供しています。
このモバイルアプリはまだ開発の初期段階ですが、どこからでもコーディングエージェントを制御するためのネイティブモバイル体験を提供します。
🚀 クイックスタート
概要
このセクションでは、SystemPrompt Coding Agentをすぐに使い始めるための手順を説明します。
前提条件
セットアップスクリプトが自動的に以下のものをチェックします:
- Node.js 18+(必須)
- Docker & Docker Compose(必須)
- Claude Code CLI(オプションだが推奨 - セットアップスクリプトがガイドします)
セットアップと実行
git clone https://github.com/systempromptio/systemprompt-code-orchestrator
cd systemprompt-code-orchestrator
npm i
npm run setup
npm run start
npm run inspector
インスペクターで実行できる作成されたタスクは、Claude Codeのインストールにトンネリングされ、Dockerコンテナ内に構造化ログを保存し(MCPリソースとして公開)、インスペクター(および任意のMCPクライアント)を通じて実行できるようになります。
必須コマンド
npm run start
npm run stop
npm run status
npm run logs
npm run tunnel
必須設定
# 必須(セットアップ時に入力を求められます)
PROJECT_ROOT=/path/to/your/code # ⚠️ AIエージェントはここに完全なアクセス権を持ちます
# オプション(デフォルト値あり)
PORT=3000
COMPOSE_PROJECT_NAME=systemprompt-coding-agent
# オプション(追加機能用)
CLOUDFLARE_TOKEN=your_token # トンネルアクセス用
PUSH_TOKEN=your_token # モバイル通知用
✨ 主な機能
🤖 AIエージェントオーケストレーション
- マルチエージェントサポート:デフォルトでClaude Code CLIがサポートされ、任意のエージェントに拡張可能
- タスク管理:コーディングタスクの作成、追跡、管理 - タスク管理 →
- セッション分離:各タスクは独自のコンテキストで実行される - Claude統合 →
- リアルタイムストリーミング:AIエージェントの作業をリアルタイムで見ることができる - イベントシステム →
📱 モバイルファースト設計
- 音声コマンド:「バリデーション付きのログインフォームを作成」
- プッシュ通知:タスクが完了したときにアラートを受け取る - プッシュ通知 →
- クイックアクション:一般的なタスク用の事前定義テンプレート - プロンプトテンプレート →
- リモート制御:どこからでも開発環境を管理する
🔧 MCPプロトコル機能
- 永続的な状態:タスクはサーバーの再起動後も存続する - 状態永続化 →
- リソース管理:タスクデータをMCPリソースとして公開する - ツールとリソース →
- 対話型プロンプト:AIエージェントがクラリフィケーションを求めることができる
- 進捗通知:リアルタイムのステータス更新
- 構造化データ:完全なスキーマ検証 - MCPサーバー →
📦 インストール
前提条件
- Node.js 18+
- Docker & Docker Compose
- Claude Code CLI(オプションだが推奨)
手順
git clone https://github.com/systempromptio/systemprompt-code-orchestrator
cd systemprompt-code-orchestrator
npm i
npm run setup
npm run start
💻 使用例
基本的な使用法
npm run start
npm run inspector
高度な使用法
npm run tunnel
📚 ドキュメント
クイックナビゲーション
開始方法: クイックスタート | セキュリティ | リモートアクセス
ドキュメント: アーキテクチャ | ツール | テンプレート
コンポーネント: デーモン | Docker | MCPサーバー | エージェントマネージャー
機能: トンネルアクセス | プッシュ通知 | 状態永続化
詳細ドキュメント
- コアアーキテクチャ
- デーモン - コマンドを実行し、Claudeプロセスを管理するホスト側のブリッジ
- Dockerアーキテクチャ - Dockerコンテナとホストマシンの相互作用方法
- MCPサーバー - モデルコンテキストプロトコルサーバーの実装
- AIエージェントシステム
- エージェントマネージャー - すべてのAIエージェントセッションの中央オーケストレーター
- Claude Code統合 - Claude Code CLIの統合と管理方法
- タスク管理 - タスクのライフサイクル、永続化、状態管理
- プロトコルとAPI
- ツールとリソース - MCPツールとリソースの実装
- イベントシステムとロギング - リアルタイムイベントストリーミングと構造化ロギング
- 追加機能
- テストフレームワーク - E2Eテストのセットアップとベストプラクティス
- トンネルとリモートアクセス - インターネットアクセス用のCloudflareトンネルのセットアップ
- 状態永続化 - タスクとセッションが再起動後も存続する方法
- プッシュ通知 - モバイルプッシュ通知の統合
- プロンプトテンプレート - 一般的なタスク用の事前構築済みプロンプトシステム
🔧 技術詳細
技術的アーキテクチャ
MCP Client (Mobile/Desktop)
|
v
Docker Container (MCP Server)
- MCPプロトコルを処理
- リソースサブスクリプション
- イベントストリーミング
|
v
Host Bridge Daemon (TCP Socket)
- コマンドルーティング
|
v
Host Machine
- AIエージェントの実行
- ファイルシステムへのアクセス
主要な技術革新
1. リアルタイムリソースサブスクリプションモデル
サーバーは、MCP SDKの listChanged
パターンをリソースサブスクリプションに実装しています。タスクの状態が変更されると:
client.listResources()
client.getResource({ uri: "task://abc-123" })
await this.persistence.saveTask(updatedTask);
this.emit("task:updated", updatedTask);
await sendResourcesUpdatedNotification(`task://${taskId}`, sessionId);
これにより、ポーリングなしでリアルタイムのタスク監視が可能になり、クライアントはタスクの状態変更と同期したままになります。
2. タスク完了時のプッシュ通知
統合されたFirebase Cloud Messaging(FCM)サポートにより、タスクが完了するとモバイルデバイスにプッシュ通知が送信されます:
{
notification: {
title: "Task Complete",
body: "Your refactoring task finished successfully"
},
data: {
taskId: "abc-123",
status: "completed",
duration: "45s"
}
}
長時間実行されるタスクに最適です。タスクを開始して一日を過ごし、完了したときに通知を受け取ることができます。
3. ステートフルプロセス管理
イベント駆動型アーキテクチャ
すべての操作は、複数のサブシステムによって消費されるイベントを発行します:
- ロガー:コンテキスト付きの構造化JSONログ
- ステートマネージャー:タスクのステータス更新
- 通知機能:モバイルクライアントへのプッシュ通知
- メトリクス:パフォーマンスと使用状況の分析
リモートアクセスオプション
🌐 Cloudflareトンネルを介したインターネットアクセス
ローカルマシンにHTTPS URLを公開するためにCloudflareトンネルを開くなどのより複雑なオプションはドキュメント化されていますが、デフォルトでは含まれていません(自己責任で実行してください)。
npm run tunnel
これにより:
- ローカルサーバーへの安全なHTTPSトンネルが作成されます
- パブリックURLとローカルネットワークアドレスの両方が表示されます
- どこからでも(モバイルデバイスを含む)アクセスできるようになります
→ 完全なトンネルドキュメント
🏠 ローカルネットワークアクセス
すべてをローカルネットワークに留めたい場合は:
-
通常通りサーバーを起動します:
npm start
-
同じネットワーク上のデバイスからアクセスします:
- マシンのIPアドレスを見つけます
http://YOUR_IP:3000/mcp
を使用して接続します
ツールリファレンス
→ 完全なツールとリソースのドキュメント
タスクオーケストレーション
ツール |
説明 |
例 |
create_task |
新しいAIコーディングセッションを開始 |
{"title": "Add auth", "tool": "CLAUDECODE", "instructions": "..."} |
update_task |
追加の指示を送信 |
{"process": "session_123", "instructions": "..."} |
end_task |
タスクを完了してクリーンアップ |
{"task_id": "task_123", "status": "completed"} |
report_task |
タスクレポートを生成 |
{"task_ids": ["task_123"], "format": "markdown"} |
システム管理
ツール |
説明 |
例 |
check_status |
エージェントの可用性を検証 |
{"test_sessions": true, "verbose": true} |
update_stats |
システム統計を取得 |
{"include_tasks": true} |
clean_state |
古いタスクをクリーンアップ |
{"keep_recent": true, "dry_run": true} |
事前構築済みプロンプト
SystemPromptには、一般的なコーディングタスク用の強力なプロンプトテンプレートが含まれています。→ 完全なプロンプトテンプレートドキュメント
🐛 バグ修正
{
"prompt_template": "bug_fix",
"variables": {
"bug_description": "Login fails after password reset",
"error_logs": "401 Unauthorized at auth.js:42"
}
}
⚛️ Reactコンポーネント
{
"prompt_template": "react_component",
"variables": {
"component_name": "UserDashboard",
"features": ["data visualization", "real-time updates", "export functionality"]
}
}
🧪 単体テスト
{
"prompt_template": "unit_test",
"variables": {
"target_files": ["src/auth/*.js"],
"framework": "jest",
"coverage_target": 85
}
}
パフォーマンス最適化
- ストリーミング出力:エージェントの出力はチャンクでストリーミングされ、バッファリングされません
- 遅延リソースロード:リソースは必要に応じて取得されます
- コネクションプーリング:デーモンへのTCPコネクションが再利用されます
- 効率的な状態永続化:変更されたフィールドのみがディスクに書き込まれます
開発
プロジェクト構造
systemprompt-coding-agent/
├── src/
│ ├── server.ts # MCPサーバーのセットアップ
│ ├── handlers/ # プロトコルハンドラー
│ ├── services/ # エージェントサービス
│ ├── constants/ # ツール定義
│ └── types/ # TypeScriptの型
├── docker-compose.yml
└── package.json
貢献方法
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- プルリクエストを送信します
セキュリティ問題については、security@systemprompt.ioにメールで連絡してください。
サポート
将来のロードマップ
- マルチエージェントオーケストレーション:複雑なタスクで複数のAIエージェントを調整する
- 漸進的な計算:AIの出力をキャッシュして再利用する
- 分散実行:タスクを複数のマシンに分散する
- Web UIダッシュボード:ブラウザベースの監視と制御
MCPクライアントオプション
このサーバーはMCP互換の任意のクライアントで動作しますが、モバイル音声制御の体験を求める場合は、SystemPrompt.io をチェックしてください。まだ初期段階ですが、音声駆動型のAIコーディングワークフロー用に特別に設計されたネイティブiOS/Androidアプリです。私たちはこれらのタスクを作成し、音声で非同期にやり取りしたいと考えています!
📄 ライセンス
MITライセンス - LICENSE を参照してください。