SearXNG MCP Server

by tisDDM
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports configuration via .env files for setting SearXNG URL and optional authentication credentials

  • Provides search results in Markdown format for better readability and structure

  • Enables running as a Node.js-based MCP server that can be integrated with VSCode and other environments

SearXNG MCP サーバー

AIアシスタントがプライバシーを尊重するメタ検索エンジンであるSearXNGを使用してウェブ検索実行できるようにする、モデルコンテキストプロトコル(MCP)サーバーです。SearX.spaceからランダムなインスタンスを自動的に選択することで、追加のデプロイメントなしですぐに使用できます。また、基本認証によるプライベートインスタンスもサポートしています。

特徴

  • ゼロ構成セットアップ: SearX.spaceからランダムなパブリックインスタンスを使用してすぐに動作します
  • プライベートインスタンスのサポート: オプションの基本認証を使用して独自のSearXNGインスタンスに接続します
  • カスタマイズ可能なパラメータを使用してウェブ検索を実行する
  • 複数の検索エンジンのサポート
  • プライバシー重視の検索結果
  • Markdown形式の検索結果
  • すべてのパラメータの適切なデフォルト値

注意 - パブリックインスタンスはこの目的では利用できない可能性があり、「ステータスコード429でリクエストが失敗しました」というメッセージが返されます。

インストール

前提条件

  • Node.js (v16 以上)
  • npm (v7以上)
  • SearXNG インスタンスへのアクセス (セルフホストまたはパブリック)

ソースからインストール

# Clone the repository git clone https://github.com/tisDDM/searxng-mcp.git cd searxng-mcp # Install dependencies npm install # Build the project npm run build

構成

SearXNG MCP サーバーは、次の環境変数を使用して構成できます。

  • SEARXNG_URL (オプション): SearXNGインスタンスのURL (例: https://searx.example.com )。指定しない場合は、 SearX.spaceからランダムにパブリックインスタンスが自動的に選択され、追加のデプロイメントなしでサーバーが使用可能になります。
  • USE_RANDOM_INSTANCE (オプション): URLが指定されていない場合にランダムインスタンスの選択を無効にするには、「false」に設定します。デフォルトは「true」です。
  • SEARXNG_USERNAME (オプション): プライベートインスタンスに接続する際の基本認証のユーザー名
  • SEARXNG_PASSWORD (オプション): プライベートインスタンスに接続する際の基本認証のパスワード

これらの環境変数は、プロジェクトのルート ディレクトリにある.envファイルで設定できます。

SEARXNG_URL=https://searx.example.com SEARXNG_USERNAME=your_username SEARXNG_PASSWORD=your_password

使用法

サーバーの実行

# If installed globally searxngmcp # If installed from source node build/index.js

Claude Desktopとの統合

  1. クロードデスクトップを開く
  2. 設定 > MCPサーバーへ移動
  3. 次の構成で新しい MCP サーバーを追加します。
    { "mcpServers": { "searxngmcp": { "command": "searxngmcp", "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } }

VSCodeでClaudeと統合する

  1. VSCodeを開く
  2. 設定 > 拡張機能 > Claude > MCP設定に移動します
  3. 次の構成で新しい MCP サーバーを追加します。
    { "mcpServers": { "searxngmcp": { "command": "node", "args": ["/path/to/searxng-mcp/build/index.js"], "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } }

スモラジェントとの使用

SearXNG MCPは、AIエージェント構築用の軽量フレームワークであるSmolagentsと簡単に統合できます。これにより、Webを検索して結果を処理できる強力なリサーチエージェントを作成できます。

from smolagents import CodeAgent, LiteLLMModel, ToolCollection from mcp import StdioServerParameters # Configure the SearXNG MCP server server_parameters = StdioServerParameters( command="node", args=["path/to/searxng-mcp/build/index.js"], env={ "SEARXNG_URL": "https://your-searxng-instance.com", "SEARXNG_USERNAME": "your_username", # Optional "SEARXNG_PASSWORD": "your_password" # Optional } ) # Create a tool collection from the MCP server with ToolCollection.from_mcp(server_parameters) as tool_collection: # Initialize your LLM model model = LiteLLMModel( model_id="your-model-id", api_key="your-api-key", temperature=0.7 ) # Create an agent with the search tools search_agent = CodeAgent( name="search_agent", tools=tool_collection.tools, model=model ) # Run the agent with a search prompt result = search_agent.run( "Perform a search about: 'climate change solutions' and summarize the top 5 results." ) print(result)

利用可能なツール

検索検索

プライバシーを尊重するメタ検索エンジンSearXNGを使用してWeb検索を実行します。カスタマイズ可能なパラメータを使用して、関連するWebコンテンツを返します。

パラメータ

パラメータタイプ説明デフォルト必須
クエリ検索クエリ-はい
言語検索結果の言語コード(例:'en'、'de'、'fr')「en」いいえ
時間範囲検索結果の期間。オプション: 「日」、「週」、「月」、「年」ヌルいいえ
カテゴリー文字列の配列検索するカテゴリ(例:「一般」、「画像」、「ニュース」)ヌルいいえ
エンジン文字列の配列使用する特定の検索エンジンヌルいいえ
セーフサーチ番号セーフサーチレベル: 0 (オフ)、1 (中)、2 (厳密)1いいえ
ページノ番号結果のページ番号。最低1が必要です。1いいえ
最大結果数番号返される検索結果の最大数。範囲: 1~5010いいえ

// Example request const result = await client.callTool('searxngsearch', { query: 'climate change solutions', language: 'en', time_range: 'year', categories: ['general', 'news'], safesearch: 1, max_results: 5 });

発達

設定

# Clone the repository git clone https://github.com/tisDDM/searxng-mcp.git cd searxng-mcp # Install dependencies npm install

建てる

npm run build

ウォッチモード(開発用)

npm run watch

MCP Inspectorによるテスト

npm run inspector

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

AI アシスタントがプライバシーを尊重するメタ検索エンジンである SearXNG を使用して Web 検索を実行できるようにするモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Installation
      1. Prerequisites
      2. Install from source
    2. Configuration
      1. Usage
        1. Running the server
        2. Integrating with Claude Desktop
        3. Integrating with Claude in VSCode
      2. Usage with Smolagents
        1. Available Tools
          1. searxngsearch
        2. Development
          1. Setup
          2. Build
          3. Watch mode (for development)
          4. Testing with MCP Inspector
        3. License
          ID: tjp57fcil2