Skip to main content
Glama
nitish-raj

SearXNG MCP Bridge

by nitish-raj

SearXNG MCP Bridge Server

Release

これは、SearXNGインスタンスへのブリッジとして機能するModel Context Protocol (MCP)サーバーです。互換性のあるクライアントが、MCPツールを介して設定済みのSearXNGインスタンスを使用して検索を実行できるようにします。

要件

  • Node.js 25.x

  • npm 11.x 以降

Related MCP server: searxng-mcp

クイックスタート (npmから使用する場合)

  1. SearXNGインスタンスのセットアップ:

    # Using Docker
    docker run -d -p 8888:8080 --name searxng searxng/searxng
  2. MCPブリッジのインストールと実行

    デフォルト (STDIO、変更なし):

    # Run directly with npx (default - stdio transport)
    npx -y @nitish-raj/searxng-mcp-bridge

    オプション: HTTPサーバーとして実行 (新規、オプトイン)

     # Using env variables (recommended)
      TRANSPORT=http PORT=3002 HOST=127.0.0.1 SEARXNG_INSTANCE_URL=http://localhost:8080 npx -y @nitish-raj/searxng-mcp-bridge
    
    
    
    # Or run the built bundle
    TRANSPORT=http node build/index.js
  3. MCP設定ファイルでの構成 (stdio / レガシークライアント) MCP設定ファイル (例: ~/.vscode-server/.../mcp_settings.json) に追加します:

    {
      "mcpServers": {
        "searxng-bridge": {
          "command": "npx",
          "args": [
           "-y",
           "@nitish-raj/searxng-mcp-bridge"
           ],
           "env": {
             "SEARXNG_INSTANCE_URL": "http://localhost:8080"
           },
          "disabled": false
        }
      }
    }

HTTP構成: TRANSPORT=http を設定すると、stdioの代わりにHTTP経由でブリッジを実行できます。トランスポートモードは環境変数で構成可能です。

機能

  • 検索ツール: 構成可能なパラメータを使用してSearXNGでWeb検索を実行

  • ヘルスチェック: SearXNGインスタンスの接続性とパフォーマンスを監視

  • デュアルトランスポート: STDIO (デフォルト) とHTTPの両方のトランスポートをサポート

  • セッション管理: HTTPトランスポートにはセッションベースの接続が含まれます

  • CORSサポート: Webクライアント統合のための適切なクロスオリジンヘッダー

  • レート制限: 過剰なリクエストに対する組み込みの保護機能 (HTTPモード)

構成

  • SEARXNG_INSTANCE_URL — 必須。SearXNGインスタンスの完全なURL (例: http://localhost:8080)。

  • TRANSPORT — トランスポートプロトコル: stdio (デフォルト) または http

  • PORT — HTTPサーバーのポート。デフォルト: 3000 (開発用には 3002 を使用)

  • HOST — サーバーのバインドアドレス。デフォルト: 127.0.0.1 (コンテナ用には 0.0.0.0 を使用)

  • CORS_ORIGIN — CORSで許可されるオリジンのカンマ区切りリスト。デフォルト: localhost:3002 (開発) または * (本番)

  • MCP_HTTP_BEARER — HTTP認証用のオプションのベアラートークン HTTPトランスポート機能:

  • mcp-session-id ヘッダーによるセッション管理

  • オリジンホワイトリスト検証によるセキュアなCORS

  • レート制限 (IPあたり100リクエスト/分)

  • MCP_HTTP_BEARER を介したオプションのベアラー認証

  • DNSリバインディング保護

セキュリティ上の注意:

  • CORSは開発環境でセキュアなホワイトリストを使用します (localhost:3002のみ)

  • 本番環境では、認証済みリクエストに対して特定のオリジンを反映します (CORS準拠)

  • ユースケースに合わせて許可されるオリジンをカスタマイズするには CORS_ORIGIN を設定してください

  • stdioモードに戻すには TRANSPORT=stdio を設定してください

HTTPトランスポート

HTTPトランスポートは、以下のエンドポイントを備えたMCP Streamable HTTP仕様 (2025-03-26) を実装しています:

MCPエンドポイント:

  • POST /mcp - MCPリクエストの送信

  • GET /mcp - 通知用のサーバー送信イベント (SSE)

  • DELETE /mcp - セッションの終了

  • OPTIONS /mcp - CORSプリフライトリクエスト

システムエンドポイント:

  • GET /healthz - ヘルスチェックとステータス

HTTPエンドポイントのテスト:

curl -X POST http://localhost:3002/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

これは、利用可能なツール (search および health_check) のリストを含むJSON-RPCレスポンスを返します。

Docker

DockerfileはHTTPトランスポート用にポート 8081 を公開します。コンテナを実行してHTTPアクセスを許可するには:

# Build (example)
docker build -t searxng-mcp-bridge .

# Run mapping port 8081
 docker run -d -p 8081:8081 --env SEARXNG_INSTANCE_URL=http://localhost:8080 --name searxng-mcp-bridge searxng-mcp-bridge

# To run HTTP transport inside container:
 docker run -d -p 8081:8081 -e TRANSPORT=http -e PORT=8081 -e SEARXNG_INSTANCE_URL=http://localhost:8080 searxng-mcp-bridge

注: コンテナ化する場合は HOST=0.0.0.0 を設定するか、デフォルトで公開されているポートマッピングに依存してください。

使用方法

STDIOクライアント: ツールをそのまま使用してください。構成の変更は不要です。

HTTPクライアント: http://localhost:3002/mcp (開発用ポート) に接続し、MCP JSON-RPCリクエストを送信してください。

開発

  • npm install: 依存関係のインストール。

  • npm run build: TypeScriptをJavaScriptにコンパイル。

  • npm run watch: 変更を監視し、自動的に再ビルド。

  • npm run inspector: MCPインスペクターを実行してサーバーをテスト。

  • npm run start:http: localhost:3002でHTTPストリーミングモードのサーバーを起動。

移行と互換性

後方互換性:

  • STDIOが引き続きデフォルトのトランスポートです。既存のユーザーは変更の必要はありません

  • すべてのツール名、パラメータ、レスポンスは変更されていません

  • 構成は環境変数を介したオプトイン方式です

HTTPへの移行:

  • HTTPトランスポートを有効にするには TRANSPORT=http を設定してください

  • 必要に応じて PORT と HOST を構成してください

  • クライアントを更新して、stdioの代わりにHTTPエンドポイントを使用するようにしてください

ロールバック:

  • stdioモードに戻すには TRANSPORT=stdio を設定するか、変数を省略してください

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that wraps a local SearXNG instance to provide private, customizable web search capabilities. It enables AI assistants to perform queries with support for specific parameters like results limits, language, and time ranges.
    145 npm
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    An MCP server for SearXNG that provides web search capabilities with concise model-visible output while preserving full result payloads in metadata. It supports search, parallel fetching, URL extraction, and research workflows through both local stdio and streamable HTTP transports.
    7
    4
    -
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for SearXNG meta search engine with enhanced error handling and parameter validation for AI agents. Enables privacy-focused web searches with structured JSON results and advanced filtering.
    1
    80 npm
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for local web search via SearXNG, providing unlimited queries without API keys or cost, with automatic fallback to public instances.
    3
    1
    MIT