Skip to main content
Glama
tisDDM

SearXNG MCP Server

SearXNG MCP サーバー

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

特徴

  • ゼロ構成セットアップ: SearX.spaceからランダムなパブリックインスタンスを使用してすぐに動作します

  • プライベートインスタンスのサポート: オプションの基本認証を使用して独自のSearXNGインスタンスに接続します

  • カスタマイズ可能なパラメータを使用してウェブ検索を実行する

  • 複数の検索エンジンのサポート

  • プライバシー重視の検索結果

  • Markdown形式の検索結果

  • すべてのパラメータの適切なデフォルト値

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

Related MCP server: Exa MCP Server

インストール

前提条件

  • 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~50

10

いいえ

// 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

ライセンス

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

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tisDDM/searxng-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server