Agent Plugins 1.0.0とは?仕様から読み解く

Rin

Agent Plugins 1.0.0とは何か

結論から言うと、Agent Pluginsは「AIエージェントを拡張する再利用可能な部品を、配れる形にパッケージ化するための共通ルール」です。オープンでベンダー中立の標準仕様なんですよね。1.0.0が公開されたのは2026年8月6日(出典:Vercel公式ブログ「Introducing Agent Plugins」)。

  • プラグインの実体はただのディレクトリなんです。ルートに plugin.json を置いて、skills/mcp.json を決まった位置に並べるだけで成立します
  • 標準化しているのはパッケージングと発見の部分だけ。対象はAgent SkillsとMCPの2種類なんですよね。commands・hooks・agentsやインストール・配布・権限・UIは、クライアント側に委ねられています
  • 発表時点で対応していたのは、ChatGPT and Codex、Cursor、GitHub Copilot、Kiro、VS Codeの5つです

「MCP → Agent Skills → Agent Plugins」という系譜

じゃあ、この規格がどこから来たのかという話なんですけど、既存の2つの標準の上に乗った「外側の器」なんです。

MCP(Model Context Protocol)は2024年11月にAnthropicが発表して、2025年12月にLinux Foundation傘下のAAIFへ寄贈されました。Agent Skillsも同じく2025年12月18日にAnthropicがオープン標準化しています。

ただ、仕様書での参照のされ方は両者で違います。§7.1はAgent Skills仕様を、SKILL.mdの形式・フロントマター・ディレクトリ構成の「source of truth」として明示的に参照します。§7.2はMCP仕様をワイヤー動作とライフサイクルの定義元と位置づけます。Agent Plugins側が定めているのは mcp.json の設定形式だけなんです。中身はどちらも再定義していません。

今回はAnthropicが運営体に不在

系譜をたどるとAnthropic発の技術が業界標準へ広がっていく流れが見えるんですけど、その運営体にAnthropicの名前がないんです。仕様リポジトリのMAINTAINERSファイルに記載された技術運営委員会(TSC)は次の5名です。

氏名所属
Clare LiguoriAmazon
Roshan SadananiCursor
Harald KirschnerMicrosoft
Gav VermaOpenAI
Jonathan HefnerVercel(Lead Core Maintainer)

後述の対応クライアント一覧にもClaudeは含まれていません。この不在について公式な説明は出ていないので、ここでは事実の指摘にとどめておきます。

策定の経緯も「6社が共同で作った」という単純な話じゃないんです。Vercelの提案を、AWS・Anysphere(Cursorの開発元)・GitHub・Microsoft・OpenAI・Vercelの代表者が1.0.0へ磨き上げていて、初期TSCは上記5社になりました(GitHubは不在)。発表当日にGoogleがCore Maintainer参加を表明したんですけど、8月13日時点で同ファイルにはまだ反映されていません。

プラグインの構造はただのフォルダ

仕様§4.2で定められた標準レイアウトがこちらです。アーカイブ形式じゃなくディレクトリになっているのは、lsgit でそのまま検査・管理できるからなんです。

my-plugin/
├── plugin.json
├── skills/
│   └── summarize/
│       ├── SKILL.md
│       ├── scripts/
│       │   └── analyze.sh
│       └── references/
│           └── checklist.md
├── mcp.json
├── com.example.client/
│   └── hooks/
├── LICENSE
└── CHANGELOG.md

plugin.json の必須フィールドは2つだけ

最小のマニフェストは、これだけで成立します。

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

$schema は上記の正規識別子でないといけなくて、クライアントは読み込み時にこれをネットワーク取得してはならない(MUST NOT)と規定されています。name の制約は次のとおりです。

制約要件
長さ1〜64文字
使用可能文字a-z0-9-.
先頭と末尾英数字であること
連続禁止--.. は不可

任意フィールドまで加えた全体像がこちらです。

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "plugin-name",
  "version": "1.2.0",
  "description": "Brief plugin description",
  "author": { "name": "Author Name", "email": "author@example.com", "url": "https://example.com" },
  "homepage": "https://docs.example.com/plugin",
  "repository": "https://github.com/example/plugin",
  "license": "MIT",
  "keywords": ["keyword1", "keyword2"],
  "extensions": { "com.example.client": { "setting": true } }
}

mcp.json とトランスポート

MCPサーバーの設定は mcp.json からしか読み込まれません。plugin.json へのインライン記述は禁止です。

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
  "mcpServers": {
    "local-validator": {
      "type": "stdio",
      "command": "./bin/validator",
      "args": ["--data", "${PLUGIN_DATA}/validator"],
      "env": {
        "CONFIG": "${PLUGIN_ROOT}/config.json"
      },
      "cwd": "${PLUGIN_ROOT}"
    },
    "deployment-api": {
      "type": "streamable-http",
      "url": "https://deploy.example.com/mcp",
      "headers": {
        "X-Tenant": "public-tenant"
      }
    }
  }
}

トランスポートは stdiostreamable-httpsse(非推奨のHTTP+SSE)の3種類。各エントリが type でどれかを明示します。クライアントは前2者のどちらか一方を実装していれば必須要件を満たせて、sse は任意です。ちなみに上の例に出てきた ${PLUGIN_ROOT}${PLUGIN_DATA} は、argsenvcwd でしか展開されません。

クローズドスキーマとextensions名前空間という設計

plugin.json のスキーマは「閉じて」います。許可されるトップレベルフィールドは上の10個だけなんです。厳密な検証とタイポ検出、キー補完を可能にするための設計なんですよね。

ただ、1点だけ注意があって、失敗の扱いには段差があります。未知のトップレベルフィールドと、オブジェクトでない extensions は非致命的な扱いで、クライアントは「報告したうえで無視し、読み込みを続行する」ことを求められます。それ以外の違反だと、プラグイン全体が拒否されるんです。

じゃあ、クライアント固有の情報はどこに置くのか。答えは逆ドメイン名前空間です。マニフェスト内なら extensions の下、ファイルなら com.example.client/ のようなトップレベルディレクトリに隔離します。

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "example-plugin",
  "extensions": {
    "com.example.client": {
      "setting": true
    }
  }
}

クライアントは、自分が実装していない名前空間を検証せずにそのまま無視します。独自機能が共通フォーマットへ漏れ出すのを防ぐ仕組みなんです。

標準化「しない」と決めた範囲

1.0.0が意図的に扱わない領域は、FUTURE_CONSIDERATIONS.mdに7つ挙がっています。権限・トラストモデル・サンドボックス、署名検証、シークレットの受け渡し、許可/禁止ポリシー、監査ログ、依存解決、テスト用ハーネスです。

ここからが大事なんですけど、とくに影響が大きいのはシークレットです。仕様は mcp.jsonenv もHTTPヘッダーも可視のパッケージデータとして扱い、資格情報の埋め込みを禁じています(MUST NOT)。ただ、ポータブルな代替手段までは定義していません。認証付きMCPサーバーの配布は、結局のところ各クライアント次第なんです。

現時点(2026年8月13日)の対応クライアント

発表時点の5クライアントに、Hermes Agent・OpenClaw・Grok Botが加わって、掲載は8つになりました。全8クライアントがAgent SkillsとMCPに対応していて、stdioとStreamable HTTPも全対応です。差が出るのはlegacy SSEだけなんですよね。

クライアントlegacy SSE
VS Code対応
Cursor対応
GitHub Copilot対応
Kiro対応
ChatGPT & Codex非対応
Hermes Agent非対応
OpenClaw対応
Grok Bot対応

出典:https://agent-plugins.org/compatible-clients

ちなみに仕様§11.2では、Skillsのみのクライアントも適合しうるとされています。

Claude Codeユーザーへの実務的影響

Claude Codeは一覧に載っていませんが、だからといってこの規格が手元の資産と無関係というわけじゃないんです。要点は3つあります。

まず1つ目、Agent Skills資産は基本的に書き換え不要です。 SKILL.mdの形式そのものは再定義されていません。定めているのは、skills/ 直下で SKILL.md を持つサブディレクトリを1スキルとして扱い、それより深い階層は探索しないという発見ルールだけなんです。

2つ目、MCP設定は移し替えが必要です。 mcp.json$schemamcpServers だけを持つ閉じたオブジェクトで、各サーバーは type による排他ユニオンになっています。別バリアントのフィールドが混ざると、そのエントリは無効になるので注意してください。

3つ目、hooks・commands・subagentsは契約の外です。 Claude Codeは .claude-plugin/plugin.json にマニフェストを置きますが、Agent Pluginsはルート直下の plugin.json を要求します。ここでレイアウトが一致しないんです。

ざっくり整理すると、導入判断の目安は単純です。単一のMCPサーバーを1クライアントで使うだけなら、既存の設定で足ります。効用が出てくるのは、SkillsとMCPを組み合わせた拡張を複数クライアントへ配りたいときですね。

まとめ

まとめると、Agent Plugins 1.0.0は、AIエージェント拡張の「配り方」をディレクトリ構造に固定した仕様です。中身には手を触れず、共通部分を小さく保ったまま、各クライアントの独自進化を許容しています。権限・署名・シークレットが範囲外になっている以上、どこまで土台になるかは正直、実装次第です。

次にとるべきアクションは3つです。

  • 手元のSkillを skills/<name>/SKILL.md に並べて、最小の plugin.json で構造を確認しましょう
  • 既存のMCP設定を mcp.json に移して、typecwd の書式を検証しましょう
  • 資格情報を要するMCPサーバーは、ポータブルな受け渡し方法がない前提で方針を決めましょう

FAQ

Q. Agent Pluginsとは何ですか。
A. 一言で言うと、AIエージェントを拡張するコンポーネントを配布可能な形でまとめる、オープンかつベンダー中立の標準仕様です。2026年8月6日に1.0.0が公開されていて、扱うのはAgent SkillsとMCPの2種類です。

Q. Agent PluginsとMCPはどう違いますか。
A. MCPはエージェントとツールを接続するプロトコルで、通信の振る舞いとライフサイクルを定義するものです。Agent Pluginsはそれを再定義せず、MCPサーバーの設定を置く場所と形式(mcp.json)だけを決めています。

Q. Claude CodeはAgent Pluginsに対応していますか。
A. 2026年8月13日時点で、公式サイトの対応クライアント一覧にClaudeは掲載されていません。仕様リポジトリのMAINTAINERSファイルにもAnthropicの名前は出てきません。理由については、公式な説明が出ていないというのが正直なところです。

参考情報

  • Vercel公式ブログ「Introducing Agent Plugins」(https://vercel.com/blog/introducing-agent-plugins)
  • Agent Plugins公式サイト(https://agent-plugins.org)
  • 仕様リポジトリ(https://github.com/agentplugins/agent-plugins-spec)
  • Agent Skills仕様(https://agentskills.io/specification)
  • Google Developers Blog(https://developers.googleblog.com/agent-plugins-package-your-skills-tools-and-more/)
カテゴリー: 業界最新情報