飛べないローカルLLM ─ gpt-ossがMCPの翼でWeb検索が可能に

飛べないローカルLLM ─ gpt-ossがMCPの翼で世界へ HowTo

飛べないLLMはただのLLM

飛べない豚はただの豚──なんて名セリフがありましたが、あれを拝借するとこうなります。

飛べないLLMはただのLLM。

ローカルで動くLLMをいじっていると、ふとそんな感覚に襲われることがあります。
確かに簡単だし、プライベート。課金もない。だけど、どこか“世界に閉じこもった友人”と話しているような…そんな不憫さ

クラウドの大規模モデルと比べると、その違いは歴然です。
クラウドは常に新しい情報を吸い込み、昨日のニュースだって語れる。
一方ローカルは、学習データの記憶の輪の中に閉じ込められたまま。
──まるで「過去のことはやたら詳しいのに、いま目の前の現実にはちょっと疎い」人間のよう。

もっと外の世界を見てほしい!
「せっかくだから、蕎麦屋くらい調べてきて!」

そんな願いを叶えてくれるのが、今回のテーマである MCP(Model Context Protocol) です。
これがあれば、ローカルLLMにも“翼”が生える。

そう、ただのLLMが──飛べるLLM に進化するのです。

MCPとは何か ─ ローカルLLMに翼をつける仕組み

飛べないLLMに翼を授けたい」──その願いを実現するために生まれたのが MCP(Model Context Protocol) です。

MCPはざっくり言うと、「LLMと外部ツールの仲人」
ローカルで閉じこもっているLLMに対し、「あっちに便利なAPIがあるから、ちょっと話してきなさい」と橋渡しをしてくれます。

  • LLM … 話し相手。なんでも答えたいけど情報が古い。
  • 外部サービス(検索、データベース、ファイルシステム…) … 情報の宝庫。でも人間と直接は話せない。
  • MCP … その2者をつなぐ“通訳兼ツアーガイド”。

仕組みはシンプルです。
LLMが「春日部の蕎麦屋について知りたい」と言うと、MCPが「じゃあこの検索APIを使って調べてくるね」と外の世界へ飛び出し、結果を持ち帰る。
それをLLMに渡せば、今どきの情報を交えた回答ができる。

つまり、MCPはローカルLLMに外部の目と耳を与える装置なんです。


ここで面白いのは、MCP自体は特定サービス専用ではなく、好きなAPIを「翼」として付け替えられること。
たとえば:

  • 検索エンジン → Web Search MCP
  • ドキュメント検索 → RAG(Retrieval Augmented Generation)系MCP
  • 自作スクリプト → ローカルスクレイパーMCP

…といった具合に。

要するに「どんな翼を生やすかはあなた次第」という柔軟さがあるのです。
今回はその中でも一番わかりやすい、Web検索の翼を試してみました。

Web Search MCPを飛ばしてみた ─ Playwrightの影で

「翼を手に入れた」──と言っても、どの翼を生やすかは重要です。
私は最初 Brave を試そうとしましたが、「クレカ登録が必須」という壁に阻まれ、即座に“ヘタレ撤退”。私のブログのモットー「All Free」のフィロソフィーに反します。

そこで選んだのが、Web Search MCP

これはありがたいことにオープンソースで提供されており、Node.jsベースで動作します。
LM Studio の mcp設定ファイルに以下のように書くだけで、ローカルLLMに「検索の翼」を装着できます。

{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": [
        "D:/mcp/web-search-mcp/dist/index.js"
      ],
      "cwd": "D:/mcp/web-search-mcp"
    }
  }
}
mpc.json にWeb-search-mcp を登録する。成功するとツールの選択が可能になる。
成功すると、チャットウィンドウでWeb-searchが選択できるようになる。

これを lmstudio の設定に追加すると──

✅ LLMが mcp/web-search:full-web-search というツールを呼び出せるようになり、
✅ 普通に「春日部 蕎麦屋 おすすめ」と問いかけると、検索結果をズラッと返してくれるようになります。


影の立役者 Playwright

ここで登場するのが Playwright
Web Search MCPの裏側では、このブラウザ自動操作ツールがせっせと働いています。

Playwrightは、Microsoft製のテスト自動化フレームワークですが、要は「プログラムからブラウザを開いて検索→ページを読む」を代行してくれる便利屋です。

  • ユーザーは「春日部 蕎麦屋」と聞く
  • MCPがPlaywrightに「ちょっと検索して」とお願い
  • Playwrightが実際にページを開き、テキストを引っこ抜いて持って帰る

──こうして、スクレイピング臭さを感じさせない自然な検索体験が実現しています。

つまり、LLMは 直接Webを知らないけれど、Playwrightという相棒を持ったMCPのおかげで、まるで最新ネット上の情報に詳しいかのように振る舞える
これが「翼を生やした瞬間」なんです。

実際に飛んでみた ─ 蕎麦屋からGPUまで

翼を手に入れたからには、やっぱり飛んでみないと始まりません。
まずはライトに、地元・春日部の蕎麦屋検索から。

試しにこう投げかけます。

web-search でクエリを渡して叩く
web-search でクエリを渡して叩く
#tool: mcp/web-search.full-web-search
{"query": "春日部 蕎麦屋 おすすめ", "maxResults": 3}

すると──

店名URL抜粋
手打ちそば ○○庵https://…「春日部駅から徒歩5分。新鮮な小倉製麺の蕎麦は、香り高くコシがあり、季節限定メニューも充実しています。店内は落ち着いた雰囲気で、観光客にも人気です。」
そば処 △△https://…「春日部市内にある老舗蕎麦屋。地元産のそば粉を使用し、職人が手間ひまかけて作る一杯は絶品です。季節ごとに変わる定食や冷たいざらめもおすすめ。」
春日部そば街道の一角https://…「リーズナブルながら本格そばが楽しめる。特に、野菜たっぷりのざるそばと、こだわりのつゆが評判です。ファミリー層にも人気で、店内は明るく広々しています。」

──という具合に、普通の検索と変わらぬレスポンス。
でもこれを「ローカルのLLM」に聞いているのがミソです。
クラウドに依存せず、手元のOSSモデルがリアルタイムで外界を知る
これ、なかなか感動ものです。


Blackwell GPUニュースも即キャッチ

次はもうちょっとテック寄り。
NVIDIA が発表した新GPU「Blackwell」の記事を漁ってみます。

#tool: mcp/web-search.get-web-search-summaries
{"query": "NVIDIA Blackwell GPU 発表", "timeRange": "past_week", "maxResults": 3}

返ってきたのは、こんな感じでした。

こんな感じでチャット上に出力されます

「飛べないLLM」は、こうしてWebという外界への扉を開いて、クラウドLLMと機能的には劣らない進化を遂げて羽ばたいていきました。

まとめとこれから ─ 飛べないLLMはただのLLM

今回の実験でわかったのはシンプルです。

  • ローカルLLM単体だと、どうしても“過去に閉じ込められた賢者”のような存在。
  • MCP(Model Context Protocol)の翼を得ることで、現実世界へ飛び立てるようになる
  • 特に「検索MCP」を通じて、地元グルメからGPU最新情報まで、日常と技術の双方をサッと拾える

つまり──
「飛べないLLMはただのLLM。でも、翼をつければニュースも蕎麦もキャッチできる」
ということです。


これからの楽しみ方

  • 生活圏での使い道
    近所の蕎麦屋、スーパーの特売、遊園地イベントなど、暮らしの情報をLLMに“聞ける”。
  • 技術ウォッチの使い道
    GPUの新製品、ライブラリの更新、アナリストの予測など、エンジニアのネタ探しに直結。
  • ちょっとニッチな使い道
    好きな作家の新刊チェックや、特定分野(歴史・音楽・鉄道など)の調査にも使える。

最後に

クラウドの巨大モデルは確かに便利です。
でも「All free」のフィロソフィーに立てば、
ローカルLLMに自由を与えることこそ、これからのDIY AIライフの醍醐味。

そして、今回のように 検索MCPという翼 をつければ、
ローカルLLMはもう「不憫な賢者」ではなくなります。

蕎麦屋を探し、GPUのトレンドを追い、
ときにはあなたの夏休みの宿題だって助けてくれる──
そんな頼もしい相棒に。

飛べないLLMはただのLLM。でも飛べたら、もうただ者じゃない。
これからが楽しみです。

あなたのローカルLLMも、世界中を飛び回れるようにしてあげてください

Claudeがけん引した「MCP文化」

ChatGPTには公式の検索やプラグイン機能が用意されているが、Claudeにはそれがない。
この「検索できない」という制約が、かえってユーザーを工夫へと駆り立てた。

「最新情報を得たい、でもClaude単体では無理」――そのジレンマが生んだ解決策こそ、MCPだった。いわば 必要は発明の母 というわけである。

結果として、Claudeユーザーたちは Context7 をはじめとする検索MCPを育て上げ、
「LLMは自分で羽を生やして飛べる」という文化を広めてきた。

ChatGPTが公式に翼を与えられた存在だとすれば、Claudeはユーザーに背中を押されて
自力で飛び立った存在――この違いが、MCP界隈を一段と面白くしているのだ。

Appendix ─ 今回使ったツールたち

LM Studio
ローカルでLLMを動かす定番アプリ。GUIでモデル管理が楽なうえ、MCPもサポートしているので「ローカルLLMのハブ」として超便利。

openai/gpt-oss-20b
今回の“主人公”モデル。OSS系の大型モデルで、MCPを通じて世界とつながることで真価を発揮。

Web-Search MCP
Playwrightをバックエンドに動かす検索MCP。
ニュースだけでなく、公式サイトやブログまで拾ってきてくれる万能スクレイパー。
(しかもTavilyやBraveみたいにクレカ登録不要!)

Model Context Protocol(MCP)仕様/資料サイト github.com+15modelcontextprotocol.io+15modelcontextprotocol.io+15
MCPの公式情報源。プロトコル概要、仕様、SDK、および実装方法をまとめたオフィシャルリソースです。

Playwright
MCPサーバーの裏で働くWeb自動操作ライブラリ。
「無数のブラウザを束ねて、ウェブを歩き回る小さなロボット軍団」みたいな存在。
こいつがいるからWeb-Search MCPは生きている。