メインコンテンツへスキップ
OpenClaw は、CodexClaudeCursor の3つの外部エコシステムからプラグインをインストールできます。これらは バンドル と呼ばれます。OpenClaw が Skills、フック、MCP ツールなどのネイティブ機能へマッピングする、コンテンツとメタデータのパックです。
バンドルはネイティブ OpenClaw プラグインと同じではありません。ネイティブプラグインは インプロセスで実行され、任意の機能を登録できます。バンドルは、選択的な機能マッピングと より狭い信頼境界を持つコンテンツパックです。

バンドルが存在する理由

有用なプラグインの多くは Codex、Claude、Cursor 形式で公開されています。作者にネイティブ OpenClaw プラグインとして書き直すことを求める代わりに、OpenClaw はこれらの形式を検出し、対応しているコンテンツをネイティブ機能セットへマッピングします。Claude コマンドパックや Codex スキルバンドルをインストールして、すぐに使えます。

バンドルをインストールする

1

Install from a directory, archive, or marketplace

# Local directory
openclaw plugins install ./my-bundle

# Archive
openclaw plugins install ./my-bundle.tgz

# Claude marketplace
openclaw plugins marketplace list <source>
openclaw plugins install <plugin> --marketplace <source>
<source> はローカルマーケットプレイスのパス/リポジトリ、または git/GitHub ソースです。
2

Verify detection

openclaw plugins list
openclaw plugins inspect <id>
バンドルには Format: bundle に加えて、Bundle format: の値として codexclaude、または cursor が表示されます。
3

Restart and use

openclaw gateway restart
マッピングされた機能(Skills、フック、MCP ツール、LSP デフォルト)は次のセッションで利用できます。

OpenClaw がバンドルからマッピングするもの

現在、すべてのバンドル機能が OpenClaw で実行されるわけではありません。以下に、動作するものと、検出されるもののまだ接続されていないものを示します。

現在サポートされているもの

機能マッピング方法適用対象
スキルコンテンツバンドルのスキルルートを通常の OpenClaw Skills として読み込むすべての形式
コマンドcommands/.cursor/commands/ をスキルルートとして扱うClaude、Cursor
フックパックOpenClaw スタイルの HOOK.md + handler.ts レイアウトCodex
MCP ツールバンドル MCP 設定を埋め込み OpenClaw 設定にマージし、対応する stdio および HTTP サーバーを読み込むすべての形式
LSP サーバーClaude の .lsp.json とマニフェストで宣言された lspServers を埋め込み OpenClaw LSP デフォルトにマージするClaude
設定Claude の settings.json を埋め込み OpenClaw デフォルトとしてインポートするClaude

スキルコンテンツ

  • バンドルのスキルルートは通常の OpenClaw スキルルートとして読み込まれます。
  • Claude の commands/ ルートは追加のスキルルートとして扱われます。
  • Cursor の .cursor/commands/ ルートは追加のスキルルートとして扱われます。
Claude の Markdown コマンドファイルと Cursor のコマンド Markdown は、どちらも通常の OpenClaw スキルローダーを通じて動作します。

フックパック

バンドルのフックルートは、通常の OpenClaw フックパックレイアウト(HOOK.md に加えて handler.ts または handler.js)を使う場合にのみ動作します。現在、これは主に Codex 互換のケースです。

埋め込み OpenClaw 向け MCP

  • 有効なバンドルは MCP サーバー設定を提供できます。
  • OpenClaw はバンドル MCP 設定を、有効な埋め込み OpenClaw 設定の mcpServers としてマージします。
  • OpenClaw は、stdio サーバーを起動するか HTTP サーバーへ接続することで、埋め込み OpenClaw エージェントのターン中に、対応するバンドル MCP ツールを公開します。
  • codingmessaging のツールプロファイルには、デフォルトでバンドル MCP ツールが含まれます。エージェントまたは Gateway でオプトアウトするには、tools.deny: ["bundle-mcp"] を使用します。
  • プロジェクトローカルの埋め込みエージェント設定はバンドルデフォルトの後にも適用されるため、必要に応じてワークスペース設定でバンドル MCP エントリを上書きできます。
  • バンドル MCP ツールカタログは登録前に決定論的にソートされるため、上流の listTools() の順序変更によってプロンプトキャッシュのツールブロックが頻繁に変動することはありません。
トランスポート
MCP サーバーは stdio または HTTP トランスポートを使用できます。 Stdio は子プロセスを起動します。
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
HTTP は実行中の MCP サーバーへ接続し、streamable-http が要求されない限りデフォルトで sse を使用します。
{
  "mcp": {
    "servers": {
      "my-server": {
        "url": "http://localhost:3100/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer ${MY_SECRET_TOKEN}"
        },
        "connectionTimeoutMs": 30000
      }
    }
  }
}
  • transport"streamable-http" または "sse" を受け付けます。省略した場合のデフォルトは sse です。
  • type: "http" は CLI ネイティブの下流形式です。OpenClaw 設定では transport: "streamable-http" を使用してください。openclaw mcp setopenclaw doctor --fix は一般的なエイリアスを正規化します。
  • 許可される URL スキームは http:https: のみです。
  • headers の値は ${ENV_VAR} 補間をサポートします。
  • commandurl の両方を持つサーバーエントリは拒否されます。
  • URL 認証情報(ユーザー情報とクエリパラメータ)は、ツール説明とログから墨消しされます。
  • connectionTimeoutMs は、stdio と HTTP の両方のトランスポートでデフォルトの30秒接続タイムアウトを上書きします。リクエストタイムアウトのデフォルトは60秒で、requestTimeoutMs で上書きできます。
ツール命名
OpenClaw は、バンドル MCP ツールを serverName__toolName 形式のプロバイダー安全な名前で登録します。たとえば、memory_search ツールを公開する "vigil-harbor" というキーのサーバーは、vigil-harbor__memory_search として登録されます。
  • A-Za-z0-9_- 以外の文字は - に置き換えられます。
  • 文字以外で始まるフラグメントには文字プレフィックスが付くため、12306 のような数値サーバーキーもプロバイダー安全なツールプレフィックスになります。
  • サーバープレフィックスは30文字に制限されます。
  • 完全なツール名は64文字に制限されます。
  • 空のサーバー名は mcp にフォールバックします。
  • サニタイズ後の名前が衝突する場合は、数値サフィックスで曖昧さを解消します。
  • 最終的に公開されるツール順序は安全な名前によって決定論的になり、埋め込みエージェントの反復ターンでキャッシュが安定します。
  • プロファイルフィルタリングでは、1つのバンドル MCP サーバーからのすべてのツールを bundle-mcp によるプラグイン所有として扱うため、プロファイルの許可/拒否リストは個別の公開ツール名または bundle-mcp プラグインキーのどちらも参照できます。

埋め込み OpenClaw 設定

Claude の settings.json は、バンドルが有効な場合にデフォルトの埋め込み OpenClaw 設定としてインポートされます。OpenClaw は適用前にシェル上書きキーをサニタイズします。
  • shellPath
  • shellCommandPrefix

埋め込み OpenClaw LSP

  • 有効な Claude バンドルは LSP サーバー設定を提供できます。
  • OpenClaw は .lsp.json と、マニフェストで宣言された任意の lspServers パスを読み込みます。
  • バンドル LSP 設定は、有効な埋め込み OpenClaw LSP デフォルトにマージされます。
  • 現在実行可能なのは、対応済みの stdio ベース LSP サーバーのみです。未対応のトランスポートも openclaw plugins inspect <id> には表示されます。

検出されるが実行されないもの

これらは認識され診断に表示されますが、OpenClaw は実行しません。
  • Claude agentshooks/hooks.json 自動化、outputStyles
  • Cursor .cursor/agents.cursor/hooks.json.cursor/rules
  • Codex .app.json の機能レポート以外のメタデータ

バンドル形式

マーカー: .codex-plugin/plugin.json任意のコンテンツ: skills/hooks/.mcp.json.app.jsonCodex バンドルは、スキルルートと OpenClaw スタイルのフックパックディレクトリ(HOOK.md + handler.ts)を使用すると、OpenClaw に最も適合します。
2つの検出モード:
  • マニフェストベース: .claude-plugin/plugin.json
  • マニフェストなし: デフォルトの Claude レイアウト(skills/commands/agents/hooks/.mcp.json.lsp.jsonsettings.json
Claude 固有の動作:
  • commands/ はスキルコンテンツとして扱われます
  • settings.json は埋め込み OpenClaw 設定にインポートされます(シェル上書きキーはサニタイズされます)
  • .mcp.json は対応する stdio ツールを埋め込み OpenClaw に公開します
  • .lsp.json とマニフェストで宣言された lspServers パスは、埋め込み OpenClaw LSP デフォルトに読み込まれます
  • hooks/hooks.json は検出されますが実行されません
  • マニフェスト内のカスタムコンポーネントパスは追加的です。デフォルトを置き換えるのではなく拡張します
マーカー: .cursor-plugin/plugin.json任意のコンテンツ: skills/.cursor/commands/.cursor/agents/.cursor/rules/.cursor/hooks.json.mcp.json
  • .cursor/commands/ はスキルコンテンツとして扱われます
  • .cursor/rules/.cursor/agents/.cursor/hooks.json は検出のみです

検出の優先順位

OpenClaw はまずネイティブプラグイン形式を確認します。
  1. openclaw.plugin.json または openclaw.extensions を持つ有効な package.json - ネイティブプラグインとして扱われます
  2. バンドルマーカー(.codex-plugin/.claude-plugin/、またはデフォルトの Claude/Cursor レイアウト) - バンドルとして扱われます
ディレクトリに両方が含まれる場合、OpenClaw はネイティブパスを使用します。これにより、デュアル形式のパッケージがバンドルとして部分的にインストールされるのを防ぎます。

ランタイム依存関係とクリーンアップ

  • サードパーティ互換バンドルには、起動時の npm install 修復は行われません。これらは openclaw plugins install を通じてインストールされ、必要なものをすべてインストール済みプラグインディレクトリ内に同梱する必要があります。
  • OpenClaw 所有のバンドルプラグインは、core に軽量に同梱されるか、プラグインインストーラーを通じてダウンロード可能です。Gateway 起動時にそれらのためにパッケージマネージャーを実行することはありません。
  • openclaw doctor --fix は古いローカルのバンドルプラグインインストール記録を削除し、設定がまだ参照しているのにローカルプラグインインデックスに存在しないダウンロード可能プラグインを復旧できます。

セキュリティ

バンドルはネイティブプラグインより狭い信頼境界を持ちます。
  • OpenClaw は任意のバンドルランタイムモジュールをインプロセスで読み込みません。
  • Skills とフックパックのパスは、プラグインルート内に留まる必要があります(境界チェック済み)。
  • 設定ファイルは同じ境界チェックで読み込まれます。
  • 対応する stdio MCP サーバーはサブプロセスとして起動される場合があります。
これにより、バンドルはデフォルトでより安全になりますが、それでもサードパーティバンドルは、公開する機能に関して信頼済みコンテンツとして扱う必要があります。

トラブルシューティング

openclaw plugins inspect <id> を実行してください。機能が一覧表示されているものの未接続としてマークされている場合、それは製品上の制限であり、インストールの破損ではありません。
バンドルが有効であり、Markdown ファイルが検出された commands/ または skills/ ルート内にあることを確認してください。
settings.json からの埋め込み OpenClaw 設定のみがサポートされます。OpenClaw はバンドル設定を生の設定パッチとして扱いません。
hooks/hooks.json は検出のみです。実行可能なフックが必要な場合は、OpenClaw フックパックレイアウトを使用するか、ネイティブプラグインとして提供してください。

関連