hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Connects to SearxNG instances to provide privacy-focused web search capabilities with configurable parameters like result count, language, and format
SearxNG MCP サーバー
SearxNG を使用して Web 検索機能を提供し、Claude などの AI アシスタントによる Web 検索を可能にするモデル コンテキスト プロトコル (MCP) サーバー。
人間の監督の下で AI によって作成されました。人工知能であっても、コーヒー休憩を取るタイミングを誰かに指示してもらう必要がある場合があるからです。🤖☕
概要
このプロジェクトは、プライバシーを尊重するメタ検索エンジンであるSearxNGに接続するMCPサーバーを実装します。このサーバーは、大規模言語モデルがユーザーを追跡することなくWebを検索するためのシンプルで効率的な方法を提供します。
このサーバーはLLM向けに特別に設計されており、コンテキストウィンドウの使用を最小限に抑えるために必要不可欠な機能のみを搭載しています。この合理化されたアプローチにより、LLMと検索エンジン間の通信が効率的になり、貴重なコンテキスト空間をより重要な情報のために確保できます。
特徴
- SearxNGによるプライバシー重視のウェブ検索
- LLM統合のためのシンプルなAPI
- Claude Desktopおよびその他のMCP準拠クライアントと互換性があります
- 設定可能な検索パラメータ
- LLM 向けに最適化された、整理された検索結果
MCP互換アプリケーションとの統合
統合例
pipx run を使用する(推奨、インストールは不要)
ホームディレクトリに.clauderc
ファイルを作成します。
uvx run を使用する(インストールは不要)
pip で Python を使用する (インストールが必要)
Docker での使用 (インストール不要)
注意: MCP サーバーで Docker を使用する場合:
env
オブジェクトは Docker コンテナに適切に渡されないため、環境変数はargs
配列の-e
フラグを使用して直接渡す必要があります。- ローカルホスト(例: http://localhost:8080 )で実行されているSearxNGインスタンスにアクセスする必要がある場合は、コンテナがホストのネットワークにアクセスできるように、
--network=host
フラグを使用する必要があります。そうしないと、コンテナ内の「localhost」はホストマシンではなく、コンテナ自体を参照することになります。 --network=host
を使用する場合、コンテナはホストのネットワーク スタックを直接共有するため、ポート マッピング (-p
) は必要なく、無視されます。
構成
環境変数を使用してサーバーを構成します。
環境変数 | 説明 | デフォルト値 |
---|---|---|
SEARXNG_MCP_SEARXNG_URL | 使用するSearxNGインスタンスのURL | https://paulgo.io/ |
SEARXNG_MCP_TIMEOUT | HTTPリクエストのタイムアウト(秒) | 10 |
SEARXNG_MCP_DEFAULT_RESULT_COUNT | 返される結果のデフォルトの数 | 10 |
SEARXNG_MCP_DEFAULT_LANGUAGE | 結果の言語コード(例:「en」、「ru」、「all」) | 全て |
SEARXNG_MCP_DEFAULT_FORMAT | 結果のデフォルト形式('text'、'json') | 文章 |
SEARXNG_MCP_ログ_レベル | ログレベル(例:「DEBUG」、「INFO」、「WARNING」、「ERROR」、「CRITICAL」) | エラー |
トランスポートプロトコル | トランスポートプロトコル('stdio' または 'sse') | 標準入出力 |
**注意:**ログ レベルを ERROR よりも高く設定すると (DEBUG や INFO など)、通信チャネルでの出力が過剰になり、一部のアプリケーションとの統合が壊れる可能性があります。
独自にホストしたくない場合は、 https://searx.spaceで公開されている SearxNG インスタンスのリストを見つけることができます。
インストールと使用方法
前提条件
- Python 3.10以上
- SearxNG インスタンス (パブリックまたはセルフホスト)
オプション 1: インストールせずに実行 (推奨)
このサーバーを使用する最も簡単な方法は、pipx または uvx を使用することです。これにより、パッケージを永続的にインストールせずに実行できます。
設定オプションを直接渡すことができます:
オプション2: PyPIまたはソースからインストールする
より永続的なインストールの場合:
インストール後、次のコマンドでサーバーを実行できます。
オプション3: Docker
Docker を使用する場合:
Docker の完全な使用方法については、以下のDocker 構成セクションを参照してください。
トランスポートプロトコル
MCP サーバーは、次の 2 つのトランスポート プロトコルをサポートしています。
- STDIO (デフォルト): CLIアプリケーションおよび直接統合用
- すべての例でデフォルトで使用される
- Claude Desktop やその他の MCP 準拠クライアントとの統合に適しています
- HTTPサーバーが起動されていません
- SSE (Server-Sent Events): WebベースのクライアントとHTTPベースの統合向け
- クライアントが接続できるHTTPサーバーを起動します
- リアルタイム更新が必要なWebアプリケーションやサービスに役立ちます
- Dockerを使用する場合はポートマッピングが必要です
SSEトランスポートの使用
SSE トランスポート プロトコルを使用するには:
- 直接実行の場合:Copy
- Dockerを使用する場合:Copy
- Docker Compose を使用する場合(付属の
docker-compose.yml
から):Copy
SSE を使用する場合、デフォルトではhttp://localhost:8000
で HTTP 経由でサーバーにアクセスできるようになります。
MCP クライアントから SSE サーバーに接続するには、次のような構成を使用します。
**注:**すべてのアプリケーションがSSEトランスポートプロトコルをサポートしているわけではありません。このトランスポート方式を使用する前に、MCPクライアントがSSEと互換性があることを確認してください。
発達
開発とテストの場合:
PyPIへの公開
パッケージの新しいバージョンを PyPI に公開する必要があるメンテナーの場合:
これらのコマンドは次のことを行います。
- package.json と pyproject.toml の両方のバージョンを更新します。
- distディレクトリをクリーンアップして古いビルドを削除します
- パッケージをビルドする(ホイールとソース配布物を作成する)
- パッケージにエラーがないか確認する
- パッケージをPyPIにアップロードする
PyPIアカウントとtwineによる認証が必要です。認証は以下の方法で設定できます。
- ホームディレクトリに
.pypirc
ファイルを作成する - 環境変数の使用(
TWINE_USERNAME
とTWINE_PASSWORD
) - PyPI APIトークンの使用(推奨)
Dockerの設定
MCP サーバーで Docker を使用する場合は、次の点に注意してください。
- MCP クライアントとの統合: Claude Desktop またはその他の MCP 準拠クライアントと統合するには、「Docker での使用」セクションに示されている構成を使用します。
- トランスポートプロトコル:
- デフォルトでは、Dockerコンテナはstdioトランスポートプロトコルを使用します。
- SSEトランスポートについては、 「SSEトランスポートの使用」セクションを参照してください。
- 設定オプション:
- 環境ファイル (.env) を使用してサーバーを構成します:
docker run --env-file .env ...
-e
フラグを使用して個々の環境変数を渡します:docker run -e SEARXNG_MCP_SEARXNG_URL=https://example.com ...
- 利用可能な環境変数については、構成セクションを参照してください。
- 環境ファイル (.env) を使用してサーバーを構成します:
- ネットワーキング:
- ホストマシン上のサービスにアクセスする必要がある場合は
--network=host
を使用します。 - SSEサーバーをネットワークに公開する場合は
-p 8000:8000
を使用します。
- ホストマシン上のサービスにアクセスする必要がある場合は
パッケージ構造
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
You must be authenticated.
Tools
SearxNG を使用した Web 検索機能を提供し、Claude などの AI アシスタントがプライバシーを尊重するメタ検索エンジンを使用して Web を検索できるようにします。
- Overview
- Integration with MCP-Compatible Applications
- Configuration
- Installation & Usage
- Transport Protocols
- Development
- Publishing to PyPI
- Docker Configuration
- Package Structure
- Contributing
- License