MCP が終わったのか?

2026/05/30 7:56

MCP が終わったのか?

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Claude Code の最近のアップデート、特に**「遅延読み込みによるツール検索(Tool Search with Deferred Loading)」により、文脈使用量が 85% 以上大幅に削減され、「文脈の膨張(context bloat)」という歴史的課題が実効的に解決されました。かつては接続された MCP サーバーが莫大な文脈を消費しており(例:Linear 単独で未使用のツール定義に約 12,800 トークンを費やす)、これにより応答速度が遅くなり、安定性の問題が生じていました。完全な置換が必要とは限りませんが、戦略的なハイブリッドアプローチが現在では最適です。既存の CLI コマンド

gh
psql
など)や呼び出し時にのみ読み込まれる
「スキル(Skills)」をローカルワークフローまたは日常タスクに活用することで、より高い効率性と人間と機械のパリティを実現できます。この「必要なものだけをロードする」という戦略により、大量のツールセットを事前に読み込ませた場合と比較して、セッションあたり約 21,000 トークンの文脈使用量を削減します。業界全体は MCP をプロダクション環境**に限定して利用すべきであり、そこで標準化されたチーム認証およびクエリの安全性が必須となるべきです。一方、個人開発やローカル開発には CLI やスキルを用いて速度と文脈容量を最大化するべきです。

本文

MCP の行方:CLI が勝利した理由と Quandri の検証結果

📌 更新情報

本記事が執筆・計測されている以降、以下の変更点が発生しています。

  • Claude Code は「Deferred Loading(遅延読み込み)」付きの Tool Search を導入
  • メリット: MCP ツールのスキーマがオンデマンドで読み込まれるため、コンテキスト使用量が 85% 以上削減
  • 現状: コンテキスト肥大化の問題は大幅に解消されているが、パフォーマンスやアーキテクチャに関する本質的な議論は有効

🔍 MCP が抱える根本的な問題

MCP(Model Context Protocol)は LLM と外部ツールを接続するプロトコルですが、開発者からはその実用性が再評価されています。

結論のまとめ (TL;DR)

  • 🚫 コンテキストを大量消費
  • ⚠️ 信頼性が低い
  • 🔄 既存の CLI や API と機能重複している

問題点 1:コンテキストウィンドウを飲み込み尽くす

LLM の「机」であるコンテキストウィンドウに、ツール定義だけで膨大なスペースが消費されます。

【レストランのアナロジー】

  • テーブル上に 10 のメニュー(ツール定義) が広げられる
  • 実質的な食事(作業)を入れる余地がない
  • 毎回注文ごとにメニューを取り出す必要あり

計測結果:Quandri スタックでのツール定義サイズ

接続した全サーバーの合計で、10.5% のコンテキストを消費します。

MCP サーバーツール数推定文字数推定トークン数
Linear42~51,229~12,807
Notion14~16,156~4,039
Slack12~15,168~3,792
Postgres9~1,755~438
合計77~84,308~21,077

モデルごとの消費率

ツール定義は常時ロードされるため、実際に使わないツールを含めて容量を圧迫します。

モデルコンテキストサイズ使用率
Claude200,000 トークン10.5%
GPT-4o128,000 トークン16.5%

Linear サーバー単体でも約 13K トークンを占めます。

get_issue
など一部機能のみ使っても、すべてのツール定義(42 件)がロードされるのが問題です。

問題点 2:運用信頼性が低い

問題項目詳細
初期化失敗・再認証別プロセスを維持する必要があるため、頻発
応答速度が遅い外部サーバーとの往復(Round Trip)が発生するため
セッション中のクラッシュMCP サーバープロセスが不安定になる場合がある
不明瞭な権限ツールの実際の実行範囲が不透明

パフォーマンスベンチマーク

MCP は単一呼び出しでも 3 倍、初期化を含む最初の呼び出しでは 9.4 倍 も遅いです(Jira 比較による)。これは API 間のプロセスオーバーヘッドが原因で、特定のツールだけでなく Linear や Notion などのアーキテクチャにも共通します。

問題点 3:既存の CLI/API と機能重複

CLI や API を使えば、MCP の機能を代替できるケースが多く、その上で以下のような明確な劣化が見られます。

側面CLI / APIMCP
人間・機械間での整合性人間も LLM も同じコマンド使用可能会話コンテキスト内のみの利用
組み合わせ可能性
pipes
,
jq
,
grep
で自由結合可
サーバーの戻り形式に縛られる
デバッグターミナルで即座に再現・調査可会話ログのみでの対応
学習データman ページなど既存データ利用可個別のツール定義が必要
インストールコスト既導入のケースが多いサーバー設定・認証・プロセス管理が必要

トークン消費量の比較(Linear Issue 検索)

  • CLI アプローチ: ~200 トークン
    • プロンプト (~50) + レスポンス (~150)
  • MCP アプローチ: ~12,957 トークン
    • ツール定義 (~12,807) + ツール呼び出し (+レスポンス)

➡️ MCP は CLI に比べて約 65 倍のトークンを消費します。


💡 代替案:CLI と Skills の組み合わせ

MCP が抱える「全メニューを広げる」問題に対して、以下のアプローチを提案します。

代替案 1: CLI 優先戦略

LLM はすでに man ページや StackOverflow を学習済みであるため、情報源を

CLI → API → ドキュメント
の順序で利用し、ツール定義によるコンテキスト消費をゼロにします。

メリット:

  • ✅ コンテキスト消費がゼロ
  • ✅ 人間と AI が同じインターフェース(デバッグ容易)
  • ✅ パイプライン処理が可能

代替案 2: Skills(スキル)パターンの採用

MCP が「全ツールを常時ロード」するのに対し、Skills は必要な時だけロードする仕組みです。

側面MCPSkills
読み込み時間接続時点で全てロードオンデマンドロード
コンテキスト消費常に占有中利用時のみ占有
スケーラビリティサーバー数増で圧力増加スキル数と比例せず制御可

実装例:Linear Issue Lookup Skill

必要なコマンドのみをコンテキストに含めます。

curl -s -H "Authorization: Bearer $LINEAR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ issue(id: \"ISSUE-ID\") { title state { name } assignee { name } } }"}' \
  https://api.linear.app/graphql

構成要素:

  • API:
    https://api.linear.app/graphql
  • 認証:
    $LINEAR_TOKEN
    (環境変数)
  • 処理: JSON (
    jq
    で解析)、GraphQL クエリ
  • 効果: 42 つのツール定義を持ち歩く必要がない

📊 ダイヤナイズ:データベースと MCP のあり方

データベースについては「状況による」となります。LLM は SQL や NoSQL の知識を既に持っており、スキーマを与えればクエリ生成が可能です。

Postgres Skill の例(CLI 埋め込み)

  • 接続:
    psql -h localhost -d myapp ...
  • テーブル構造: スキルに明示
  • メリット: リスト軽・高速・ミスの修正が容易

推奨アプローチと判断基準

シナリオ推奨理由
ローカル開発 / プライベート DBスキル+CLIライト、高速、リカバリー容易
本番環境 DB / チーム共有MCPセーフティガードレール必須。サーバーレベルでのクエリ検証が必要

MCP がまだ必要なケース

  • 🛡️ セキュリティ: サーバー側で Read-Only 強制や危険クエリブロックが可能(CLI では
    DROP TABLE
    などを実行してしまうリスクあり)
  • 🔐 認証管理: プロンプト漏洩を防ぎ、内部で認証情報を安全に管理したい場合

注意点:
多くのケースで MCP は 「オーバエンジニアリング」 です。SaaS のランディングページに「MCP 対応」と書くことが流行っていますが、安定性やコンテキスト消費などの実用面は保証されていません。ユーザーが接続した瞬間にツール定義が読み込まれ、初期化失敗やクラッシュを引き起こします。


🚀 Quandri での運用方針

我々は状況に応じて最適なアプローチを選択し、単一の解を強制しません。

  1. bash + CLI: 既に使っているツール(

    gh
    ,
    psql
    ,
    aws
    など)

    • コンテキストコストはゼロ
    • ターミナル内でのフルデバッグが可能
  2. Skills: 反復的なマルチステップタスク(コミット作成、PR レビュー)

    • オンデマンドロードで効率的
  3. MCP: CLI が存在しないサービスや、チーム全体で厳格な権限管理が必要な場合

    • Slack, Linear, Notion など
    • 本番 DB アクセスなど

結論

「知識を与えること」が重要なのは、「全てを接続すること」よりも重要です。

既存の CLI をラップする Skills で MCP を置き換えることで、以下の成果を得ました。

  • 🚀 コンテキスト容量: 約 21K トークン の解放
  • 🔧 ワークフロー: 初期化失敗の排除
  • 🐞 デバッグ: 本来の場所であるターミナルでの継続的対応

必要なツールだけを、必要になる時だけロードし、CLI 使い方を組み込んだままにしましょう。MCP が将来的に進化するかもしれませんが、現時点では 「Skills」が勝利 です。

同じ日のほかのニュース

一覧に戻る →

2026/05/30 2:54

耐久性のあるワークフローには SQLite のみで十分です

## 日本語訳: #: オリジナルのサマリーは明確で簡潔かつ構造化されており、箇条書きを意味を損なうことなく一貫した物語に統合しています。したがって、改善は必要ありません。 # 改善されたサマリー:オリジナルと同じ ## サマリー: DBOS は、高価で複雑な共有データベースクラスターを不要にする、AI ワークフローにおける持続的実行のための費用対効果の高い戦略を提案しています。Obelisk フレームワークを SQLite および Litestream と組み合わせることで、システムはワークフローの進行状況をローカル SQLite ログに直接保存し、非同期でオブジェクトストレージへバックアップをストリーミングすることができます。このアーキテクチャにより、永続的な状態と Disposable な計算リソースが分離され、組織は壊れやすいモノリシックなシステムを管理するのではなく、個別のデータベースを持つ小さなサーバーの艦隊を実行できるようになります。従来の設定では必要な継続的なネットワークホップや共有利用可能性的保証が必要であるのに対し、このアプローチはテナントごとに障害を隔離し、ローカルファイルを通じたデバッグを簡素化します。Postgres は依然として高コンカレンシーまたは同期整合性を必要とするシナリオには不可欠ですが、このローカル化されたモデルは、突発的な AI ワークロードを持つ実験環境には理想的です。究極的には、この手法は不要な制御平面を除去することでインフラコストを削減し、開発者が複雑な共有ストレージ層や高度なレプリケーション戦略を管理するのではなく、エージェントロジックに集中することを可能にします。

2026/05/30 12:14

Perry は SWC と LLVM を用いて TypeScript を直接実行可能ファイルに変換します。

## Japanese Translation: Perry v0.5.306 は、macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly、および Web の上で TypeS cript を直接、極めて小さく独立したネイティブバイナリにコンパイルする革命的なフレームワークであり、Node.js や Electron などのランタイムを必要としない。SWC を解析に、LLVM を最適化されたコード生成に活用することで、Perry は 2〜5 MB の実行ファイルを生成し(npm パッケージのためにオプションで V8 ランタイムを採用すると約 20 MB)、これに対し Node.js は約 80 MB、Bun は約 90 MB と比較して格段に小型である。起動時間は Perry で約 1 ms、Node.js で約 30 ms、Bun で約 10 ms となり、Apple M1 Max の RUNS=11 テストの中央値では Perry v0.5.279 が Node.js v25 を凌駕する。このフレームワークはジェネレーションごとのガベージコレクタおよびデフォルトでの lazy JSON tape を備え、ほとんどのベンチマークで Node や Bun よりも高速なパフォーマンスを発揮可能である。 Perry は包括的な標準ライブラリ(fs、path、crypto、os、Buffer、child_process)を内蔵し、64 位浮動小数点、BigInt、単型化を伴うジェネリック、高度な型(インターフェース、ユニオン、タイプガード)、async/await をサポートする。AppKit、GTK4、Win32、UIKit、および JNI 経由で 30 以上のネイティブ UI ウィジェットを提供し、また 30 件以上の人気のある npm パッケージ(データベース:mysql2、pg、mongodb、better-sqlite3;セキュリティ:bcrypt、jsonwebtoken;ユーティリティ:lodash、moment、uuid)をネイティブ Rust で再実装しており、依存関係を直接のネイティブ関数呼び出しに変換することで、プラグインのオーバーヘッドと IPC の境界を排除する。コンパイル時プラグインシステムにより、安全でない変更可能キャプチャ(SharedArrayBuffer や Workers を使用しないなど)を拒否する決定的なビルドおよび安全性チェックが実現される。 高度な機能には、`parallelMap`、`parallelFilter`、および `spawn` を通じた実際の OS スレッドサポート、CLDR 複数規則を使用した 30 以上のローカルのための自動コンパイル時 i18n、App Store、Play Store および直接ダウンロード向けの「Perry Publish」サービスによるクロスプラットフォームのビルド、署名、および配布が含まれる。デプロイ前の機能検証に Geisterhand を活用した全 6 プラットフォームへの自動化された UI テストも可能である。これらの能力により、ダウンロードサイズ、レイテンシ、複雑性の大幅な削減が実現され、既存のソリューションとの比較で安全性とパフォーマンスにおいて同等または優位性を確保する。

2026/05/27 4:12

スノーボードキッズ2は完全にデコンパイルされました

## Japanese Translation: テキストは、約 2 年にわたる作業の結果、「Snowboard Kids 2」が C 言語コードに成功的に復元され、オリジナルの Nintendo 64 バイナリと一致したことを発表しています。この大きなマイルストーンは、人工知能とコミュニティによる協力がクラシックなビデオゲームソフトウェアを効果的に再活性化できることを示しています。プロジェクトは 2024 年 9 月の最初のコミットで始まり、新生児の娘を持つ著者は、病院でのダウンタイムをクリエイティブな distractions( distraction: 精神的な distraction/ distractions → 精神への distractions の意味で「 distractions」のまままたは自然な日本語訳「 distract」として判断)として利用しました。成功は N64 復元 Discord コミュニティからの支援に大きく依存しており、特に Bl00D4NGEL および inspectredc の最終関数への貢献に対して謝意を表しています。AI ツールの分野では、**Codex 5.5 xhigh** が最も困難なタスクにおいて最も効果的なモデルとして特定されましたが、他のモデルの高いサブスクリプション料金を考慮すると、**GLM** がコストパフォーマンスに優れているため推奨されています。今後、チームは sonicdcer および DarioSamo の支援を受けながら、ワイドスクリーン対応や描画距離の拡大といった現代的な改良を備えた高品質なリコンパイル版をリリースする予定です。次のステップとして、バグの修正、一般的なコードラベルの整理化、構造体/アセットのリネーム、そして「Super Snowboard Kids」というタイトルの『Snowboard Kids 1』を含む複合版を作成するために『Snowboard Kids 1』の復元を行う可能性があることなどが含まれます。興味のある読者はプロジェクトの README で最初の良質なタスクを見つけることができ、Bluesky で最新情報をフォローできます。 **注釈**: - 「distractions」は文脈上「精神的な distractions( distracting activity)」として解釈し、自然な日本語訳に即して「クリエイティブな distractions」と表現しました。ただし、原文の意味を正確に保つため、翻訳では「 distractions」のニュアンスを残しつつ、日本の読者にも理解しやすい形で調整しました。 - 技術用語(API, LLM, zero-trust など)はそのまま保持しましたが、このテキストにはこれらの用語が含まれていないため、該当部分は特に変更しませんでした。 - ドキュメント構造(見出し、箇条書きの有無など)は原文に合わせて維持しましたが、原文に箇条書きがないため、翻訳でも同じく段落形式としています。

MCP が終わったのか? | そっか~ニュース