Searxng Mul Mcp について
Searxng Mul Mcp は、SearXNG メタ検索エンジン向けの MCP サーバーで、複数のクエリを並列に実行します。Web 検索を必要とするアシスタントを対象とし、stdio と HTTP の両方のトランスポートに対応しています。
主な機能
- 01複数クエリの並列検索
- 02stdio と HTTP のトランスポート対応
- 03SearXNG REST API との連携
- 04Basic 認証への対応
- 05Docker によるデプロイ
活用シーン
- 01AI アシスタントに Web 検索機能を提供する
- 02プライベートな SearXNG インスタンスで認証付き検索を行う
MCP 対応
このサーバーは単一の search ツールを MCP クライアントに公開し、クエリのリストに加えてエンジン、カテゴリ、セーフサーチ、言語のオプションを受け付けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| queries | array | はい | 並列実行する検索クエリのリスト。各クエリを個別に検索し、結果を集約します。 |
| engines | array | いいえ | 使用する特定の検索エンジン(省略可能)。例:google、bing、duckduckgo、startpage |
| categories | array | いいえ | 結果を絞り込む検索カテゴリ(省略可能)。例:general、images、news、videos、music、files、science |
| safesearch | number | いいえ | セーフサーチのレベル:0 = オフ、1 = 中程度、2 = 厳格(任意) |
| language | string | いいえ | 検索言語コード(任意)。単一の言語コードのみサポートし、カンマ区切りの複数コードには対応しません。例:en、zh、es、fr、de |
詳細
中国語 | ドイツ語 | 英語 | スペイン語 | フランス語 | 日本語 | 韓国語 | ポルトガル語 | ロシア語
SearXNG Mul MCP
SearXNG メタ検索エンジンと統合するための Model Context Protocol(MCP)サーバーです。stdio と HTTP の両トランスポートプロトコルに対応し、複数のクエリを並列検索できます。
🌟 おすすめ:OllaMan — 強力な Ollama AI モデルマネージャーです。
特長
- ✅ 複数クエリの並列検索:複数の検索クエリを同時に実行し、効率を高めます
- ✅ 2 種類のトランスポートに対応:stdio と HTTP の両方の MCP トランスポートプロトコルに対応します
- ✅ SearXNG API との統合:ブラウザー自動化を使わず、SearXNG REST API と直接統合します
- ✅ 基本認証:Basic Auth で保護された SearXNG サーバーに対応します
- ✅ Docker によるデプロイ:Docker と Docker Compose による完全なコンテナ化に対応します
- ✅ 環境設定:環境変数を使って柔軟に設定を管理できます
クイックスタート
NPM の使用
Stdio モード(デフォルト)
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp
HTTP モード
SEARXNG_URL=https://your.searxng.com npx -y searxng-mul-mcp --transport=http --host=0.0.0.0 --port=3000
環境変数
# Required: SearXNG server URL
SEARXNG_URL=https://your.searxng.com
# Optional: Basic Auth credentials
USERNAME=your_username
PASSWORD=your_password
# Optional: Transport configuration (can also use CLI flags)
TRANSPORT=stdio|http
HOST=0.0.0.0 # HTTP mode only
PORT=3000 # HTTP mode only
# Optional: Debug mode
DEBUG=false
設定
Claude Desktop の設定
以下の設定を Claude Desktop の claude_desktop_config.json ファイルに追加します。
stdio モード:
{
"mcpServers": {
"searxng-mul-mcp": {
"command": "npx",
"args": ["-y", "searxng-mul-mcp"],
"env": {
"SEARXNG_URL": "https://your.searxng.com",
"USERNAME": "your_username",
"PASSWORD": "your_password"
}
}
}
}
SearXNG サーバーのセットアップ
この MCP サーバーを使用するには、SearXNG インスタンスへのアクセスが必要です。次の方法があります。
- パブリック SearXNG インスタンス(
https://your.searxng.comなど)を使用する - 独自の SearXNG サーバーをデプロイする
- Basic Auth を使用するプライベート SearXNG インスタンスを使用する
基本認証
SearXNG サーバーで Basic Auth が必要な場合:
export USERNAME=your_username
export PASSWORD=your_password
トランスポートプロトコル
Stdio トランスポート
- MCP クライアント統合のデフォルトモードです
- 標準入出力を使って通信します
- MCP クライアントとの直接接続に適しています
HTTP トランスポート
- StreamableHTTP JSON-RPC インターフェースを提供します(プロトコルバージョン 2025-03-26)
/healthにヘルスチェックエンドポイントがあります- クライアント通信用の MCP エンドポイントは
/mcpです - 自動クリーンアップ機能付きのセッション管理に対応します
- クロスオリジンリクエストに対する完全な CORS サポートを備えています
- Web ベースの統合や最新の MCP クライアントに適しています
インストール
ソースから
git clone <repository-url>
cd searxng-mul-mcp
npm install
npm run build
npm start
Docker によるデプロイ
docker-compose.yml ファイルを作成します。
services:
searxng-mul-mcp:
image: ghcr.io/jae-jae/searxng-mul-mcp:latest
environment:
- SEARXNG_URL=https://your.searxng.com
# Optional: Basic Auth
# - USERNAME=your_username
# - PASSWORD=your_password
ports:
- "3000:3000"
次のコマンドで実行します。
docker-compose up -d
MCP ツールの使用方法
このサーバーは、次のパラメーターを受け取る search ツールを 1 つ提供します。
パラメーター
- queries(必須):並列実行する検索クエリ文字列の配列
- engines(任意):使用する特定の検索エンジン(例:「google」、「bing」、「duckduckgo」)
- categories(任意):結果を絞り込む検索カテゴリー(例:「general」、「images」、「news」)
- safesearch(任意):セーフサーチのレベル(0=オフ、1=中程度、2=厳格)
- language(任意):検索言語コード(例:「en」、「zh」、「es」)
開発
前提条件
- Node.js 18 以上
- npm または yarn
- TypeScript
ビルドコマンド
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start development server
npm run dev
# Run in production
npm start
# Clean build directory
npm run clean
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
プロジェクト構成
searxng-mul-mcp/
├── src/
│ ├── index.ts # Application entry point
│ ├── server.ts # MCP server core logic
│ ├── config/
│ │ └── index.ts # Configuration management
│ ├── tools/
│ │ ├── index.ts # Tool definitions
│ │ └── searxng.ts # SearXNG search tool implementation
│ ├── transports/
│ │ ├── index.ts # Transport factory
│ │ ├── stdio.ts # Stdio transport implementation
│ │ ├── http.ts # HTTP transport implementation
│ │ └── types.ts # Transport type definitions
│ ├── services/
│ │ └── searxng-api.ts # SearXNG API client
│ └── utils/
│ └── logger.ts # Logging utilities
├── build/ # TypeScript compilation output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Docker image build
├── docker-compose.yml # Docker Compose configuration
└── README.md # This file
API リファレンス
SearXNG API との統合
このサーバーは SearXNG 検索 API と統合します。SearXNG API の機能について詳しくは、https://docs.searxng.org/dev/search_api.html を参照してください。
エラー処理
このサーバーは包括的なエラー処理を実装しています。
- ネットワークエラー:自動再試行メカニズム(最大 3 回)
- 認証エラー:認証失敗時に明確なエラーメッセージを表示します
- API のレート制限:適切に機能を縮退させ、エラーを報告します
- タイムアウト処理:リクエストのタイムアウトを設定できます(デフォルト:30 秒)
モニタリング
ヘルスチェック
HTTP モードでは、ヘルスチェックエンドポイントを利用できます。
curl http://localhost:3000/health
レスポンス:
{
"status": "healthy",
"timestamp": "2024-01-01T00:00:00.000Z",
"version": "1.0.0"
}
ロギング
サーバーは、レベルを設定できる構造化ロギングを提供します。
- ERROR:重大なエラーと障害
- WARN:警告メッセージと機能の低下
- INFO:一般的な運用情報
- DEBUG:詳細なデバッグ情報(
DEBUG=trueで有効化)
トラブルシューティング
よくある問題
- 接続に失敗する:
SEARXNG_URLとネットワーク接続を確認してください - 認証エラー:Basic 認証の
USERNAMEとPASSWORDを確認してください - ポートがすでに使用されている:HTTP モードでは、
PORT環境変数を変更してください - 検索がタイムアウトする:タイムアウトを延長するか、SearXNG サーバーのパフォーマンスを確認してください
デバッグモード
詳細なトラブルシューティングを行うには、デバッグログを有効にしてください。
DEBUG=true npx searxng-mul-mcp
ライセンス
MIT ライセンスです。詳細は LICENSE ファイルを参照してください。
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
サポート
問題や質問がある場合:
- トラブルシューティングのセクションを確認します
- SearXNG のドキュメントを確認します
- GitHub で Issue を作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。