mcpField
S
Skynet-MCP (THIS PROJECT IS A WORK IN PROGRESS)

Skynet-MCP (THIS PROJECT IS A WORK IN PROGRESS)

ローカル
github.com/ivo-tobyAI・エージェント583 週間前に更新

Skynet-MCP (THIS PROJECT IS A WORK IN PROGRESS) について

Skynet-MCPは、MCPを介して階層型AIエージェントを連携させる開発中のプロジェクトです。各インスタンスはサーバーとクライアントの両方として動作し、接続先のツールを検出して子エージェントのタスクを作成しますが、エージェントフレームワークは未実装です。

主な機能

  1. 01MCPサーバーとクライアントの両モード
  2. 02接続先サーバーのツール検出
  3. 03子エージェントの作成と管理
  4. 04タスクの遅延実行と結果取得
  5. 05STDIOとSSEのトランスポート

活用シーン

  1. 01複雑な調査タスクの分解
  2. 02子エージェントへの作業委任
  3. 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 ツールを提供します。

  1. Invoke:エージェントのタスクを作成して管理します

    • パラメーター:
      • mcpConfig:MCP サーバーの設定(エージェントが利用できるツール)
      • llmConfig:LLM の設定(使用するプロバイダーとモデル)
      • prompt:エージェントのタスクに対する指示
      • delayedExecution:タスクを非同期で実行するかどうかを示すブール値
  2. 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 を利用するエージェントで使用)
セットアップ
  1. リポジトリをクローンします
  2. 依存関係をインストールします:
    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 を使用します。

ワークフローでは、次の処理を行います。

  1. main ブランチへのプッシュ時およびプルリクエスト時に実行します
  2. Node.js 環境をセットアップします
  3. 依存関係をインストールします
  4. lint とフォーマットのチェックを実行します
  5. プロジェクトをビルドします
  6. すべてのテストを実行します
  7. Docker イメージをビルドして検証します

CI/CD パイプラインは、変更がマージされる前に自動でテストを実行することで、コードの品質と安定性の確保に役立ちます。

License

ISC

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。