mcpField
S
searxng-search

searxng-search

github.com/walterra生産性3538 回インストール9 週間前に更新
リポジトリ

searxng-search について

ローカルまたはネットワーク経由で利用できる SearXNG を使ってウェブ検索するスキルです。外部 API キーなしで、コマンドライン検索とページ内容の抽出を行えます。

主な機能

  1. 01SearXNG によるウェブ検索
  2. 02ページ内容の Markdown 抽出
  3. 03結果数と内容オプションの指定
  4. 04ローカル環境と Docker 環境の検出
  5. 05SearXNG URL のカスタマイズ

活用シーン

  1. 01ドキュメントや API リファレンスの検索
  2. 02ライブラリーやフレームワークの調査
  3. 03外部 API キーなしで最新情報を検索
  4. 04URL から読みやすい内容を抽出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/walterra/agent-tools --skill searxng-search

インストール後、Claude Code で/searxng-searchを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

package.json
README.md
scripts/
content.js
search.js
searxng/
settings.yml

詳細

SearXNG 検索

SearXNG メタ検索エンジンを使ったローカルのウェブ検索です。外部 API キーは不要です。

前提条件

  • ローカルで実行中の SearXNG インスタンス(デフォルト:http://localhost:8080)、またはネットワーク経由でアクセス可能なインスタンス
  • Node.js 18+ がインストールされていること
SearXNG のクイックセットアップ

SearXNG の設定で JSON API を有効にする必要があります(デフォルトでは無効です)。 このスキルには、JSON API を有効にする設定済みの settings.yml が含まれています。

# Using Docker (recommended) - mount the included settings to enable JSON API
docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng

# Or see https://docs.searxng.org/admin/installation.html

注: デフォルトの SearXNG イメージでは HTML 形式のみが有効です。 カスタム設定を使用しないと、JSON API は HTTP 403 Forbidden を返します。

セットアップ

初めて使用する前に、依存関係をインストールします。

cd {baseDir} && npm install

環境

このスキルは、ローカルで実行されているか Docker 内で実行されているかを自動検出します。

環境デフォルト URL検出方法
ローカルhttp://localhost:8080/.dockerenv ファイルがない
Dockerhttp://searxng:8080/.dockerenv が存在する

必要に応じて、環境変数 SEARXNG_URL で上書きできます。

検索

{baseDir}/scripts/search.js "query"                    # Basic search (5 results)
{baseDir}/scripts/search.js "query" -n 10              # More results
{baseDir}/scripts/search.js "query" --content          # Include page content as markdown
{baseDir}/scripts/search.js "query" -n 3 --content     # Combined
例
# Search for documentation
{baseDir}/scripts/search.js "typescript generics tutorial"

# Research with content extraction
{baseDir}/scripts/search.js "react server components" -n 5 --content

# Find API references
{baseDir}/scripts/search.js "site:docs.github.com REST API" -n 3

ページコンテンツの抽出

URL を取得し、読みやすいコンテンツを Markdown として抽出します。

{baseDir}/scripts/content.js https://example.com/article
例
# Extract documentation page
{baseDir}/scripts/content.js https://docs.python.org/3/tutorial/classes.html

# Extract blog post
{baseDir}/scripts/content.js https://blog.example.com/some-article

出力形式

検索結果
--- Result 1 ---
Title: Page Title
Link: https://example.com/page
Snippet: Description from search results
Content: (if --content flag used)
  Markdown content extracted from the page...

--- Result 2 ---
...
コンテンツの抽出
Title: Article Title
URL: https://example.com/article

--- Content ---
Markdown content of the page...

利点

  • ✅ API キー不要
  • ✅ レート制限なし
  • ✅ プライバシーを保護(ローカルインスタンス)
  • ✅ 複数の検索エンジンから結果を集約
  • ✅ 高速で信頼性が高い
  • ✅ ローカルおよび Docker コンテナ内で動作

使用する場面

  • ドキュメントや API リファレンスを検索するとき
  • 事実や最新情報を調べるとき
  • ライブラリ、フレームワーク、ツールを調査するとき
  • 特定の URL からコンテンツを取得するとき
  • 外部依存なしでウェブ検索が必要なあらゆるタスク

トラブルシューティング

接続が拒否される

SearXNG が実行されていません。次のコマンドで起動します。

docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng
HTTP 403 Forbidden

JSON API が有効になっていません。デフォルトの SearXNG では HTML 形式のみが許可されています。 コンテナの起動時に、同梱の settings.yml をマウントしてください。

docker stop searxng && docker rm searxng
docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng
カスタム SearXNG URL

環境変数を設定します。

export SEARXNG_URL=http://your-searxng-host:8080

コメント