SearXNG MCP Bridge
SearXNG MCP Bridge Server
これは、SearXNGインスタンスへのブリッジとして機能するModel Context Protocol (MCP)サーバーです。互換性のあるクライアントが、MCPツールを介して設定済みのSearXNGインスタンスを使用して検索を実行できるようにします。
要件
Node.js 25.x
npm 11.x 以降
Related MCP server: searxng-mcp
クイックスタート (npmから使用する場合)
SearXNGインスタンスのセットアップ:
# Using Docker docker run -d -p 8888:8080 --name searxng searxng/searxngMCPブリッジのインストールと実行
デフォルト (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.jsMCP設定ファイルでの構成 (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(デフォルト) またはhttpPORT— 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を設定するか、変数を省略してください
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Serper MCP — wraps the Serper Google Search API (serper.dev)
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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 npmMIT
- FlicenseAqualityAmaintenanceAn 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.74-
- AlicenseAqualityBmaintenanceMCP 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.180 npm2MIT
- AlicenseAqualityCmaintenanceMCP server for local web search via SearXNG, providing unlimited queries without API keys or cost, with automatic fallback to public instances.31MIT