6 ポイント 投稿者 GN⁺ 20 일 전 | 6件のコメント | WhatsAppで共有
  • MCP は、LLMがツールの内部構造を知らなくても処理を依頼できる API抽象化ベースの標準インターフェース であり、リモート利用と自動更新をサポートする
  • Zero-Install構造OAuth認証サンドボックス型セキュリティ により、インストール負担と権限の問題を減らし、どのプラットフォームでも同じ環境を提供する
  • 一方 Skills は、CLIインストールへの依存、認証・デプロイの複雑さ、プラットフォームごとの互換性問題などにより、実際の実行環境では摩擦が大きい
  • Skillsは知識レイヤーMCPは接続レイヤー として区別すべきであり、LLMが外部システムと相互作用するときはMCPを、手続き的知識の伝達にはSkillsを使うのが適切
  • MCP Nest のようなクラウドトンネリングサービスにより、ローカルMCPサーバーへリモートからアクセスでき、標準化されたAI統合環境 を構築する中核と評価される

MCPの利点

  • Model Context Protocol(MCP) は、LLMがツールの内部動作を理解していなくても、単にリクエストするだけで作業を実行できる API抽象化構造 に基づいている
    • 例: LLMがDEVONthinkとやり取りする際、devonthink.do_x() を呼び出せば、MCPサーバーがすべての処理を担当する
  • Zero-Installのリモート利用 が可能で、クライアントはMCPサーバーのURLを指定するだけで、追加インストールなしにすぐ動作する
  • 自動更新 をサポートしており、リモートMCPサーバーが新しいツールやリソースに更新されると、すべてのクライアントが即座に最新バージョンを利用できる
  • OAuthベースの認証 によりセキュリティが強化され、ユーザーが自分でトークンを管理する必要がない
  • 移植性 が高く、Mac・モバイル・Webなど、どの環境からでも同じMCPサーバー経由でアクセスできる
  • サンドボックス構造 により、ローカル環境での直接実行権限を制限し、制御されたインターフェースだけを公開する
  • スマート検索と自動更新 機能により、必要なツールだけを読み込み、ローカルインストール時でも実行時に自動更新できる

Skillsの限界と摩擦

  • Skills は、LLMに特定の知識や使い方を教えるには有用だが、実際の動作を行う際には CLI依存性 が問題になる
  • 多くのSkillは別途CLIのインストールを要求するが、ChatGPT・Perplexity・ClaudeのWeb版などではCLIを実行できない
  • その結果、次のような問題が生じる
    • デプロイの複雑さ: CLIをバイナリ・NPM・uvなどで配布・管理しなければならない
    • シークレット管理の問題: 認証トークンを .env ファイルに平文保存したり、セッションが初期化されると認証が失われたりする
    • エコシステムの分断: Skillのインストール・更新方法がプラットフォームごとに異なり、互換性問題やYAMLパースエラーが発生する
    • コンテキストの浪費: LLMが単一の関数呼び出しだけを必要としていても、SKILL.md 全体を読み込まなければならない
  • 「まずCLIをインストールせよ」という指示を含むSkillは不要な複雑さを追加しており、リモートMCP に置き換えたほうが効率的である

適切なツール選択の基準

  • MCPを使う場面: LLMがWebサイト・サービス・アプリケーションなど外部システムと接続するとき、標準インターフェースとして活用する
    • 例: Google CalendarはOAuthベースのリモートMCPで認証と実行を処理すべきであり、CLIのインストールを要求すべきではない
    • Chrome・Hopper・Xcode・Notionなども、それぞれの機能制御のための 組み込みMCPエンドポイント を提供するのが理想的
  • Skillsを使う場面: 純粋な知識伝達と文脈提供に集中すべき
    • すでにインストール済みのツール(curl, git, gh, gcloud)の使い方を教える用途
    • 組織内の用語・業務フロー・文体の標準化
    • PDF処理やシークレット管理(fnox の使い方など)のような 手続き的知識の共有
  • Skillsは 知識レイヤー、MCPは 接続レイヤー として区別されるべきである

コネクタとマニュアル

  • SkillsとMCPの役割を明確に区別するため、Skillsは LLMマニュアル(LLM_MANUAL.md)、MCPは コネクタ(Connector) と呼ぶべきだという提案
  • 実際に運用されている例
    • mcp-server-devonthink: LLMがDEVONthinkを直接制御できるローカルMCPサーバー
    • microfn: mcp.microfn.dev でリモートMCPを提供
    • Kikuyo: mcp.kikuyo.dev でリモートMCPを提供
    • MCP Nest: ローカルMCPサーバーをクラウドへトンネリングしてリモートアクセス可能にするサービス(mcp.mcpnest.dev/mcp
  • 一部のプロジェクトではCLI向けSkillも併せて提供しているが、MCPの使い方を説明するSkill のほうが有用である
    • Skillは、MCPの機能・ツールの関係・使うべき場面などを説明する 知識レイヤー として機能する
    • MCPは実際の接続と実行を担当する
  • この組み合わせにより、LLMは反復的な試行錯誤なしで効率的にMCPを活用できる

MCPとSkillの併用活用

  • MCPの利用中に見つかった 日付形式のエラーや検索制限などの直感的でないパターン をSkillとして整理し、再利用する
  • こうして作成されたSkillは、MCPの チートシートの役割 を果たし、LLMが不要なトークン消費なしに正確に動作できるよう支援する
  • .claude/skills フォルダを通じてプロジェクトごとのAI行動指針を維持し、よく使う手順をdotfilesの形で管理する
  • AI統合の未来は標準化されたインターフェース(MCP) にかかっており、CLIベースの断片化したアプローチ は避けるべきである
  • Skyscanner・Booking.com・Trip.com・Agoda.com など主要サービスによる公式MCP提供が期待される

MCP Nestの紹介

  • MCP Nest は、ローカル専用のMCPサーバー(Fastmail、Gmailなど)を クラウドトンネリング によってリモートアクセス可能にするサービス
  • Claude・ChatGPT・Perplexity など、MCP対応クライアントで同様に利用できる
  • ローカルマシンを直接公開しなくても、すべてのデバイスで同じMCP環境 を維持できる

6件のコメント

 
jujumilk3 20 일 전

単に両者はまったく別物なのに、なぜこういう話がずっと出てくるのでしょうか

 
xguru 20 일 전

記事の最後にMCP Nestの宣伝をしないといけないので… ふふふ 比較的な主張がかなり支持を集めているみたいですね

 
jjw9512151 20 일 전

Skillsは剣術で、MCPは剣です……用途が異なり、どちらも必要ですね。

 
ide127 20 일 전

SkillsとMCPはそれぞれ異なる役割を持つものなのに、こういう記事のせいで混同が生じ続けている気がします。

 
ide127 20 일 전

それでなくても、似非伝道師がはびこる嵐のようなAI業界なのに

 
GN⁺ 20 일 전
Hacker Newsのコメント
  • 強調したいのは、個人の好みよりも、LLMが最適に動作するために必要なツール設計に注目すべきだという点だ
    MCPはむしろ摩擦を増やす。たとえば組み込みシステムを扱うなら、LLMがデバッグ・リセット・エミュレータ起動などを直接できるCLIベースの監視インターフェースを作らせ、その使い方をskillファイルに文書化すればよい
    単純な作業ならMCPは不要だ。たとえばgitやAWS料金計算のようなものはLLMがすでにうまく扱える。複雑なシステムだけを直接ツール化して文書化するのが効率的だ

    • MCPの議論はあまりに多くの概念を混ぜてしまっている感じがする。核心はセッション永続性
      一回限りならCLIやAPIで十分だが、継続的なアクセスが必要ならMCPサーバーが有用だ
      よく構成されたMCPは、プロンプトを浪費せずにエージェントへ使い方を伝えられる。継続的アクセスをskillファイルで真似るのは非効率だ。MCPは外部ツールをエージェントのセッションに統合する最も効果的な方法だ
    • MCPとskillは補完関係だ。両者を対立的に見るのは誤解だ
    • 現在のLLMツールチェーンはまだ標準化されていない過渡期のようだ。.mdやskillなどさまざまな場所に情報を置くのではなく、自動化された自己反省ループを通じて最適な場所へ整理する標準が必要だ
    • 私も似たようなアプローチを取っている。ほとんどのCLIツールはClaudeが直接作ったもので、IDEはほとんど使わない
      JetBrainsのリファクタリング機能もスクリプトで置き換え、セッション速度が5分から10秒に縮んだ
      まだMCPはまったく使っていない。REST + Swagger + codegen + Claude + skill の組み合わせで十分だ
    • MCPの利点は権限制御だ。たとえばAIにgitへの書き込み権限を持たせたくないなら、MCPで公開範囲を制限できる。単にREAD_ONLY_SKILLだけでは不十分だ
  • この論争は結局、個人開発者 vs 組織規模の協業の問題だ
    一人で速いフィードバックループを求めるならCLIのほうがよく、組織単位で統制と一貫性が必要ならMCPが向いている
    現在のMCPはコンテキストを多く消費するが、段階的公開方式で改善される予定だ

    • 組織ではMCPのアクセス制御が難しいという問題がある。人間なら誤って2件消す程度で済むが、エージェントは一瞬で数千件を削除できる。CLIはアクセス範囲を制限できるので安全だ
    • コンテキストの無駄はクライアント実装の問題だ。段階的ロードは仕様変更なしでも可能だ
    • MCPとCLIは目的の異なるツールであり、一緒に使うと最も強力
  • 私はAPIよりも、既存のCLIツールをそのまま使うエージェントを求めている
    ローカルでCLIを使うのに、わざわざMCPを追加する理由はない。リモートモデルも望んでいない
    API呼び出しが必要ならskillで十分だ

    • 私もcurlコマンドをskillに直接書いてカスタムAPIを呼び出している。LLMはこういうものをうまく扱える
    • ただし、秘密鍵管理はMCPのほうが安全だ。先にMCPサーバーを立ち上げておけば、エージェント環境に鍵を露出させずに済む
    • MCPはエージェントと外部世界の間のセキュリティ境界層として機能する。常に必要ではないが、有用だ
    • 環境によってはLLMにCLIアクセス権限がない場合もある。そのときはskillベースのCLI呼び出しは役に立たない
    • 認証(authn)と認可(authz)の問題もある。MCPはこれをミドルウェアとして制御できる
  • MCPとSkillはゼロサム関係ではない
    MCPはインフラ層の標準化されたインターフェースを、Skillはプロジェクトごとの行動コンテキストを担う
    両方を組み合わせれば、安定性と柔軟性を同時に得られる

    • MCPは結局CLIを包んだ形だ。むしろMCPのほうがコンテキストのオーバーヘッドが大きい
    • 一部の有料MCPには実際に価値がある。たとえばWeb検索用MCPは、自分でクローラーを回すより便利だ
    • クラウドホスト型エージェントでは、Skill + MCPの組み合わせが中核構造になる。認証や依存関係の管理がしやすい
    • 筆者もこの組み合わせを支持している。MCPは移植性が高く、ChatGPT、Claude、Perplexityなどどこでも同じように使える
    • SkillはLLMに無視されることがあるが、MCPのポリシーはサーバー側で強制力を持つ
  • ほとんどの議論は、ローカルでコーディングエージェントを動かしている人たちが中心だ
    そうした環境ではSkillのほうが便利だが、一般ユーザーはChatGPTのようなクラウドベースを使う
    この場合、MCPが既定の選択肢になる。認証とリモートアクセスが強みだ

    • ただ、MCPは単なる騒がしいAPIラッパーにすぎないと見る人もいる
      サーバーを立てなければならず、LLMにとってはむしろ負担だ。SkillはAPIドキュメントをLLMフレンドリーにエンコードするので、より単純だ
    • 「大半のユーザーはローカルエージェントを使っていない」という主張には根拠が必要だという反論もあった
    • agronomic という誤記を ergonomic だと指摘する冗談もあった
  • 私はSkillを好む。人が使うCLIツールをそのまま再利用できるからだ
    Skillは人間が読み書きできる文書で、LLMと人間が同じツールを共有する
    一方MCPでは、LLM専用APIを新たに作る必要があり、文書も別途管理しなければならない
    Skillは必要なときだけ読み込まれるため、コンテキストをすっきり保てる

  • 「Skillだけ」を主張する人は非技術者に多く、「CLIだけ」を主張するのは個人開発者に多い
    MCPはエンタープライズ環境に適している。認証とインターフェースを標準化する

    • 多くの人がJIRA MCPの不安定さのためにMCPに否定的だ。acli ベースのSkillのほうが安定していた
    • 私は社内向けMCPを自分で構築した。Google Workspace認証を組み込み、Claudeが社内データ参照やアプリ配布を安全に行えるようにしている
      MCPは更新とデプロイが容易で、非技術者にもアクセスしやすい
    • 企業はすでに社内認証基盤を持っているのでCLIのほうがよいという主張もある
      MCPは結局、APIの部分集合を構造化したものにすぎない
    • MCPは素早く立ち上げられる。Codex → LiteLLM → VLLM → MCP という構成なら数分でできる
    • 私は既存のSaaSシステムをレガシーだと見ている。データアクセスが難しいAPIより、ローカルSQL DBのほうが効率的だ
      MCPは単なる別のRPCプロトコルにすぎず、認証の問題も依然として未解決
  • 私は人間の非合理性ゆえにMCPが必要だと考える
    多くの組織はいまだにAPIやCLIを提供していない。MCPはこのデジタル断絶を埋める
    企業内の報告系統や政治的構造が自動化を妨げているが、MCPはそれを迂回できる

    • 私も同意する。同僚のエージェント同士が代理で協調できるなら、組織のデジタル化はずっと容易になる。MCPはこうした配線の複雑さを隠してくれるのがよい
  • Skillには、文書全体をコンテキストに入れなければならないcontext bloatの問題がある
    MCPも似ているが、ツール検索機能によって段階的ロードが可能だ
    さらに大きな問題は、MCPの出力がそのままエージェントのコンテキストに入ることだ。CLI経由でMCPサービスを呼べば、フィルタリングやキャッシュが可能になる

    • 「それなら単にHTTPリクエストを使えばいいのでは」という反応もあった
    • 筆者は、最新のMCPではすでにツール検索ベースの遅延ロードで解決済みだと説明している。Claude Codeはサブエージェントを活用してログの洪水を防いでいる
    • 私はローカルMCPをメモリキャッシュで包んで対処している。各ツール出力にIDを付け、そのIDで別のツールを呼ぶ。トークン節約と高速化に効果的だ
  • Skillは直感的な知識を載せるのに向いており、MCPは再現可能な自動化に適している
    LLMが同じスクリプトを何度も書いているなら、それをツールとして固定するほうが効率的だ

    • ほとんどのプロセスはスクリプトで前処理し、LLMは計画立案と検証にだけ関与すればよい
      つまり、できるだけ多くの部分をスクリプトで前処理するのが核心だ
    • スクリプトをskillの中に直接含めることもできる。skillにはコードも載せられる
    • 原文の筆者は、これはAIではなく実際の人間がフライト中に書いた文章だと明かしている
    • ある人はskillを反復作業にも使っていると言い、これに対してMCPのAPI契約という観点から説明が続いた
      小さなスクリプトなら、そのままコンテキストに入れて「これを使え」と言うだけで十分だ