MCPとSkillの境界
結論:MCPはサービスであり、SkillはエージェントのSOPオーケストレーターだ。
まず、MCPでできることの多くはSkillでもできる。この点には私も強く同意する。
ただし、両者の適用シーンの差は「MCPにはできるがSkillにはできないことは何か」に現れる。
例を挙げる
- Web検索
- GitHubでコードを調べる
- Figmaからプロトタイプ設計データを取得する
- Supabaseでデータベースを作成する
最初の2つは、ローカルでも理論上はできるが、実際にはまず実行できない類いだ。
後ろの2つは、ローカルでは完全に不可能だ。サードパーティサービスのデータと認可が関わるからである。
MCPはサービスであり、提供するのは能力
Web検索はサービスであり、インターネットへリアルタイムにアクセスする能力を提供する。エージェントに最新情報の検索・参照をさせたいのに、ローカルで検索エンジンを一から構築するわけにはいかない。
Figma データの取得も同様に能力の話だ。Figmaデータを取得する以上、Figma公式APIへの依存は避けられない。FigmaがAPIをMCPとして公開しているなら、使えるのはそのMCPサービスが提供する能力だけだ。
いつMCPを使うか
いまSkillが広く普及している状況でも、MCPが必要になるのは代替不能なサービス能力に限られる。
さらに単純化すると、MCPはリモートAPIである。ローカルで処理できない要求に対してのみ有効で、それ以外はローカルのSkillスクリプトで処理できる。こちらのほうが、より制御しやすく、安全で、扱いやすい。
MCPとSkillをどう見分けるか
| シーン | 選択 | 理由 |
|---|---|---|
| サードパーティサービス(Figma、Supabase など)へアクセスする必要がある | MCP | 認可とリモートデータが絡み、ローカルでは代替できない |
| リアルタイムのネット検索が必要 | MCP | ローカルで検索エンジンを構築できない |
| ファイル処理、コードチェック、テキスト変換 | Skill | ローカルスクリプトで完結でき、より制御しやすい |
| 複雑な多段ワークフローのオーケストレーション | Skill | SkillはSOPフローのオーケストレーションを自然に扱える |
| MCP能力の呼び出し + ローカル処理が必要 | Skill + MCP | Skillがフローを編成し、MCPがリモート能力を提供する |
ローカルで解決できるなら、むやみにクラウドへつながない。