Skynet-MCP (THIS PROJECT IS A WORK IN PROGRESS) について
Skynet-MCPは、MCPを介して階層型AIエージェントを連携させる開発中のプロジェクトです。各インスタンスはサーバーとクライアントの両方として動作し、接続先のツールを検出して子エージェントのタスクを作成しますが、エージェントフレームワークは未実装です。
主な機能
- 01MCPサーバーとクライアントの両モード
- 02接続先サーバーのツール検出
- 03子エージェントの作成と管理
- 04タスクの遅延実行と結果取得
- 05STDIOとSSEのトランスポート
活用シーン
- 01複雑な調査タスクの分解
- 02子エージェントへの作業委任
- 03タスクの非同期実行と結果確認
MCP 対応
各インスタンスはMCPサーバーとクライアントの両方として動作します。上位エージェントにタスク用ツールを公開し、接続したMCPサーバーのツールを検出できます。開発中で、エージェントフレームワークは未実装です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Skynet-MCP(このプロジェクトは現在開発中です)
Model Context Protocol(MCP)を使用する、階層型の AI エージェントネットワークです。このネットワーク内の AI エージェントは、新しいエージェントを起動して作業を任せることができ、各エージェントは起動元のエージェントが持つすべてのツールも利用できます。 このエージェントネットワークは、調査やレポート作成からコーディングに至るまで、複雑なタスクに取り組むことができます。
増え続ける MCP サーバーのコレクションを活用することで、各エージェントはあらゆる種類のタスクを実行するための多くのツールを利用できる可能性があります。
協力してみませんか?
このアイデアに興味があり、TypeScript に精通している方は、ぜひご協力ください!貢献に興味がある方は、お気軽にご連絡ください。
概要
Skynet-MCP は、Model Context Protocol(MCP)を実装して階層型の AI エージェントネットワークを構築する、高度なアーキテクチャです。各 Skynet-MCP インスタンスは MCP サーバーと MCP クライアントの両方として動作し、親エージェントにツールを提供しながら、子エージェントの起動と管理も行います。
このアーキテクチャにより、複雑なタスクを分解し、作業を並列化して、複数のモデルやサービスにわたる専門的な機能を統合できる、再帰的なエージェントネットワークを実現できます。
特徴
- デュアルモード動作:MCP サーバーとクライアントの両方として動作します
- LLM 統合:OpenAI または Anthropic のモデルに接続して、インテリジェントな意思決定を行います
- ツールの検出:接続された MCP サーバーのツールを自動的に検出して使用します
- 階層型エージェント管理:子エージェントを作成して管理します
- 設定可能:複数の環境に対応した柔軟な設定システムを備えています
- FastMCP 統合:堅牢な MCP サーバーの実装に適した効率的な FastMCP フレームワークを基盤としています
- 複数のトランスポートオプション:STDIO と SSE(Server-Sent Events)の両方のトランスポートに対応しています
- 遅延実行:タスクを非同期で実行し、後から結果をポーリングできます
MCP ツール
Skynet-MCP は、FastMCP の実装を通じて次の MCP ツールを提供します。
-
Invoke:エージェントのタスクを作成して管理します
- パラメーター:
mcpConfig:MCP サーバーの設定(エージェントが利用できるツール)llmConfig:LLM の設定(使用するプロバイダーとモデル)prompt:エージェントのタスクに対する指示delayedExecution:タスクを非同期で実行するかどうかを示すブール値
- パラメーター:
-
DelayedResponse:非同期タスクの結果を取得します
- パラメーター:
taskId:確認するタスクの ID
- 戻り値:タスクのステータスと結果(完了している場合)
- パラメーター:
エージェント
エージェントのフレームワークは、まだ実装が必要です。
プロジェクト構成
skynet-mcp/
├── src/
│ ├── server/ # MCP server implementation
│ ├── client/ # MCP client implementation
│ ├── orchestrator/ # Agent orchestration
│ ├── tools/ # Agent tools
│ ├── persistence/ # State management
│ └── utils/ # Shared utilities
├── test/
│ ├── unit/ # Unit tests
│ └── integration/ # Integration tests
├── examples/ # Example implementations
└── config/ # Configuration files
開発
前提条件
- Node.js(v20 以降)
- npm
- Docker と Docker Compose(任意。コンテナ化された開発で使用)
- OpenAI または Anthropic の API キー(LLM を利用するエージェントで使用)
セットアップ
- リポジトリをクローンします
- 依存関係をインストールします:
npm install
利用可能なスクリプト
基本的な開発コマンド
npm run build- プロジェクトをビルドしますnpm run test- テストを実行しますnpm run test:watch- ウォッチモードでテストを実行しますnpm run test:coverage- カバレッジ付きでテストを実行しますnpm run lint- コードを lint しますnpm run lint:fix- コードを lint して修正しますnpm run format- コードをフォーマットしますnpm run dev- ウォッチモードで TypeScript を実行しますnpm start- アプリケーションを起動します
Docker コマンド
npm run docker:build- Docker イメージをビルドしますnpm run docker:up- Docker Compose でアプリケーションを起動しますnpm run docker:down- Docker Compose のサービスを停止しますnpm run docker:test- Docker コンテナ内でテストを実行しますnpm run test:docker- Docker 固有のテストを実行します(Docker の起動が必要です)
Docker のサポート
Skynet-MCP は、コンテナ化された開発とデプロイのための Docker サポートを備えています。
Dockerfile
このプロジェクトには、次の処理を行う Dockerfile が含まれています。
- ベースイメージとして Node.js 20 Alpine を使用します
- アプリケーション環境をセットアップします
- 依存関係をインストールします
- TypeScript コードをビルドします
- サーバー用にポート 3000 を公開します
Docker Compose
docker-compose.yml ファイルには、次の要素を含む完全な開発環境が用意されています。
- Skynet-MCP アプリケーションコンテナ
- 状態管理と永続化のための Redis
- ローカル開発用のボリュームマウント
- 環境変数の設定
環境全体を起動するには、次のコマンドを実行します。
npm run docker:up
Configuration System
Skynet-MCP は、次の場所から設定を読み込める柔軟な設定システムを使用します。
- デフォルト値
- 環境変数
- 環境別の JSON 設定ファイル
設定ファイルは config/ ディレクトリに保存され、NODE_ENV 環境変数に基づいて読み込まれます。
Environment Variables
主な環境変数は次のとおりです。
SERVER_PORT- サーバーがリッスンするポートSERVER_HOST- サーバーがバインドするホストLOG_LEVEL- ログレベル(debug、info、warn、error)PERSISTENCE_TYPE- ストレージの種類(memory または redis)REDIS_URL- Redis 接続 URL(Redis を使用する場合)OPENAI_API_KEY- OpenAI API キー(LLM を利用するエージェント用)ANTHROPIC_API_KEY- Anthropic API キー(LLM を利用するエージェント用)
CI/CD
Skynet-MCP は、継続的インテグレーションとデリバリーに GitHub Actions を使用します。
ワークフローでは、次の処理を行います。
- main ブランチへのプッシュ時およびプルリクエスト時に実行します
- Node.js 環境をセットアップします
- 依存関係をインストールします
- lint とフォーマットのチェックを実行します
- プロジェクトをビルドします
- すべてのテストを実行します
- Docker イメージをビルドして検証します
CI/CD パイプラインは、変更がマージされる前に自動でテストを実行することで、コードの品質と安定性の確保に役立ちます。
License
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。