世界を動かす技術を、日本語で。

私はスキルよりもMCPをまだ好む

2026年4月10日原文(david.coffee)

概要

AI業界では「Skills」がLLMの新標準として推進されているが、MCP(Model Context Protocol)の方が実用的で優れていると主張。 Skillsは知識伝達や既存ツールの使い方には有効だが、サービス連携にはMCPが最適。 MCPはAPI抽象化・認証・自動更新・ポータビリティなど多くの利点を持つ。 Skills中心の運用はCLI依存や運用の煩雑化など多くの課題を生む。 理想は「Skills=マニュアル」「MCP=コネクタ」として併用すること。

Skills偏重への疑問とMCP支持の理由

  • AI業界全体 で「Skillsが新標準」「MCPは時代遅れ」との論調が強まる現状
  • Claude Code, Codex, Gemini, ChatGPT, Perplexity など多様なAI・LLMを日常的に活用
  • Skills は知識伝達や既存ツール利用には便利だが、サービス連携には向かない
  • MCP の存続を希望。CLIやマニュアルだらけの未来は避けたい

MCPの優位性

  • API抽象化 による「何をするか」だけをLLMに伝え、実装方法はサーバー側に任せる設計
  • ゼロインストール :リモートMCPサーバーならローカルインストール不要
  • シームレス更新 :サーバー更新で全クライアントが即時最新状態に
  • 認証の簡素化 :OAuth等で安全に認証。秘密情報の手動管理不要
  • 高いポータビリティ :Mac・スマホ・Web等、どこからでも同じ操作性
  • サンドボックス化 :LLMにローカル実行権限を与えず、安全な操作
  • スマート発見 :必要なツールのみ検索・読み込み、コンテキスト節約
  • 自動アップデート :npxやuv経由のローカルMCPも毎回自動更新

Skillsの課題と摩擦

  • CLI依存 :多くのSkillsがCLIのインストールを要求。Web版LLM等では利用不可
  • デプロイの煩雑さ :CLIの配布・管理・インストールが必要
  • 秘密情報管理の困難 :APIトークンの安全な保管場所が環境ごとに異なる
  • エコシステム断片化 :Skill管理方法がツールごとにバラバラ。互換性も低い
  • コンテキスト肥大化 :SKILL.md全文読込でLLMのコンテキストを圧迫
  • 「まずCLIを入れて」問題 :余計な抽象化・手順追加が発生

適材適所の提案

  • MCPの活用シーン
    • Webサービスやアプリとの連携インターフェース標準
    • 例:Google Calendar、Chrome、Hopper、Xcode、Notion等のMCPエンドポイント
  • Skillsの活用シーン
    • 知識伝達・手順マニュアル・社内用語や運用ルールの教育
    • 既存コマンドの使い方説明やPDF操作等のノウハウ共有
    • 秘密管理手順やリポジトリごとのTipsの集約

コネクタvsマニュアルという整理

  • Skills=LLM_MANUAL.md として位置づけ、知識やノウハウの伝達に特化
  • MCP=Connector として、実際のサービス接続・操作を担当
  • 両者の併用 で「実行はMCP、知識補完はSkill」という理想的な体制
  • 実例 :DEVONthink用MCPサーバー、microfnやKikuyoのリモートMCP、MCP NestによるローカルMCPのクラウド化
  • SkillはMCPのチートシート として活用。MCPの運用ノウハウや落とし穴をSkillにまとめ、毎回の学習コスト削減

今後の展望と希望

  • 業界標準としてのMCP存続 を強く希望
  • 公式MCPエンドポイント (Skyscanner, Booking.com, Trip.com, Agoda.com等)の普及を期待
  • MCP Nest などを活用し、ローカルMCPのリモート利用を推進
  • 分断されたCLI文化ではなく、標準化されたコネクタ文化 への移行がAI統合の鍵

要点まとめ

  • Skillsは「知識・手順マニュアル」、MCPは「サービス接続コネクタ」として役割分担
  • CLI依存のSkills乱立はUX・運用面で逆行
  • 標準化・自動化・安全性の観点からMCPの普及・維持が不可欠
  • 両者のハイブリッド運用が最も実用的

Hackerたちの意見

これはゼロサムゲームでも、どちらか一方を選ぶ選択肢でもないよ。開発者体験の異なる層を解決するんだ。MCPは外部データやツールのための標準化されたポータブルインターフェースを提供する(インフラストラクチャ)、一方でSkillsはプロジェクト特有の高レベルな行動コンテキストを提供する(オーケストレーション)。しっかりしたワークフローは、MCPを使ってツールの信頼性を確保し、Skillsを使ってそれらのツールをいつ、どうやって展開するかを定義するんだ。

MCPは、箱にラップされたCLIみたいなもんだよ。CLIは、より簡潔なフォーマットで同じAPIを提供してる。最低限、MCPにも同じくらいのコンテキストオーバーヘッドがあるけど、大体はもっと多い。だって箱のサイズがあるからね。CLIはセキュアにできるし、AWS CLIはちゃんと動いてるよ。ダイモンに秘密を隠したり、リモートで実行したりする簡単なトリックも使えるし、どれもMCPよりは小さいよ。

完全に同意だね。なんで人々がこれを「どちらか一方」って見てるのか理解できない。あと、有料のMCPプロバイダーの中には、実際に価値を提供してるところもあるってことも言っておきたい。確かに、curlや自己ホストのクローラーを使ってウェブ検索はできるけど、それが本当に苦労する価値があるのか?

それに、LLMが気分次第でスキルを無視したり、妨害したりすることができるけど、MCPサーバーレベルのポリシーはそのまま残るよ。

その通りで、もう一つ重要な層を付け加えたいんだけど、スレッドではほとんど触れられてないね:エージェントがローカルで動作するのではなく、クラウドにホストされているときにこの組み合わせが最も重要だよ。スキル + MCPはクラウドホストされたエージェントのアーキテクチャなんだ。スキルはエージェントにコンテキストとワークフローを与え、MCPツールはエージェントが資格情報やランタイム依存関係を管理せずに外部サービスにアクセスできるようにする。

こんにちは、著者です!あなたのコメントに完全に同意するし、まさにそれが私の投稿のポイントでもあるよ:異なるタスクに対して異なるツールがうまく機能する。もし何か言うなら、投稿はスキルとCLIをMCPのゼロサムの置き換えとして扱うことに反対する内容だし、MCPが死んでいる/時代遅れだと言っているわけじゃない。特に、スキルとCLIではポータビリティが実現できない(まだね)。私は、リモートMCPを通じて、電話、ウェブ、iPad、ChatGPT、Perplexity、Claude、Mistralなどで同じMCPサーバーを使えるけど、スキルではそれができない。

著者には全く同意できないね。APIはいらない、今使ってるCLIツールをエージェントに使わせたいんだ。エージェントがCLIツールを使うなら、MCPを通す必要なんてないよ。リモートのMCPコールもいらないし、リモートモデルも高くつくから嫌だ。APIを呼ぶ必要があるなら、既存のCLIツールを使ったスキルで十分だよ。

まあ、まだCLIにアクセスできない環境がたくさんあるよね。そういう状況では、APIにフックするためにCLIツールを呼ぶスキルは役に立たない。

CLIとMCPで秘密を安全に保存して使うことにいつも悩んでる。MCPを使えば、エージェントを実行する前にサーバーを立ち上げられるから、エージェントの環境にはキーが存在しないんだ。そうすれば、エージェントが間違ったnpmパッケージをインストールして、見つけた秘密を全部ダンプするようなことになっても、周りに置いておく可能性が低くなる。CLIでそれを保証する良い方法はまだ見つけてないよ。

俺はよく、スキルに直接curlコマンドを入れちゃうんだ。エージェントがそれを使って、カスタムAPIの統合が完璧に動くよ。エージェントはこういうことをするのに十分な能力があるし、LLMはほぼ何でも達成するために柔軟なツールセットを使うってことだね。

いいね、いいね。ただ、認証はどうするの?認証と認可。エージェントは常に自分自身であるべき?そうじゃないなら、すべてのAPIがキーをサポートしてるの?そうだとしたら、コンテキストが汚染されたエージェントがそのキーを漏らす心配はないの?MCP(サーバー)が提供するのは、エージェントのアクセスを制御するためのミドルウェア層なんだ。これが必要かどうかはユースケース次第だね。

この話はもう散々議論されてきたよ。MCPはエージェントと外界の分離を可能にする。基本的には、エージェントにトークンを渡さないとか、HTTPヘッダーを変更しないとか、パラメータを強制することだね。まあ、これらのことが常に必要なわけじゃないし、MCPの発明者がこのアイデアを考えていたかどうかは分からないけど、今こうなってる。

Hacker Newsで議論の続きを見る