mcpField
M
MCP Plugin for ElizaOS

MCP Plugin for ElizaOS

ローカル
github.com/fleek-platform開発ツール4883 週間前に更新

MCP Plugin for ElizaOS について

MCP Plugin for ElizaOS は、ElizaOS のエージェントから複数の MCP サーバーに同時に接続し、リソース、プロンプト、ツールを利用するためのプラグインです。ElizaOS 上でエージェントを開発する開発者向けで、stdio と sse の両方のサーバー種別に対応しています。

主な機能

  1. 01複数の MCP サーバーへの同時接続
  2. 02リソース、プロンプト、ツールの利用
  3. 03stdio と sse のサーバー種別に対応
  4. 04MCP_SERVERS コンテキストプロバイダー
  5. 05ツール呼び出しのタイムアウト設定と個別の無効化

活用シーン

  1. 01ElizaOS のエージェントに GitHub などの外部 MCP サーバーを接続する
  2. 02キャラクター設定内で複数の MCP サーバーを管理する

MCP 対応

本プラグインは MCP クライアントとして動作し、キャラクター設定で定義された stdio または sse の MCP サーバーに接続して、その機能をエージェントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ElizaOS 向け MCP プラグイン

Conventional Commits

このプラグインは Model Context Protocol(MCP)を ElizaOS と統合し、エージェントが複数の MCP サーバーに接続して、それらのリソース、プロンプト、ツールを利用できるようにします。

🔍 MCP とは?

Model Context Protocol(MCP)は、LLM アプリケーションと外部データソースやツールとのシームレスな統合を可能にするオープンプロトコルです。LLM を必要なコンテキストに接続するための標準化された方法を提供します。

このプラグインを使うと、ElizaOS エージェントは複数の MCP サーバーに同時にアクセスでき、それぞれ異なる機能を利用できます。

  • リソース:エージェントが参照するコンテキストとデータ
  • プロンプト:テンプレート化されたメッセージとワークフロー
  • ツール:エージェントが実行する関数

📦 インストール

ElizaOS プロジェクトにプラグインをインストールします。

  • npm
npm install @fleek-platform/eliza-plugin-mcp
  • pnpm
pnpm install @fleek-platform/eliza-plugin-mcp
  • yarn
yarn add @fleek-platform/eliza-plugin-mcp
  • bun
bun add @fleek-platform/eliza-plugin-mcp

🚀 使用方法

  1. キャラクター設定にプラグインを追加します。
{
  "name": "Your Character",
  "plugins": ["@fleek-platform/eliza-plugin-mcp"],
  "settings": {
    "mcp": {
      "servers": {
        "github": {
          "type": "stdio",
          "name": "Code Server",
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"]
        }
      }
    }
  }
}

⚙️ 設定オプション

MCP は「stdio」と「sse」の 2 種類のサーバーをサポートしています。それぞれの種類に固有の設定オプションがあります。

共通オプション
オプション型説明
typestringMCP サーバーの種類:「stdio」または「sse」
namestringサーバーの表示名
timeoutnumberツール呼び出しのタイムアウト(秒、デフォルト:60)
disabledbooleanサーバーを無効にするかどうか
stdio サーバーのオプション
オプション型説明
commandstringMCP サーバーを実行するコマンド
argsstring[]サーバーに渡すコマンドライン引数
envobjectサーバーに渡す環境変数
cwdstring任意 サーバーを実行する作業ディレクトリ
sse サーバーのオプション
オプション型説明
urlstringSSE エンドポイントの URL

🛠️ MCP の機能を使用する

設定すると、プラグインは MCP サーバーの機能をエージェントに自動的に公開します。

コンテキストプロバイダー

このプラグインには、エージェントのコンテキストに MCP の機能を追加する 3 つのプロバイダーが含まれています。

  1. MCP_SERVERS:利用可能なサーバーとそのツール、リソース、プロンプトを一覧表示します

🔄 プラグインのフロー

次の図は、ツールの選択と実行における MCP プラグインのフローを示しています。

graph TD
    %% Starting point - User request
    start[User Request] --> action[CALL_TOOL Action]

    %% MCP Server Validation
    action --> check{MCP Servers Available?}
    check -->|No| fail[Return No Tools Available]
    
    %% Tool Selection Flow
    check -->|Yes| state[Get MCP Provider Data]
    state --> prompt[Create Tool Selection Prompt]
    
    %% First Model Use - Tool Selection
    prompt --> model1[Use Language Model for Tool Selection]
    model1 --> parse[Parse Selection]
    parse --> retry{Valid Selection?}
    
    %% Second Model Use - Retry Selection
    retry -->|No| feedback[Generate Feedback]
    feedback --> model2[Use Language Model for Retry]
    model2 --> parse
    
    %% Tool Selection Result
    retry -->|Yes| toolAvailable{Tool Available?}
    toolAvailable -->|No| fallback[Fallback Response]
    
    %% Tool Execution Flow
    toolAvailable -->|Yes| callTool[Call MCP Tool]
    callTool --> processResult[Process Tool Result]
    
    %% Memory Creation
    processResult --> createMemory[Create Memory Record]
    createMemory --> reasoningPrompt[Create Reasoning Prompt]
    
    %% Third Model Use - Response Generation
    reasoningPrompt --> model3[Use Language Model for Response]
    model3 --> respondToUser[Send Response to User]
    
    %% Styling
    classDef model fill:#f9f,stroke:#333,stroke-width:2px;
    classDef decision fill:#bbf,stroke:#333,stroke-width:2px;
    classDef output fill:#bfb,stroke:#333,stroke-width:2px;
    
    class model1,model2,model3 model;
    class check,retry,toolAvailable decision;
    class respondToUser,fallback output;

📋 例:複数の MCP サーバーの設定

以下は、両方の種類の MCP サーバーを複数設定する完全な例です。

{
  "name": "Developer Assistant",
  "plugins": ["@elizaos/plugin-mcp", "other-plugins"],
  "settings": {
    "mcp": {
      "servers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
          }
        },
        "puppeteer": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
        },
        "google-maps": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-google-maps"],
          "env": {
            "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
          }
        }
      },
      "maxRetries": 2
    }
  }
}

🔒 セキュリティに関する考慮事項

MCP サーバーは任意のコードを実行できるため、信頼できるサーバーにのみ接続してください。

🔍 トラブルシューティング

MCP プラグインで問題が発生した場合は、次の点を確認してください。

  1. MCP サーバーが正しく設定され、実行されていることを確認します
  2. ElizaOS 環境からコマンドにアクセスできることを確認します
  3. 接続エラーがないかログを確認します
  4. キャラクター設定でプラグインが正しく読み込まれていることを確認します

👥 貢献

プロジェクトへの貢献をご検討いただき、ありがとうございます。

貢献方法
  1. リポジトリをフォークします。
  2. 新しいブランチを作成します:git checkout -b feature-branch-name。
  3. 変更を加えます。
  4. Conventional Commits に従って変更をコミットします。
  5. フォークにプッシュして、プルリクエストを送信します。
コミットガイドライン

コミットメッセージにはConventional Commitsを使用しています。

  • test: 💍 不足しているテストの追加
  • feat: 🎸 新機能
  • fix: 🐛 バグ修正
  • chore: 🤖 ビルドプロセスまたは補助ツールの変更
  • docs: ✏️ ドキュメントのみの変更
  • refactor: 💡 バグ修正や機能追加を伴わないコード変更
  • style: 💄 マークアップ、空白、フォーマット、セミコロンの不足など

📄 ライセンス

このプラグインは、ElizaOSと同じライセンスのもとで公開されています。

コメント

MCP は初めてですか?

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

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