---
read_when:
    - Codex、Claude、またはCursor互換のバンドルをインストールしたい場合
    - OpenClaw がバンドルコンテンツをネイティブ機能にどのようにマッピングするかを理解する必要があります
    - バンドル検出または不足しているケイパビリティをデバッグしている
summary: Codex、Claude、Cursor のバンドルを OpenClaw Pluginとしてインストールして使用する
title: Plugin バンドル
x-i18n:
    generated_at: "2026-05-10T19:41:55Z"
    model: gpt-5.5
    provider: openai
    source_hash: f1f92bb91369f0f5ddd8d960962e875323bb53173b4faebe4ef453d2f2a08826
    source_path: plugins/bundles.md
    workflow: 16
---

OpenClaw は、**Codex**、**Claude**、**Cursor** という 3 つの外部エコシステムから Plugin をインストールできます。これらは **バンドル** と呼ばれ、OpenClaw が Skills、フック、MCP ツールなどのネイティブ機能にマッピングするコンテンツとメタデータのパックです。

<Info>
  バンドルは、ネイティブの OpenClaw Plugin と**同じではありません**。ネイティブ Plugin は
  インプロセスで実行され、任意の機能を登録できます。バンドルは、選択的な機能マッピングと
  より狭い信頼境界を持つコンテンツパックです。
</Info>

## バンドルが存在する理由

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

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

<Steps>
  <Step title="ディレクトリ、アーカイブ、またはマーケットプレイスからインストールする">
    ```bash
    # Local directory
    openclaw plugins install ./my-bundle

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

    # Claude marketplace
    openclaw plugins marketplace list <marketplace-name>
    openclaw plugins install <plugin-name>@<marketplace-name>
    ```

  </Step>

  <Step title="検出を確認する">
    ```bash
    openclaw plugins list
    openclaw plugins inspect <id>
    ```

    バンドルは `codex`、`claude`、または `cursor` のサブタイプ付きで `Format: bundle` と表示されます。

  </Step>

  <Step title="再起動して使用する">
    ```bash
    openclaw gateway restart
    ```

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

  </Step>
</Steps>

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

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

### 現在サポート済み

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

#### Skill コンテンツ

- バンドルの Skill ルートは通常の OpenClaw Skill ルートとして読み込まれます
- Claude の `commands` ルートは追加の Skill ルートとして扱われます
- Cursor の `.cursor/commands` ルートは追加の Skill ルートとして扱われます

つまり、Claude の Markdown コマンドファイルは通常の OpenClaw Skill ローダーを通じて動作します。Cursor のコマンド Markdown も同じ経路で動作します。

#### フックパック

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

#### Pi 向け MCP

- 有効化されたバンドルは MCP サーバー設定を提供できます
- OpenClaw は、バンドルの MCP 設定を有効な組み込み Pi 設定へ
  `mcpServers` としてマージします
- OpenClaw は、stdio サーバーを起動するか HTTP サーバーへ接続することで、組み込み Pi エージェントのターン中にサポートされているバンドル MCP ツールを公開します
- `coding` と `messaging` のツールプロファイルには、デフォルトでバンドル MCP ツールが含まれます。エージェントまたは Gateway で除外するには `tools.deny: ["bundle-mcp"]` を使用します
- プロジェクトローカルの Pi 設定はバンドルのデフォルト後にも適用されるため、必要に応じてワークスペース設定でバンドル MCP エントリを上書きできます
- バンドル MCP ツールカタログは登録前に決定論的に並べ替えられるため、上流の `listTools()` の順序変更によってプロンプトキャッシュのツールブロックが不安定になることはありません

##### トランスポート

MCP サーバーは stdio または HTTP トランスポートを使用できます。

**Stdio** は子プロセスを起動します。

```json
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
```

**HTTP** は、デフォルトでは `sse`、要求された場合は `streamable-http` を使って、実行中の MCP サーバーに接続します。

```json
{
  "mcp": {
    "servers": {
      "my-server": {
        "url": "http://localhost:3100/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer ${MY_SECRET_TOKEN}"
        },
        "connectionTimeoutMs": 30000
      }
    }
  }
}
```

- `transport` は `"streamable-http"` または `"sse"` に設定できます。省略した場合、OpenClaw は `sse` を使用します
- `type: "http"` は CLI ネイティブの下流形状です。OpenClaw 設定では `transport: "streamable-http"` を使用します。`openclaw mcp set` と `openclaw doctor --fix` は一般的なエイリアスを正規化します。
- 許可される URL スキームは `http:` と `https:` のみです
- `headers` の値は `${ENV_VAR}` 補間をサポートします
- `command` と `url` の両方を持つサーバーエントリは拒否されます
- URL 認証情報（userinfo とクエリパラメータ）は、ツールの説明とログから秘匿されます
- `connectionTimeoutMs` は、stdio と HTTP の両方のトランスポートについてデフォルトの 30 秒接続タイムアウトを上書きします

##### ツール名

OpenClaw は、バンドル MCP ツールを `serverName__toolName` 形式のプロバイダーで安全な名前で登録します。たとえば、`memory_search` ツールを公開する `"vigil-harbor"` というキーのサーバーは、`vigil-harbor__memory_search` として登録されます。

- `A-Za-z0-9_-` 以外の文字は `-` に置き換えられます
- 数字のサーバーキー（`12306` など）がプロバイダーで安全なツール接頭辞になるように、英字以外で始まる断片には英字接頭辞が付きます
- サーバー接頭辞は 30 文字に制限されます
- 完全なツール名は 64 文字に制限されます
- 空のサーバー名は `mcp` にフォールバックします
- サニタイズ後の名前が衝突する場合は、数字の接尾辞で曖昧さが解消されます
- Pi の繰り返しターンでキャッシュを安定させるため、最終的に公開されるツールの順序は安全な名前に基づいて決定論的です
- プロファイルフィルタリングでは、1 つのバンドル MCP サーバーのすべてのツールを `bundle-mcp` によって Plugin 所有のものとして扱うため、プロファイルの許可リストと拒否リストには個別の公開ツール名または `bundle-mcp` Plugin キーのどちらも含められます

#### 組み込み Pi 設定

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

サニタイズされるキー:

- `shellPath`
- `shellCommandPrefix`

#### 組み込み Pi LSP

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

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

これらは認識され診断に表示されますが、OpenClaw は実行しません。

- Claude の `agents`、`hooks.json` 自動化、`outputStyles`
- Cursor の `.cursor/agents`、`.cursor/hooks.json`、`.cursor/rules`
- 機能報告以外の Codex インライン/アプリメタデータ

## バンドル形式

<AccordionGroup>
  <Accordion title="Codex バンドル">
    マーカー: `.codex-plugin/plugin.json`

    任意のコンテンツ: `skills/`、`hooks/`、`.mcp.json`、`.app.json`

    Codex バンドルは、Skill ルートと OpenClaw スタイルの
    フックパックディレクトリ（`HOOK.md` + `handler.ts`）を使用すると、OpenClaw に最もよく適合します。

  </Accordion>

  <Accordion title="Claude バンドル">
    2 つの検出モード:

    - **マニフェストベース:** `.claude-plugin/plugin.json`
    - **マニフェストなし:** デフォルトの Claude レイアウト（`skills/`、`commands/`、`agents/`、`hooks/`、`.mcp.json`、`.lsp.json`、`settings.json`）

    Claude 固有の動作:

    - `commands/` は Skill コンテンツとして扱われます
    - `settings.json` は組み込み Pi 設定にインポートされます（シェル上書きキーはサニタイズされます）
    - `.mcp.json` は、サポートされている stdio ツールを組み込み Pi に公開します
    - `.lsp.json` と、マニフェストで宣言された `lspServers` パスは、組み込み Pi の LSP デフォルトに読み込まれます
    - `hooks/hooks.json` は検出されますが実行されません
    - マニフェスト内のカスタムコンポーネントパスは追加的です（デフォルトを置き換えるのではなく拡張します）

  </Accordion>

  <Accordion title="Cursor バンドル">
    マーカー: `.cursor-plugin/plugin.json`

    任意のコンテンツ: `skills/`、`.cursor/commands/`、`.cursor/agents/`、`.cursor/rules/`、`.cursor/hooks.json`、`.mcp.json`

    - `.cursor/commands/` は Skill コンテンツとして扱われます
    - `.cursor/rules/`、`.cursor/agents/`、`.cursor/hooks.json` は検出のみです

  </Accordion>
</AccordionGroup>

## 検出の優先順位

OpenClaw は最初にネイティブ Plugin 形式を確認します。

1. `openclaw.plugin.json` または `openclaw.extensions` を含む有効な `package.json` — **ネイティブ Plugin** として扱われます
2. バンドルマーカー（`.codex-plugin/`、`.claude-plugin/`、またはデフォルトの Claude/Cursor レイアウト）— **バンドル** として扱われます

ディレクトリに両方が含まれる場合、OpenClaw はネイティブの経路を使用します。これにより、二重形式のパッケージがバンドルとして部分的にインストールされることを防ぎます。

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

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

## セキュリティ

バンドルは、ネイティブ Plugin よりも狭い信頼境界を持ちます。

- OpenClaw は任意のバンドルランタイムモジュールをインプロセスで読み込みません
- Skills とフックパックのパスは Plugin ルート内に留まる必要があります（境界チェック済み）
- 設定ファイルは同じ境界チェックで読み込まれます
- サポートされている stdio MCP サーバーはサブプロセスとして起動される場合があります

これにより、バンドルはデフォルトでより安全になりますが、それでもサードパーティのバンドルは、公開する機能について信頼されたコンテンツとして扱う必要があります。

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

<AccordionGroup>
  <Accordion title="バンドルは検出されるが機能が実行されない">
    `openclaw plugins inspect <id>` を実行します。機能が一覧に表示されているものの
    未接続としてマークされている場合、それは製品上の制限であり、インストールの破損ではありません。
  </Accordion>

  <Accordion title="Claude コマンドファイルが表示されない">
    バンドルが有効化されていて、Markdown ファイルが検出済みの
    `commands/` または `skills/` ルート内にあることを確認してください。
  </Accordion>

  <Accordion title="Claude 設定が適用されない">
    `settings.json` からの組み込み Pi 設定のみがサポートされています。OpenClaw は
    バンドル設定を生の設定パッチとして扱いません。
  </Accordion>

  <Accordion title="Claude フックが実行されない">
    `hooks/hooks.json` は検出のみです。実行可能なフックが必要な場合は、
    OpenClaw のフックパックレイアウトを使用するか、ネイティブ Plugin として提供してください。
  </Accordion>
</AccordionGroup>

## 関連

- [Plugin のインストールと設定](/ja-JP/tools/plugin)
- [Plugin の構築](/ja-JP/plugins/building-plugins) — ネイティブ Plugin を作成する
- [Plugin マニフェスト](/ja-JP/plugins/manifest) — ネイティブマニフェストスキーマ
