はじめに
otoyabakという名前で活動していますデータエンジニアの端くれです
最近色々な人とお話をしていて、MCPやAgent Skillsについての話題が多くなり
理解が深くなる一方で、
「MCPって言うけど実際よくわからない」
と言う声もチラホラと聞くようになりました。
そもそもMCPとは
AIモデルと外部システム(データやツール)をつなぐためのオープン標準プロトコル(お約束)です。
これを言うと怒られるかもしれませんが、行ってしまえば無くてもAIエージェントは作れます。
以前はAIからAPIのエンドポイントを書かせてそれをrequestする/実際にpythonなどのコードを書かせて実行させる
など手法もたくさんあり、それにおけるルールも多様化していました。
しかし、これらを統一にさせるルールを決めたと言うことで、沢山の接続先を同じインターフェースで扱えるようになりました。
→ これがMCPの目的になります。なのでMCPがあれば簡単にツールを使える状態を作れると言うことですね。
Agent Skillsとは
Agent Skillsは「ナレッジ」を表現するものになっています。
以前は作成する全てのものに「このXXの時はXXを実行する」というような指示を書く必要がありました。
しかし、毎度毎度要らないナレッジなどが読み込まれてしまうため、
スキルを事前に定義、このスキルが欲しい場合はAI側が読みにいくという仕組みを作成したと言うものです。
Agent SkillsはAnthropicが提唱、その後CursorやClaude Code、Copilotなどでも利用できるものになっています。
MCPとAgent Skillsの違い
Agent Skills: 持っているものは「本や手順書」
"XXの時はWeb検索する、ファイルを読み込む、計算する"などといった方法について理解をしているようなものになっています。
そのため、ツールを持っているというよりナレッジを持っているイメージです。
プロンプトが来た際に「これはXX Skillを使えば解決できるぞ!」と判断して、それによって実行を行なってくれますが、
特定のツールを利用しないといけない場合は、それがないと実行できないという制約があります。

-
MCP: 持っているものは「工具」
MCPサーバーでは色々なツールと接続するための接続先情報を持っているイメージです。
構成要素としては大きく3つに分けられており、AIと接続するために必要なものを持っています。
ツール: 外部システムの操作を行う機能
リソース: 外部データを整理して提供を行う機能
プロンプト: 会話のテンプレート
これらの連携について
これらは競合せず、共存(包含関係) します。
特に**「Skill(専門的な職能定義)」と「MCP(具体的な道具箱)」をセットで考える**のが、最も実用的な設計になります。
※ Agentで渡すような具体ツールよりもSkillsの方が広義になることが多いです。
Skillで「使うべきMCP」を縛る
AIに全てのツールを渡すと、どれを使っていいか迷ったり誤動作の原因になります。
そこで、「あるSkill(役割)を遂行するためには、特定のMCPサーバー(道具)だけを持たせる」という考え方が重要です。
-
例:データ分析Skill
- ナレッジ: データの集計方法、レポート構成のルール
- セットするMCP: BigQuery接続ツール、Python実行環境
-
例:広報SNS投稿Skill
- ナレッジ: 炎上しないためのチェックリスト、投稿フォーマット
- セットするMCP: Twitter投稿ツール、画像生成ツール
このように「Skillと使えるツール(MCP)を一致させる」ことで、
AIは「今はデータ分析モードだから、この道具を使ってこう動けばいい」と明確に動きやすくなります。
- Agentはユーザーの依頼に合わせて最適な Skill(役割) を選択する。
- そのSkillに紐づけられた MCP(道具) だけがセットアップされる。
- 迷いなく最適な道具を使って実行する。
まとめ
- Agent Skills: エージェントの「能力」。
- MCP: 能力を拡張するための「標準インターフェース」。
MCPの普及により、エージェントのスキル開発が「個別のツール実装」から「標準サーバーの利用」へとシフトしていきそうです。
概念的なお話しかこちらで記載していませんが、現在、こちらの概念を使って開発を進めています。
具体的なお話はまた今度時間ある時にお話ししましょう。
