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

CLIを通じてMCPをより安価にする

2026年2月26日原文(kanyilmaz.me)

概要

  • MCP 利用エージェントは、ツールカタログの読込で 余計なコスト を支払う構造
  • CLI は、必要最小限の情報のみを初回読込し、詳細は オンデマンド取得 でコスト削減
  • CLI 方式は、トークン消費量で 最大94%削減 可能
  • Anthropic Tool Search も効率化だが、CLIにはコスト面で及ばず
  • CLIHub でCLIsのディレクトリ・自動生成ツールを OSS提供

MCPとCLIのトークンコスト比較

  • MCP は、全ツールの JSON Schema を初回セッションで一括読込
    • 例: 84ツール × 185トークン = 15,540トークン
  • CLI は、ツール名・場所のみの 軽量リスト を読込
    • 例: 6 MCPサーバー × 50トークン = 300トークン
  • CLI は、詳細情報を必要な時だけ --helpコマンド で取得
  • MCP は、ツール呼び出し自体は低コスト(定義済み情報活用)
  • CLI は、初回呼び出し時に コマンドリファレンス全体 を取得するが、総量では圧倒的に低コスト

具体的なトークン消費例

  • セッション開始時
    • MCP:約 15,540トークン
    • CLI:約 300トークン
  • 1ツール利用時
    • MCP:約 15,570トークン
    • CLI:約 910トークン
  • 10ツール利用時
    • MCP:約 15,840トークン
    • CLI:約 964トークン
  • 100ツール利用時
    • MCP:約 18,540トークン
    • CLI:約 1,504トークン
  • CLIは常に90%以上のトークン削減

Anthropic Tool Searchとの比較

  • Anthropic Tool Search は、 検索インデックスのみを初回読込 し、必要時に詳細取得
    • セッション開始時:約 500トークン
    • 1ツール利用時:約 3,530トークン
    • 10ツール利用時:約 3,800トークン
    • 100ツール利用時:約 12,500トークン
  • CLI はAnthropic Tool Searchより 40~88%低コスト
  • Anthropic Tool Search はAnthropic専用、 CLIはモデル非依存

CLIHubの意義

  • CLIHub は、多数のツール用CLIを 集約・提供 するOSSディレクトリ
  • MCPサーバーからCLIを自動生成 するコンバータもOSS公開
  • Openclawのavailable_skills形式 を採用し、他形式にも柔軟対応
  • CLIHub活用で、 エージェント開発のコスト・手間を大幅削減

まとめ

  • MCP方式 は、ツールカタログの全読込で 非効率なトークン消費
  • CLI方式 は、 オンデマンド取得 により 圧倒的なコスト削減
  • CLIHub などOSSを活用することで、 効率的なエージェント運用 が可能

Hackerたちの意見

へへ…いいね!みんな同じこと考えてると思う。俺も https://mcpshim.dev を立ち上げたよ(https://github.com/mcpshim/mcpshim)。ユニックス方式が一番だね。

いいね!両方比べてみたけど、要するに CLIHUB は MCP サーバーをポータブルで自己完結型のバイナリにコンパイルするツールだよ。コンパイラみたいなもんだね。配布や CI、デーモンを動かせない環境に最適。mcpshim はランタイムブリッジで、ローカルプロキシみたいな感じ。特に LLM エージェントと組み合わせると、持続的な接続や軽量エイリアスが活きるから、ローカルで複数の MCP サーバーを扱う開発者には最高だよ。--- https://cdn.zappy.app/b908e63a442179801e406b01cf412433.png(比較表) ---

これ、数週間前に見た気がするか、似たようなやつ。https://github.com/philschmid/mcp-cli 編集: スレッドの別のところで指摘されてたけど、実際はhttps://github.com/steipete/mcporterだった。でも、mcp-cliもかなり似た感じだね。

記事には重要なコンテキストが欠けてるね。まず、MCP ツールはリクエストごとに送信される。Notion の MCP 検索ツールの説明を見てみると、基本的にミニチュートリアルみたいになってる。これがコンテキストウィンドウに直で入るから、ほとんどの場合、MCP ツールの読み込みは全か無かなんだよね(他の手段でツールを事前選択しない限り)。一般的に MCP はコンテキストをかなり膨らませちゃう。最近 GitHub Copilot の VSCode 拡張で約 20 のツールを数えたけど、これは多いよ!次に、MCP ツールは合成できない。Notion の検索ツールを呼び出すと、彼らが返すことに決めたものが全部返ってくるから、量が多いかもしれない。モデルにはどれだけのデータを処理するか決める手段がないんだ。通常、識別子や URL みたいなトークンに優しくないデータポイントがたくさん含まれた JSON データダンプが返ってくる。一方で、CLI ベースのアプローチはスクリプト可能。コーディングアシスタントは通常、jq や tail を使ってデータをチャンクごとに処理するようにパイプするから、最近はこうやってトレーニングされてるんだよね。エージェントで MCP を使いたいなら、MCP モデルとそのすべてのバッジを持ち込む必要があるけど、これはかなりの量になる。OAuth の処理、ツールの読み込みと選択、リロードなどを扱わなきゃいけない。シンプルな解決策は、すべてのことをシステムレベルで扱う単一の MCP サーバーを持って、そこからツールを呼び出す小さな CLI を持つことだと思う。mcpshim の場合(別のコメントで投稿したやつね)、CLI は非常にシンプルな UNIX ソケットを使ってサーバーと通信して、簡単な JSON でやり取りするんだ。実際、5 行のコードで bash クライアントを作れるくらい簡単。最近の AI エージェントは SKILLs の使い方を知ってるから、この方法はほぼ普遍的だよ。だから、もっと CLI ツールを増やすのが目標なんだ。でも、すべてのサービスのために CLI を書く代わりに、既存の MCP の上にピボットすればいいんだ。これでコンテキストの問題を非常にエレガントに解決できると思う。

要するに、MCPを使う最良の方法は、全く使わずにAPIを直接呼び出すかCLIを通じて呼び出すことだね。もしそれがなければ、MCPをCLIにラップするのが次善の策。MCPの意味って何だろうって考えちゃうね。

自分でMCPサーバーを書いて、オンデマンドで起動する小さなツールをたくさん作るか、スマートさや第二層のLLMを使ってGQLクエリをその場で作成して結果を減らすのもいいよ。今は書くのが結構簡単だし。MCPのコンテキスト管理はもっと良くなるべきだと思う。Amazonのkiroがそれに挑戦したみたい。

あなたの説明からすると、GraphQLやSQLもAIのコンテキストに良い解決策かもしれないね。

それに加えて、すべてのツールには --json(そして可能なら --output-schema フラグ)を持たせるべきだと思う。後者は、膨れ上がったトークン非効率なJSONスキーマではなく、TypescriptやPydanticなどの型定義を返すべきだよ。そういう情報は一箇所に集約されるべきだね。これで、エージェントはツールを直接実行するか(出力をコンテキストに持ってくる)、スクリプト経由で実行するか(またはjqにパイプするだけ)を選べるようになる。これにより、正確な算術計算やさらなるコンテキストの圧縮が可能になるんだ。

これ、Awesome CLIs/TUIs や Terminal Trove に関連してるね。CLI と TUI アプリがたくさんあるよ。Awesome TUIs: https://github.com/rothgar/awesome-tuis Awesome CLIs: https://github.com/agarrharr/awesome-cli-apps Terminal Trove: https://terminaltrove.com/ これ、CLI と UNIX が2026年に戻ってくることを示してるんじゃないかな。

実は、これと CLIHub を組み合わせて、誰かがすべての公式 MCP や CLI(または MCP から CLI への)を一つのコマンドでダウンロードできるディレクトリを作りたいんだ。

この記事は少し前のものかな? > 「エージェントが何か有用なことをする前に、どのツールが使えるかを知っておく必要がある。MCP の答えは、すべてのツールカタログを JSON スキーマとして会話にダンプすることだ。すべてのツール、すべてのパラメータ、すべてのオプション。」 これは、Claude Code のような最高のクライアントにはもう当てはまらないんだ。Skills が設計されたのと同じように、MCP ツールも(Claude Code ではそうしてるけど)すべてをコンテキストにダンプすることなく機能できる。詳しくは https://www.anthropic.com/engineering/advanced-tool-use と https://x.com/trq212/status/2011523109871108570 と https://platform.claude.com/docs/en/agents-and-tools/tool-us... [1] https://agentskills.io/specification#progressive-disclosure

ちなみに、ブログには Anthropic の Tool Search との直接比較があるよ。とはいえ、ほとんどの MCP はダンプしてる。Cloudflare の MCP は素晴らしいけど、他の 1000 の有用な MCP はそうじゃない。

Hacker Newsで議論の続きを見る