MCP と Skills の違い(エムシーピー・スキルズ)

仕組み・概念
MCP と Skills の違い
エムシーピー・スキルズ
Skillsは、Claudeに「やり方や知識」をSKILL.mdという文章で覚えさせる仕組み。MCPは、Claudeを外部のツールやデータに繋ぐ接続の仕組み。覚えさせる役と、外につなぐ役で、守備範囲がまるで違う。

スキルもMCPも名前は聞くけど、どっちを使えばいいか分からない人向け

同じ指示文を毎回チャットに貼り直しているなら、その手順を覚えさせるためにSkillsを作る。NotionやデータベースなどClaudeの外にあるデータを毎回コピペして渡しているなら、そこに直接アクセスさせるためにMCPで繋ぐ。外部データを取ってからどう整えるかはSkillsが受け持つので、両方を組み合わせる場面も多い。

「Skills」と「MCP」、どちらもClaude Codeまわりでよく出てくる名前です。名前が似た位置で語られるので、どっちを使えばいいのか迷う人が多い。私も最初は同じものの言い換えかと思ってました。

結論を先に置くと、この2つは役割がまるで違います。Skillsは「Claudeにやり方や知識を覚えさせる文章」、MCPは「Claudeを外部のツールやデータに繋ぐ接続口」です。だから本当は「どっちを使うか」ではなく「使い分ける、ときには両方使う」が正解になります。

噛み砕くと

新しい職場に来たアシスタントを想像してください。Skillsは、そのアシスタントに渡す「うちのやり方マニュアル」です。レシピの整形手順とか、チェックの順番とか、毎回口で説明してたことを紙に書いて渡しておく。次からはその紙を見て同じ仕事をしてくれます。

MCPは、そのアシスタントのデスクに置く「他の部署と繋がった電話線」です。在庫管理の部屋にも、過去の記録が入った棚にも、線を1本引いておく。するとアシスタントは自分で電話をかけて中身を見に行けます。

マニュアルと電話線。どっちが上とかではない。役割が違うだけです。

そもそも、この2つは何が違うのか

公式ドキュメントの説明を並べると、違いがはっきりします。Skillsについては「Skills extend what Claude can do. Create a SKILL.md file with instructions, and Claude adds it to its toolkit.」と書かれています。SKILL.mdという指示書を作ると、Claudeがそれを自分の道具箱に加える、という意味です。

一方のMCPは「MCP servers give Claude Code access to your tools, databases, and APIs.」とあります。MCPのサーバーが、あなたのツールやデータベースやAPIへの入り口をClaude Codeに渡す、という話です。

片方は文章を覚えさせる話。もう片方は外部のシステムに繋ぐ話。守備範囲がまったく重なっていません。

使い分けの軸は1本だけ覚えればいい

迷ったときの判断は、こう考えると一発です。「Claudeにやり方を覚えさせたい」のか、「Claudeを外部のシステムに触らせたい」のか。前者ならSkills、後者ならMCPです。

これは公式の言い回しからも裏が取れます。Skillsのドキュメントは「Create a skill when you keep pasting the same instructions, checklist, or multi-step procedure into chat」と書いています。同じ指示やチェックリスト、手順を毎回チャットに貼り続けているなら、スキルを作れ、という意味です。

対してMCPのドキュメントは「Connect a server when you find yourself copying data into chat from another tool」です。別のツールからチャットにデータをコピーしているのに気づいたら、サーバーを繋げ、と書いてあります。

同じ「コピペが面倒」でも、貼ってるのが自分の指示文ならSkills、他のツールに入っているデータならMCP。並べてみると、こんなにきれいに対応してます。

表で並べるとこう

見る点 Skills MCP
覚えさせる対象 やり方・手順・知識 (覚えさせるものではない)
外部への接続 しない する(これが本体)
実体 SKILL.mdという文章ファイル 繋ぐ先のサーバー
手を出す合図 同じ指示文を毎回貼ってる 他ツールのデータを毎回コピペしてる

「料理ブログの運営」を例に、実際の使い分けを見る

私が料理ブログを運営してると仮定して、両方のシーンを順に追ってみます。題材を1つに固定すると、違いが体で分かります。

ステップ1: 毎回同じ整形指示を貼っていることに気づく

レシピの下書きをClaudeに渡すたびに、私は同じ指示を打ってました。「材料、手順、コツの3つに分けて、材料は分量つきの箇条書きにして」みたいな指示です。3回目くらいで気づきます。これ毎回コピペしてるな、と。

ステップ2: その指示をSkillにする

貼っていたのは「自分の指示文」なので、ここはSkillsの出番です。整形ルールをSKILL.mdに書いて保存しておきます。文章を1枚書くだけ。外部のどこかに繋ぐ作業はありません。

# レシピ整形スキル
- 下書きを「材料 / 手順 / コツ」の3つに分ける
- 材料は分量つきの箇条書きにする
- 手順は番号つきで1ステップ1文

次からは下書きを渡すだけで、Claudeがこの手順どおりに整えてくれます。指示を貼り直す手間が消えました。

ステップ3: 今度は別の面倒に気づく

私はレシピの管理にNotionを使っています。「先月よく作ったレシピを5つ出して」と頼みたいのに、毎回Notionを開いて中身をコピーしてはチャットに貼ってました。ここで初心者がやりがちな勘違いがあります。「じゃあこれもSkillに書けばいいのか」と思ってしまう。でもSkillは外部のNotionには繋がりません。手詰まりです。

ステップ4: 外部データなのでMCPを繋ぐ

貼っていたのが「他のツールのデータ」なので、ここはMCPの出番です。Notion用のサーバーに繋ぐと、Claudeが私のNotionを直接読めるようになります。コピペして渡す代わりに、Claudeが自分で見に行く形です。

あなた: 先月よく作ったレシピを5つ出して
Claude: (Notionを直接読んで)昨月の記録から、
        作った回数の多い順に5つ挙げますね …

ステップ5: 2つを組み合わせる

ここがいちばん効くところです。MCPでNotionからレシピの下書きを取ってきて、そのままSkillの整形手順を当てる。外部接続のMCPと、手順のSkillが連携します。

あなた: Notionの今週分の下書きを取って、整形しといて
Claude: まずMCPでNotionから下書きを取得
        →次にSkillの整形ルールを適用
        →「材料 / 手順 / コツ」に整った原稿が完成

「どっちか」じゃなくて「両方」。これが普通の使い方です。

ステップ6: 繋ぐ前に相手を確かめる

MCPで繋ぐときは、相手のサーバーを信用できるか先に確認します。公式も警告していて、外部の中身を取ってくるサーバーは危険を持ち込む可能性があると明記されています。これは後の落とし穴のところでもう一度触れます。

つまりこの2つは何をしてくれるのか

  • Skillsがやってくれる: 手順・チェックリスト・知識を覚えさせて、毎回の指示貼りをなくす
  • MCPがやってくれる: 外部のツールやデータに繋いで、Claudeが直接読み書きできるようにする
  • どちらも単独では足りない場面: 外部データを取った後に「どう整えるか」はSkillsやCLAUDE.mdが受け持つ。接続だけでは仕事は完成しない

使いどころ3シナリオ(料理ブログで再現)

シナリオ1: レシピの書き出し方をいつも統一したいとき

毎回「読みやすい構成にして」と指示してるなら、それはSkillsの仕事です。料理ブログなら「冒頭に完成写真の説明、次に調理時間と人数、そのあと材料」という型をSKILL.mdに書いておく。以降は下書きを渡すだけで、全記事が同じ型に揃います。外部には一切繋ぎません。文章を1枚書くだけで始められるのが気楽なところです。

シナリオ2: 既存のレシピ記録を横断で見たいとき

「去年の夏に作った冷たい麺のレシピを全部出して」みたいに、ためてある記録を引っ張りたいとき。これはMCPです。NotionやGoogleのデータに繋いでおけば、Claudeが自分で検索して持ってきます。私の手でコピペして渡す作業がまるごと消えます。ここで効いてくるのが「過去データの量」で、記録が増えるほどMCPの価値が上がります。

シナリオ3: 公開前のチェックを自動でやりたいとき

公開ボタンを押す前に「アレルギー表示は入ってるか」「分量に単位はついてるか」を毎回チェックしてるなら、それはSkillsで型にできます。チェック項目をSKILL.mdに並べておけば、Claudeが原稿を見て抜けを指摘してくれる。これも外部接続は不要です。手順を覚えさせるだけ。MCPサーバーを立てる話にはなりません。

初心者が踏みやすい落とし穴

  • 外部サービスに繋ぎたいのにSkillを書こうとする。NotionやデータベースのデータをClaudeに読ませたいなら、いくら丁寧なSKILL.mdを書いても繋がりません。接続が要る話はMCPです。
  • 手順を決めたいだけなのにMCPサーバーを立てようとする。整形ルールやチェック順を固定したいだけなら、文章を1枚書けば終わります。サーバーの用意は明らかにやりすぎです。
  • 「MCPの方が高機能だからSkillsは要らない」と思い込む。MCPは接続役、Skillsは手順役。外部データを取ってきても、それをどう整えるかはSkillsやCLAUDE.mdが受け持ちます。役割が別なので置き換えられません。
  • 知らないサーバーに気軽に繋ぐ。公式は「Verify you trust each server before connecting it. Servers that fetch external content can expose you to prompt injection risk.」と警告しています。繋ぐ前に各サーバーを信用できるか確かめ、信用できる相手だけに繋ぎます。
  • 「どっちか1つを選ぶもの」と決めつける。役割が違うので併用が普通です。MCPで取った外部データを、Skillの手順で処理する流れが一番おいしい使い方になります。
  • 多くのMCPには認証が要ることを忘れる。外部サービスに繋ぐ以上、ログインの手続きが要る場合が多いです。Skillsは文章ファイルだけで始められるので、ここの手間の差は意外と大きい。

書き方

Skills: .claude/skills/ に SKILL.md を1枚書く(外部接続なし)
MCP: claude mcp add で繋ぎたい外部サービスのサーバーを登録する(多くは認証が要る)

やってみるとこうなる

入力

Notionの今週分のレシピ下書きを取って、材料・手順・コツの形に整形しといて

出力例

Claudeが(MCPで)Notionから今週分の下書きを直接読み込み、続けて(Skillの整形ルールに沿って)「材料 / 手順 / コツ」の3つに分かれた原稿を返す。外部から取る役がMCP、整える役がSkillsという分担で1つの仕事が完成する。

このページに出てきた言葉

Skills(スキルズ)
Claudeに手順やチェックリスト、知識を覚えさせる仕組み。中身は<code>SKILL.md</code>という文章ファイル1枚で、外部サービスには繋がない
SKILL.md
やり方やルールを書いておくテキストの書類。Claudeがこれを読んでその通りに動く
MCP(エムシーピー)
Claudeを外部のツールやデータに繋ぐための共通の決まりごと(Model Context Protocol)。これに沿って繋ぐと、Claudeが外のサービスを直接読み書きできる
サーバー
Claudeが繋ぐ先の外部サービスの窓口になっているプログラム。繋ぎたい相手ごとに用意されている
API(エーピーアイ)
アプリ同士がデータをやり取りするための受け渡し口
データベース
大量のデータを整理してためておく入れ物
CLAUDE.md
プロジェクトの決まりごとや前提を書いておく覚え書きファイル。Claudeが毎回読んで前提として扱う
prompt injection(プロンプトインジェクション)
外部から取り込んだ文章の中に、Claudeをだます指示をこっそり仕込まれる手口。信用できないサーバーに繋ぐと危険
認証
そのサービスを使う権利が本人にあるか確かめる手続き。ログインやアクセス許可のこと

関連項目

公式ドキュメント

https://code.claude.com/docs/en/skills

-

← 戻る