Agent SkillsとMCPは、どちらもAIエージェントを拡張する仕組みですが、解決する問題が違います。Agent Skillsは「この仕事をどう進めるか」という再利用可能な手順や知識を持たせる仕組み、MCP(Model Context Protocol)は外部のデータやToolへ接続する方法を標準化するプロトコルです。どちらか一方を選ぶというより、手順と接続を分けて組み合わせると設計しやすくなります。
まず結論:Skillsは「進め方」、MCPは「接続」を担当する
Agent SkillsとMCPを同じレイヤーの代替技術として比べると混乱しやすくなります。Google Cloudの公式説明でも、Skillsはタスクを完了するための手順記憶、MCPはライブな外部データソースへ接続するための標準プロトコルとして整理されており、両者は補完関係にあります。
| 比較軸 | Agent Skills | MCP |
|---|---|---|
| 主な役割 | 仕事の手順・判断基準・参照資料を再利用する | 外部システムのデータや機能への接続を標準化する |
| 中心となるもの | SKILL.md、scripts、references、assets | MCP client/server、Tools、Resources、Prompts |
| 主な問い | どう進めるか・何を確認するか | 何を読めるか・何を実行できるか |
| 外部サービス接続 | 必須ではない。必要ならTool等を利用する | 主要な用途の一つ。外部機能やデータを公開する |
| 組み合わせ | Skillの手順からMCP Toolを使える | Skillに必要なデータ・操作能力を提供できる |
たとえば「GitHubのIssueを調査して対応方針を作る」場合、MCPはIssueの取得やコメント操作といった接続能力を提供できます。一方、重大度の判定順、確認すべきログ、報告フォーマットなどはSkillとして持たせる方が役割を分けやすくなります。
(AIエージェント自体の基本的な役割を確認したい場合については『AIエージェントと2025年の未来 進化する「デジタルパートナー」の役割』をご参照ください)
Agent Skillsは再利用できる「仕事の型」を持たせる
Agent Skillsのオープン仕様では、Skillは最低限SKILL.mdを含むディレクトリとして構成します。SKILL.mdにはnameとdescriptionなどのメタデータとMarkdownの手順を書き、必要に応じてscripts、references、assetsを追加できます。
issue-triage/
├── SKILL.md
├── references/
│ └── severity-rules.md
└── scripts/
└── collect-context.py
特徴は、すべての内容を最初から読み込ませるのではなく、まずnameとdescriptionで関連性を判断し、必要になったときにSKILL.md本体や補助ファイルを読むProgressive Disclosureです。つまりSkillは、毎回長い説明を貼り直す代わりに、再利用する手順と文脈を外部化するための仕組みと考えられます。
用語解説:SKILL.md
Agent Skillの中心ファイルです。Skillの名前、用途、発火条件、具体的な手順などを記述し、必要に応じて補助ファイルやスクリプトを参照します。
用語解説:Progressive Disclosure
必要な情報を段階的に読み込む設計です。Skill一覧では小さなメタデータだけを持ち、実行時に必要な手順や参照資料を追加で読み込みます。
MCPは外部のTool・Resource・Promptへの接続を標準化する
MCPは、AIアプリケーションと外部システムの間でコンテキストや機能をやり取りするためのオープンプロトコルです。現行仕様ではサーバー側の主要な機能としてTools、Resources、Promptsが定義され、クライアントとサーバーは対応するCapabilityを宣言して通信します。
| MCPの要素 | 役割 | 例 |
|---|---|---|
| Tools | モデルが呼び出せる実行機能 | Issue作成、DB検索、ファイル更新 |
| Resources | クライアントが利用できるデータやコンテキスト | ファイル、スキーマ、ドキュメント |
| Prompts | サーバーが提供するテンプレート化されたメッセージ | 定型調査、分析用の入力テンプレート |
重要なのは、MCPが「そのToolをいつ使うべきか」「取得した結果をどう評価するか」といった業務手順そのものを必ずしも定義するわけではないことです。MCPは接続面を標準化し、その能力をエージェントがどう使うかはAgent側の指示、Skill、Workflowなど別の層で設計できます。
(MCPサーバーそのものの仕組みを詳しく確認したい場合については『MCPサーバーとは?仕組みと使い方』をご参照ください)
用語解説:MCP(Model Context Protocol)
AIアプリケーションと外部のデータ・機能を標準化された方法で接続するためのオープンプロトコルです。サーバーはTool、Resource、Promptなどの機能を公開できます。
実務ではSkillからMCPを使う構成が分かりやすい
SkillsとMCPの強みが最も分かりやすいのは、同じタスクで両方を使う場合です。たとえば障害調査なら、Skillに調査手順と終了条件を持たせ、MCPで監視システムやIssue管理ツールへ接続します。
- Skillが「まずアラート内容を確認し、影響範囲、直前変更、関連ログの順で調べる」と指示する
- MCP Toolで監視データ、GitHub、チケットシステムから必要な情報を取得する
- Skillの判断基準で重大度と次のアクションを整理する
- 外部変更が必要な場合は、権限・承認ルールに従ってMCP Toolを実行する
- Skillの終了条件に沿って、未確認事項と根拠を残して完了する
この分離をすると、接続先がGitHubから別のIssue管理サービスへ変わっても、調査手順の考え方は再利用しやすくなります。逆に業務手順を変更するときも、MCPサーバーの接続実装を作り直さずSkill側を更新できる可能性があります。実際の分離度はクライアントやTool設計によって異なるため、境界を固定しすぎず役割を明示することが重要です。
Agent SkillsとMCPのどちらを使うか判断する
| やりたいこと | 選択 | 理由 |
|---|---|---|
| 毎回同じ確認手順・品質基準を再利用したい | Agent Skills | 仕事の進め方を再利用したいから |
| GitHub、DB、SaaSなど外部サービスへ標準化して接続したい | MCP | 接続するデータ・機能を提供したいから |
| 外部Toolを決まった判断基準で使いたい | Skills + MCP | 接続能力と利用手順の両方が必要だから |
| 固定された状態遷移や再開処理を厳密に管理したい | Workflow等も検討 | Skillの指示だけでなく実行経路を明示的に管理した方がよい場合がある |
| 一度きりの簡単な指示だけを追加したい | Promptで十分な場合もある | 再利用資産や外部接続を増やす必要がない |
判断の起点は、「足りないのは接続能力なのか、仕事の進め方なのか」です。外部データを読めないならMCPや別のTool接続を検討し、接続はできるのに使い方が毎回ぶれるならSkill化を検討すると切り分けやすくなります。
MCP経由でSkillを配る実装もあるが、役割の違いは残る
「SkillsとMCPは別物」と説明するときに注意したいのが、MCPをSkillの配布経路として使う実装も存在することです。Microsoft Agent Frameworkでは、実験的なMCP-based skillsとして、MCPサーバーがskill://形式のResourceでSkillを公開し、クライアントがSKILL.mdなどを取得する仕組みが案内されています。
これは「MCPとSkillが同じ役割になった」という意味ではありません。MCPがSkillコンテンツを取得する通信・配布経路を提供し、取得されたSkillがエージェントの手順や専門知識として働く構成です。仕様や実装は変化し得るため、特定フレームワークの実験機能をAgent SkillsやMCP全体の必須仕様として扱わないようにします。
セキュリティはSkillとMCPで別々に考える
SkillsとMCPを組み合わせるほど、エージェントが利用できる情報と操作能力は増えます。そのため「Skillの内容を信頼できるか」と「MCP経由で何を実行できるか」を分けて確認する必要があります。
- SkillはSKILL.mdだけでなくscriptsや参照先も確認し、由来が不明なコードをそのまま実行しない
- MCPサーバーは信頼できる提供元か確認し、利用するToolと権限を必要最小限にする
- 読み取りと更新・削除などの外部変更権限を分ける
- 重要な外部操作では人間の承認を残し、Skillの指示だけで権限を拡大しない
- どのSkillがどのMCP Toolを呼んだか追跡できるログを用意する
Skillが安全そうに見えても、強い権限を持つMCP Toolを呼べば影響範囲は大きくなります。逆にMCP接続を厳しく制御していても、悪意のあるSkillや誤った手順が不要な操作を促す可能性があります。手順の信頼性と実行権限を別のGateとして設計する方が安全です。
よくある質問
Agent SkillsがあればMCPは不要ですか?
不要にはなりません。Skillは手順や知識を再利用する仕組みで、外部サービスのデータや機能へアクセスする能力は別途必要です。外部接続が必要なタスクではMCPや他のTool接続と組み合わせます。
MCPがあればAgent Skillsは不要ですか?
MCPだけでもToolやResourceは利用できますが、それらをどの順番で使い、何を確認し、どの状態で完了とするかを再利用したい場合はSkillが役立ちます。単純なTool利用ならSkillが不要なケースもあります。
Agent Skillの中からMCP Toolを呼べますか?
利用するエージェント環境がMCP Toolを提供していれば、Skillの手順でそのToolを使うよう指示できます。Google CloudもSkillsとMCPを補完関係として説明しています。
MCPサーバーからSkillを配布できますか?
Microsoft Agent Frameworkには実験的なMCP-based skills実装があります。ただし特定フレームワークの機能であり、MCP全体でSkill配布が必須という意味ではありません。
まとめ:接続と手順を分けるとAIエージェントを設計しやすい
- Agent Skillsは再利用する仕事の手順・判断基準・参照資料を持たせる
- MCPは外部のTool・Resource・Promptへ接続するためのプロトコルを提供する
- SkillsとMCPは競合ではなく、SkillからMCP Toolを使う形で組み合わせられる
- 外部接続が足りないならMCP、使い方の再現性が足りないならSkillを検討する
- Skillの信頼性とMCP Toolの実行権限を別々に管理する
AIエージェントを拡張するときは、最初から「SkillsかMCPか」の二択にしないことが重要です。必要な能力を、仕事の進め方と外部接続に分解すると、どの層へ何を置くべきか判断しやすくなります。