CC for Biz
2026/11/02Claude Code
導入・運用AI活用

RustXNGとは|AIエージェント用の自前検索の使い方

RustXNGとは|AIエージェント用の自前検索の使い方

「AIエージェントに調べものをさせたいが、検索APIの料金やキーの管理が気になる」「RustXNGという自前の検索が話題だが、本当にClaude Codeから使えるのか」——エージェントに検索を持たせようとすると、多くの人がこの手前で止まります。

結論から言うと、RustXNGは自分のMacで動かすAIエージェント向けの検索で、2026年11月1日公開の配布版v0.26.0なら、curlでJSONを取る使い方は今日から使えます。ただし、READMEに書かれているMCPサーバー(rustxng mcp)は配布版にはまだ入っておらず、検索語は外の検索エンジンへ送られます。この2点を知らずに入れると、思っていたものと違ったと感じるはずです。

株式会社Fyveは中小企業のAI活用を月額で伴走しており、自社でもMac miniで無人の定期ジョブを毎日回し、その中でAIに検索をさせています。本記事では、2026年11月3日に私たちのMac miniでv0.26.0を実際に入れて検索した結果をもとに、RustXNGの仕組み・入れ方・使い方と、入れる前に確かめることを整理します。

RustXNGとは|AIエージェントのための自前のメタ検索

RustXNGは、オープンソースのメタ検索エンジン「SearXNG」をもとに、Rustで作り直した検索サーバーです。メタ検索とは、自分では索引を持たず、複数の検索エンジンに同時に問い合わせて結果を1つにまとめる仕組みのことです。GitHubのリポジトリの説明は「AIエージェントのためのセルフホスト型メタ検索・根拠取得エンジン」となっています。

2026年11月3日時点で分かっている事実を表にまとめます。数字はGitHubのAPIとリリースページで確認したものです。

項目

内容

リポジトリ作成

2026年10月18日

最新の配布版

v0.26.0(2026年11月1日公開)

配布物

macOS(Apple Silicon・Intel)、Windows、Linux x86_64の実行ファイル。Dockerイメージ、cargoでのビルドも可

ライセンス

AGPL-3.0-or-later

返せる形式

JSON・CSV・RSS・HTML(ブラウザの検索画面もある)

スター数

約700(11月3日時点)

「AIエージェント向け」をうたう理由は、エージェントが必要なときだけ検索し、モデルに渡す文章を少なく保てるように作られている点にあります。件数を絞る、ドメインで絞る、ページ本文は必要なときだけ取る、といった調整がすべてURLのパラメータでできます。

一方でFAQには、「Rustで書いたから答えが正確になるわけではない」「自前で動かしても、検索の費用や回数の制限がすべて消えるわけではない」と、作者自身が限界をはっきり書いています。この誠実さは、道具を選ぶうえで信頼できる材料です。

私たちがAIの検索に困っていたこと

私たちのMac miniでは、毎朝AIのニュースを集めて裏取りし、発信の材料を整理するジョブが無人で動いています。そこで使っている検索は、Claude Codeに組み込まれたWeb検索と、Grokの検索をClaude Codeから呼ぶために自作したMCPサーバーの2本立てです。

この構成で困っているのは次の2点です。

  • 検索の中身を細かく決められない:組み込みの検索は手軽ですが、どのエンジンに何件問い合わせるかは選べません
  • 外部のサービスに頼り切っている:自作のMCPサーバーはXの有料プランのログインで動いており、仕様やログインの方式が変わると朝のジョブが止まります

RustXNGに関心を持ったのは、この2点を両方とも自分の手元で決められる道具に見えたからです。そこで、本番のジョブに入れる前に、まず1台で動かして確かめることにしました。

なお、Claude Codeの組み込み検索を使う場合の回数の上限の決め方は、次の記事にまとめています。

Claude CodeのWeb検索の上限設定|暴走ループを防ぐ
Claude CodeClaude CodeのWeb検索の上限設定|暴走ループを防ぐ
この記事を読んでいるあなたへ無料プレゼントClaude Codeを「素のまま」使うな設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)
そのまま書き換えて使えるCLAUDE.mdの型お金と送信をAIに触らせない「3段階の柵」1回教えたら何度でも動く、手順書のコピペ雛形
中身のプレビューを見る ↓登録すると、過去の特典もまとめて受け取れます(PDF 19点・合計499ページ + すぐ使えるzip素材 3点)

RustXNGの入れ方|配布版をチェックサム付きで入れる

入れ方は、配布版の実行ファイル・cargo・Docker・ソースからのビルドの4通りがあります。Rustの開発環境が要らない配布版がいちばん手軽です。ここではApple SiliconのMacを例に、私たちが実際に打った手順を示します。

手順1:実行ファイルとチェックサムを落とす

リリースページから、自分のCPUに合う実行ファイルと、同じ名前に .sha256 が付いたファイルを同じフォルダに落とします。ライセンスの写し(LICENSE・NOTICE)も一緒に保存するよう案内されています。

mkdir -p ~/rustxng-download && cd ~/rustxng-download
A=rustxng-v0.26.0-aarch64-apple-darwin
for f in $A $A.sha256 LICENSE NOTICE; do
  curl -fL -o "$f" "https://github.com/sahenjp/RustXNG/releases/download/v0.26.0/$f"
done
shasum -a 256 --check $A.sha256

OK と出れば、落としたファイルがリリースに載っているものと一致しています。公式の導入ガイドも「一致しなければそこで止める」と書いています。ただしこれは発行者の署名ではなく、リリースとの一致を確かめるだけだという断りも添えられています。

手順2:自分のフォルダに置いて版を確かめる

mkdir -p ~/.local/bin
install -m755 $A ~/.local/bin/rustxng
~/.local/bin/rustxng --version
# RustXNG 0.26.0

管理者の権限は要りません。~/.local/bin にパスが通っていなければ、フルパスで呼ぶか、シェルの設定に足します。

手順3:ポートを明示して起動する

SEARXNG_PORT=29483 rustxng --bind 127.0.0.1 --port 29483

ここで --port を省かないでください。READMEの既定は29483番ですが、これは開発中の版の話で、配布中のv0.26.0の既定はまだ8888番です。省くと、READMEのcurlの例が通りません。--bind 127.0.0.1 は、自分のMacの中からしかつながらないようにする指定です。

別のターミナルで、動いているかを確かめます。

curl --fail http://127.0.0.1:29483/healthz
curl --fail http://127.0.0.1:29483/config

公式の導入ガイドは、/healthz が返るだけでは不十分で、/config の version が「RustXNG」で始まることまで見るよう求めています。同じポートで別のサービスが動いている場合を見分けるためです。私たちの環境では RustXNG 0.26.0 と、登録された検索エンジン171個が返りました。

起動してから /healthz が返るまでは0.03秒、待機中のメモリは約11MBでした。4回検索した後は約55MBまで増えました。

curlでJSON検索する|件数とドメインで返す量を絞る

起動したら、/search に検索語を渡します。format=json でJSONになり、max_results で件数を絞れます。

curl --fail --get 'http://127.0.0.1:29483/search' \
  --data-urlencode 'q=Claude Code MCP 設定' \
  --data 'format=json' --data 'max_results=5'

各結果には title(題名)・url・content(抜粋)が入ります。モデルに渡すのがこの3つだけでよければ、jqで手元で絞ります。

curl --fail --get 'http://127.0.0.1:29483/search' \
  --data-urlencode 'q=Claude Code MCP 設定' \
  --data 'format=json' --data 'max_results=5' \
  | jq '{results: [.results[] | {title, url, content}]}'

よく使うパラメータは次のとおりです(READMEの表を日本語にしたもの)。

パラメータ

働き

max_results=5

上位5件まで返す(1〜200)

include_domains=docs.rs

そのドメイン(サブドメインを含む)の結果だけ残す

exclude_domains=example.com

そのドメインの結果を外す

include_raw_content=1

上位の結果のページ本文を raw_content に入れる

engines=wikipedia

使う検索エンジンを指定する

time_range=day

対応するエンジンに、最近の結果を求める

私たちの実測|4回の検索で分かったこと

2026年11月3日の朝、私たちのMac miniで4回検索した結果です。

検索の中身

かかった時間

返ってきた量

結果

「Claude Code MCP 設定」5件

2.2秒

約6KB

1位がClaude Code公式ドキュメントの日本語のMCPのページ

「codex doctor network-only」5件

3.0秒

約5KB

Codexのリリースページと該当のプルリクエストが入った

code.claude.comに絞り、本文つき3件

3.9秒

約49KB

3件とも公式ドキュメント。本文は1ページ8,001字で切られる

「Anthropic」を直近1日で5件

2.4秒

—

公式トップのほかは個人のページや株価のページで、ニュースは取れなかった

手順や公式ドキュメントを探す用途では、十分に使える結果でした。特に include_domains で公式のドメインに絞る使い方は、AIが古いまとめ記事を拾ってしまう事故を減らせます。

一方、ページ本文を付けると返ってくる量が約8倍に膨らみます。READMEも「文字数の上限はトークンの上限ではない」と注意しています。最初は抜粋だけを取り、根拠が要るときだけ本文を取る、という順番を守るのが安全です。

また、time_range=day を付けても、その日のニュースは返ってきませんでした。最近の結果を絞れるかは、問い合わせ先のエンジンがその指定に対応しているかで決まるとFAQにも書かれています。最新ニュースの収集をRustXNGだけに任せるのは、現時点ではおすすめしません。

RustXNGの仕組み。AIエージェントが自分のMacのRustXNGに検索語を渡し、RustXNGが外の検索エンジンに問い合わせて結果をまとめて返す

外の検索エンジンに断られる前提で使う|unresponsive_enginesの読み方

実測でいちばん印象に残ったのは、問い合わせ先の多くに断られていたことです。JSONには unresponsive_engines(応答しなかったエンジン)という一覧が入ります。1回目の検索では、ここに約30のエンジンが並びました。

表示された理由

意味

CAPTCHA

人間かどうかの確認を求められ、機械からの問い合わせが止められた

Access denied

アクセスを拒否された

Too many requests

短い時間に問い合わせすぎて、回数の制限にかかった

Timeout

決められた時間内に返事がなかった

2回目の検索では、断られたエンジンの多くに「Suspended(休止中)」が付きました。/stats/errors で見ると、アクセスを拒否されたエンジンは約24時間(86,354秒)休止する設定になっていました。断られ続けるエンジンに問い合わせを繰り返さないための仕組みです。

それでも5件の結果は毎回返ってきました。DuckDuckGoやBingなど、応答したエンジンだけで結果がまとまるからです。ただし、これは「使えるエンジンが日によって変わる」ということでもあります。FAQにも、自前で動かしても外の検索エンジンの回数制限は避けられず、エージェントを並列で動かすほど問題が増えると書かれています。

私たちは、この一覧を毎回ログに残すのがよいと考えています。結果がおかしいと感じたとき、検索語の問題なのか、断られたエンジンが増えただけなのかを、後から見分けられるからです。/healthz が返っても検索が役に立つとは限らない、と公式の導入ガイドがくり返し書いているのも同じ理由です。

Claude CodeからRustXNGを使う2つの道

Claude Codeから使う方法は2つあります。どちらを選ぶかは、配布版にMCPが入っているかどうかで決まります。

道1:今すぐ使えるのはHTTPのAPIをcurlで叩く方法

v0.26.0で確実に動くのはこちらです。Claude CodeはBashでコマンドを打てるので、RustXNGを起動しておき、CLAUDE.mdやスキルに「Web検索はこのcurlで行う」と書いておけば使えます。私たちなら、次のように書きます。

## Web検索
- 検索は http://127.0.0.1:29483/search を使う(format=json・max_results=5)
- 公式の手順を探すときは include_domains で公式のドメインに絞る
- ページ本文(include_raw_content=1)は根拠が要るときだけ取る
- 結果が0件なら unresponsive_engines を報告し、再試行を繰り返さない

最後の1行は大事です。公式の導入ガイドも「応答しないエンジンに対して際限なく再試行しない」と書いています。AIは結果が空だと検索を言い換えて何度も打ちがちなので、止まる条件を先に渡しておきます。

道2:MCPの道具として登録する方法は次の版を待つ

READMEには、rustxng mcp でMCPサーバーとして動き、search(検索)と read_page(ページを読む)の2つの道具を提供すると書かれています。MCPとは、AIが外部の道具を共通の手順で呼び出すための仕組みです。

ところが、配布版のv0.26.0で打つと次のように止まります。

$ rustxng mcp
Error: unknown argument "mcp" (try --help)

GitHubで確かめると、MCPのコードは2026年11月2日にmainブランチへ統合された変更(#43)で入っており、v0.26.0のタグにはまだ含まれていません。CHANGELOGでも「Unreleased(未リリース)」の扱いです。READMEは開発中の版に合わせて先に書き換えられているため、READMEのとおりに打っても、配布版では動かないというずれが起きています。

MCPを使いたい場合は、次の配布版を待つか、cargoでmainブランチからビルドすることになります。MCPが入った版を用意できたら、Claude Codeへの登録は一般的なMCPサーバーと同じです。

claude mcp add rustxng -- ~/.local/bin/rustxng mcp

READMEによると、search は既定で5件、1件の抜粋を500字までに切り、返す量の合計も1万2千字までに収めます。ページの本文は、同じ会話の中で検索結果に出たURLを read_page で指定したときだけ取りに行く設計です。この部分は私たちの環境ではまだ試せていないため、README上の説明として紹介します。

Claude CodeからRustXNGを使う2つの道。今すぐ使えるのはcurlでHTTPのAPIを叩く方法で、MCPは次の配布版を待つ

MCPそのものの仕組みは、次の記事で解説しています。

MCPとは?仕組みと実務での活用法をわかりやすく解説
Claude CodeMCPとは?仕組みと実務での活用法をわかりやすく解説

RustXNGを入れる前に確かめる3つのこと

1. 検索語は外の検索エンジンに送られる

自分のMacで動くからといって、検索語が手元に留まるわけではありません。READMEは太字で「検索語は、そのリクエストで選ばれた外の検索エンジンへ送られる」と書いています。顧客名や社内の案件名を検索語に入れれば、それはBingなどの外のサービスに届きます。

ここはClaude Codeの組み込み検索でも同じですが、「自前」という言葉に安心して気が緩みやすい点です。社内で使うなら、検索語に入れてはいけない情報の決まりを先に作ってください。

2. 作者自身の監査で、未解決の指摘がある

リポジトリには2026年11月2日付の監査の記録が置かれており、次の版までに直すべき問題(P1)として、内部のアドレスへの接続を止める判定の甘さ(SSRF)、検索結果のリンクに危険なURLが残る問題、応答の大きさを制限する前に全部を読み込む問題などが挙がっています。

READMEは、自分のMacの中だけで使う場合は 127.0.0.1 で待ち受け、外に公開する前やページ本文の取得を広く使う前にこの指摘を読むよう求めています。社内のサーバーに置いて誰でもつなげるようにする使い方は、現時点では避けるべきです。

3. 版の上がり方が速く、ライセンスはAGPL

v0.23.0からv0.26.0までの5つの版は、10月31日から11月1日のわずか2日で出ています。既定のポートが8888番から29483番に変わり、mainではGoogle系の検索エンジンが外されるなど、版をまたいで振る舞いが変わる変更も続いています。仕事のジョブに組み込むなら、版を決めて固定し、上げるときは手順の確認をやり直す運用にしてください。

ライセンスはAGPL-3.0-or-laterです。改変した版をネットワーク越しに使わせる場合には、ソースコードの提供義務がかかる種類のライセンスです。手を加えずに自分のMacの中で使う範囲を超えるなら、ライセンスの本文を読み、必要なら専門家に確認してください。

私たちの判断|どこに使い、どこに使わないか

1台で動かしてみた結果、私たちは次のように判断しました。

用途

判断

理由

公式ドキュメントや手順を探す

使える

include_domains で公式に絞ると、3件とも公式のページが返った

リリースやプルリクエストの所在を確かめる

使える

GitHubのページを拾えた。最後は必ず元のページを開いて確かめる

当日のニュースを集める

任せない

直近1日の指定でニュースが返らなかった

社内の誰でも使える検索として公開する

しない

未解決の監査の指摘があり、外に公開する前提では作られていない

無人の定期ジョブにはまだ入れていません。理由は、問い合わせ先のエンジンが日によって断ってくる以上、毎朝同じ品質で結果が返るかを、もう少し日数をかけて見る必要があるからです。MCPが入った配布版が出たら、ニュースの裏取りではなく、手順を探す用途から試すつもりです。

AIエージェントに持たせる道具が増えるほど、鍵や設定の管理も増えます。MCPを複数入れるときのAPIキーの扱いは、次の記事にまとめています。

Claude Code/MCPのAPIキー管理|実務の現実解
Claude CodeClaude Code/MCPのAPIキー管理|実務の現実解

まとめ|RustXNGは「手順を探す検索」から試すのがよい

  • RustXNGは、SearXNGをもとにRustで作られたAIエージェント向けの自前のメタ検索。2026年11月1日に配布版v0.26.0が出た
  • 配布版はチェックサムを確かめて ~/.local/bin に置き、--port 29483 を明示して起動する(v0.26.0の既定は8888番)
  • curlで format=json・max_results=5 を付ければJSONで返る。私たちの実測で1回2〜4秒、5件で約5〜6KB
  • 問い合わせ先の約30のエンジンは断ってくる前提。unresponsive_engines をログに残す
  • READMEの rustxng mcp は、11月3日時点の配布版には入っていない。MCPで使うなら次の版を待つか、mainからビルドする
  • 検索語は外へ出る。未解決の監査の指摘があるので、自分のMacの中だけで使う

自前の検索は、料金やキーの心配を減らせる一方で、断られる・版が変わるといった手間を自分で引き受ける道具です。まずは公式ドキュメントを探す用途で1台に入れ、結果の質を数日見てから、仕事のジョブに組み込むかを決めてください。株式会社Fyveでも、MCPの入った配布版が出た段階で、改めて試した結果をお伝えします。

この記事を読んでいるあなたへ無料プレゼント

Claude Codeを「素のまま」使うな

設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)

素のClaude Codeは"優秀な新入社員"。仕事を教えるほど、自分専用になります。覚えさせる4点セット——会社の説明書(CLAUDE.md)・権限の柵・手順書(スキル)・フォルダの地図——を、1人会社の実運用からコピペで使える型つきで公開します。

  • そのまま書き換えて使えるCLAUDE.mdの型
  • お金と送信をAIに触らせない「3段階の柵」
  • 1回教えたら何度でも動く、手順書のコピペ雛形
  • AIが迷子にならないフォルダ構造の3原則

メールアドレス登録で他にも様々な資料を閲覧できます

「GPT-6.1 Terra」を、実務で比べてみた。仕事でAIを使う人が「絶対に」知っておくべき Claude Codeスキル TOP10「Sonnet 5.5」を、実務で比べてみた。Codexを使い始める前に、「絶対に」見直してほしい5つのこと「Opus 5.5」を、実務で比べてみた。Jevで得する仕事、損する仕事Astra と Fable 5.1、ベンチマークでは分からない「使い分け」。Fable 5.1、賢さは「どこ」に出たか。Workにしかできない仕事は、2つだけ+10

PDF 19点・合計499ページ + すぐ使えるzip素材 3点

どれも登録後の受け取りページから、まとめてダウンロードできます。

毎週配信の無料ニュースレター「AIネイティブ超研究」の購読特典です。メール登録後すぐ、受け取りページのご案内が届きます。そこにはこの資料に加えて、過去の特典もすべてまとめて置いてあります。あわせて、AI活用に関するお知らせやお役に立てそうなご案内をお送りすることがあります。解除はいつでも1クリック。

← 記事一覧に戻る

御社の業務に合わせたClaude Code導入支援

「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。

無料AI活用診断を受ける料金とサービス一覧を見る →
© 2025 Fyve Inc. All rights reserved.