エージェントエコシステムの最後のピース:プラグインのパッケージング

AIコーディングエージェントが普及するにつれ、優れたスキル(Skill)やMCPサーバーが個々のクライアントに閉じ込められてしまう問題が顕在化しています。スキルはエージェントが再利用できる指示書やリソースを提供し、MCPはツールやサービスへの接続を実現しますが、これらを格納するマニフェストがクライアントごとに異なるため、そのまま配布できないという課題がありました。

例えば、特定のレポート用データベースを照会し、チームが実際に読む週次サマリーを生成するスキルとMCPサーバーを開発したとします。最初のクライアントでは正常に動作したのに、2つ目のクライアントにデプロイしようとすると、ディレクトリ構造が異なり、マニフェストのメタデータ形式が異なり、MCP設定の形状やトランスポートの推論方法も異なるため、結局フォークして2つのコピーを管理することになります。問題はコンポーネントではなく、コンポーネントを入れる箱だったのです。

この問題を解決するために登場したのがAgent Plugins 1.0.0です。Amazon、Cursor、Microsoft、OpenAI、Vercelのコアメンテナーが策定したオープン仕様で、今回Googleもコアメンテナーとして参加し、自社製品へのサポートを開始しました。この記事では、Agent Pluginsの構造と実践的な適用ポイントを詳しく解説します。

Developer packaging AI skills and MCP servers into a portable agent plugin directory structure

プラグイン構造:ディレクトリ1つで完結

Agent Pluginsの核心は、プラグイン=ディレクトリというシンプルさです。複雑な設定ファイルではなく、所定の場所にコンポーネントを配置するだけです。

reports-plugin/
├── plugin.json
├── skills/
│   └── summarize/
│       ├── SKILL.md
│       ├── scripts/
│       └── references/
├── mcp.json
└── com.example.client/

plugin.jsonは、実質名前を定義するだけです。

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "reports-plugin"
}

残りは固定位置で探索されます。skills/にはAgent Skills仕様に準拠したスキルを、mcp.jsonには各エントリに明示的なtypeを指定してMCPサーバーを宣言します。クライアントは設定オブジェクトの形状からトランスポートを推測する必要がなく、stdioStreamable HTTP、レガシーHTTP+SSEを確実に処理できます。

重要なのは、プラグインマニフェストがコンポーネントを再配置したり、インライン宣言したりできないことです。ディスカバリーパスを設定する必要も、優先順位を学ぶ必要もありません。skills/が存在しなければ、あるものだけをロードします。MCPサーバーが1つ失敗しても、プラグインの他のスキルには影響しません。各コンポーネントは独立して失敗するように設計されているのです。

最後の逆引きドメインディレクトリ(com.example.client/)は、特定のクライアントが自由に拡張できるネームスペースです。フック、エージェント、コマンドなど、クライアント固有の機能を追加でき、認識しないクライアントは無視します。これにより、ポータブルなコアを小さく保ちながら、ポータブルでない部分に正当な逃げ道を提供しています。

Cloud infrastructure with AI agents connecting to databases and services through standard plugin manifests Algorithm Concept Visual

注意点:プラグインが常に正解とは限らない

Agent Pluginsはパッケージフォーマットであり、それ以上でも以下でもありません。 インストールメカニズム、配布プロトコル、権限モデル、サンドボックス化、トラスト/証明書検証、ユーザーエクスペリエンスは定義されていません。これらはプロジェクトの将来の検討事項として明示的に挙げられており、IDE、CLI、マネージドエンタープライズプラットフォームによってインストールポリシーや承認UXが大きく異なるため、パッケージングはパッケージングの役割に集中するという意図が見えます。

また、単一クライアントに単一のMCPサーバーを配布するだけなら、mcp.json単独の方がシンプルな解です。スキルが1つだけならプラグインは不要です。一緒に配布すべきコンポーネントが複数ある場合に、Agent Pluginsが真価を発揮します。

この仕様はレイヤーごとに独立して導入できます。プラグインをカタログなしで公開することも、プラグインではないリソースをカタログに登録することも可能です。また、application/agent-plugins+jsonメディアタイプが承認され、カタログエントリがplugin.jsonを直接参照できるようになりました。

Cross-platform compatibility of agent plugins across IDE, CLI, and enterprise platforms Development Concept Image

まとめ:今すぐ始められること

Googleはすでに2つの製品でこのフォーマットをサポートしています。

  • Agents CLI: エージェント構築、評価、デプロイ、オブザーバビリティ、パブリッシングのための専門スキルをパッケージ化し、Antigravity、Gemini CLI、Claude Code、Cursorなど、あらゆるAIコーディングエージェントをエージェント運用のエキスパートに変えます。
  • Data Agent Kit: BigQuery、Spanner、Cloud SQLなどGoogleデータクラウドの機能をAIコーディングエージェントに直接提供するプラグインコレクションです。データエンジニアや開発者が、エージェントを通じてデータアセットの管理、クエリ実行、データパイプラインのデプロイをシームレスに行えるようにします。

実際にプラグインを作ってみたい場合は、plugin.jsonに名前を記述し、skills/greet/SKILL.mdに簡単な挨拶文を書くだけです。1分で有効なプラグインが完成します。

この技術は、CloudflareエージェントLeeがAIでクラウド運用を再定義するといったAIエージェントの実践的な応用の流れと密接に関連しています。エージェントがより多くのツールを柔軟に活用するには、このような標準化が不可欠です。

次のステップとしての学習方向

  • Agent SkillsとMCPの個別仕様を理解し、本記事のプラグイン構造と対比してみてください。
  • 簡単なスキルとMCPサーバーを実際にパッケージ化し、サポートしているクライアントでの動作を確認してみてください。
  • GoogleのAgents CLIとData Agent Kitを使用して、プラグインがどのように配布されるかを体験することをお勧めします。

合わせて読みたい記事:

本コンテンツは、信頼性の高い情報源をもとにAIツールを活用して作成され、編集者によるレビューを経て公開されています。専門家によるアドバイスの代替となるものではありません。