Skip to main content
Glama
Sacode

SearxNG MCP Server

by Sacode

SearxNG MCP サーバー

SearxNG を使用して Web 検索機能を提供し、Claude などの AI アシスタントによる Web 検索を可能にするモデル コンテキスト プロトコル (MCP) サーバー。

人間の監督の下で AI によって作成されました。人工知能であっても、コーヒー休憩を取るタイミングを誰かに指示してもらう必要がある場合があるからです。🤖☕

概要

このプロジェクトは、プライバシーを尊重するメタ検索エンジンであるSearxNGに接続するMCPサーバーを実装します。このサーバーは、大規模言語モデルがユーザーを追跡することなくWebを検索するためのシンプルで効率的な方法を提供します。

このサーバーはLLM向けに特別に設計されており、コンテキストウィンドウの使用を最小限に抑えるために必要不可欠な機能のみを搭載しています。この合理化されたアプローチにより、LLMと検索エンジン間の通信が効率的になり、貴重なコンテキスト空間をより重要な情報のために確保できます。

特徴

  • SearxNGによるプライバシー重視のウェブ検索

  • LLM統合のためのシンプルなAPI

  • Claude Desktopおよびその他のMCP準拠クライアントと互換性があります

  • 設定可能な検索パラメータ

  • LLM 向けに最適化された、整理された検索結果

Related MCP server: MCP SearxNG Search

MCP互換アプリケーションとの統合

統合例

pipx run を使用する(推奨、インストールは不要)

ホームディレクトリに.claudercファイルを作成します。

{
  "mcpServers": {
    "searxng": {
      "command": "pipx",
      "args": [
        "run", "searxng-simple-mcp@latest"
      ],
      "env": {
        "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com"
      }
    }
  }
}

uvx run を使用する(インストールは不要)

{
  "mcpServers": {
    "searxng": {
      "command": "uvx",
      "args": [
        "run", "searxng-simple-mcp@latest"
      ],
      "env": {
        "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com"
      }
    }
  }
}

pip で Python を使用する (インストールが必要)

{
  "mcpServers": {
    "searxng": {
      "command": "python",
      "args": ["-m", "searxng_simple_mcp.server"],
      "env": {
        "SEARXNG_MCP_SEARXNG_URL": "https://your-instance.example.com"
      }
    }
  }
}

Docker での使用 (インストール不要)

{
  "mcpServers": {
    "searxng": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--network=host",
        "-e", "SEARXNG_MCP_SEARXNG_URL=http://localhost:8080",
        "ghcr.io/sacode/searxng-simple-mcp:latest"
      ]
    }
  }
}

注意: MCP サーバーで Docker を使用する場合:

  1. envオブジェクトは Docker コンテナに適切に渡されないため、環境変数はargs配列の-eフラグを使用して直接渡す必要があります。

  2. ローカルホスト(例: http://localhost:8080 )で実行されているSearxNGインスタンスにアクセスする必要がある場合は、コンテナがホストのネットワークにアクセスできるように、 --network=hostフラグを使用する必要があります。そうしないと、コンテナ内の「localhost」はホストマシンではなく、コンテナ自体を参照することになります。

  3. --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 を使用することです。これにより、パッケージを永続的にインストールせずに実行できます。

# Using pipx
pip install pipx  # Install pipx if you don't have it
pipx run searxng-simple-mcp

# OR using uvx
pip install uvx  # Install uvx if you don't have it
uvx run searxng-simple-mcp

設定オプションを直接渡すことができます:

# Using pipx with custom SearxNG instance
pipx run searxng-simple-mcp --searxng-url https://your-instance.example.com

オプション2: PyPIまたはソースからインストールする

より永続的なインストールの場合:

# From PyPI using pip
pip install searxng-simple-mcp

# OR using uv (faster installation)
pip install uv
uv pip install searxng-simple-mcp

# OR from source
git clone https://github.com/Sacode/searxng-simple-mcp.git
cd searxng-simple-mcp
pip install uv
uv pip install -e .

インストール後、次のコマンドでサーバーを実行できます。

# Run directly after installation
python -m searxng_simple_mcp.server

# OR with configuration options
python -m searxng_simple_mcp.server --searxng-url https://your-instance.example.com

オプション3: Docker

Docker を使用する場合:

# Pull the Docker image
docker pull ghcr.io/sacode/searxng-simple-mcp:latest

# Run the container with default settings (stdio transport)
docker run --rm -i ghcr.io/sacode/searxng-simple-mcp:latest

# Run with environment file for configuration
docker run --rm -i --env-file .env ghcr.io/sacode/searxng-simple-mcp:latest

# Run with SSE transport (starts HTTP server on port 8000)
docker run -p 8000:8000 -e TRANSPORT_PROTOCOL=sse ghcr.io/sacode/searxng-simple-mcp:latest

# Building locally
docker build -t searxng-simple-mcp:local .
docker run --rm -i searxng-simple-mcp:local

# Using Docker Compose
docker-compose up -d

Docker の完全な使用方法については、以下のDocker 構成セクションを参照してください。

トランスポートプロトコル

MCP サーバーは、次の 2 つのトランスポート プロトコルをサポートしています。

  • STDIO (デフォルト): CLIアプリケーションおよび直接統合用

    • すべての例でデフォルトで使用される

    • Claude Desktop やその他の MCP 準拠クライアントとの統合に適しています

    • HTTPサーバーが起動されていません

  • SSE (Server-Sent Events): WebベースのクライアントとHTTPベースの統合向け

    • クライアントが接続できるHTTPサーバーを起動します

    • リアルタイム更新が必要なWebアプリケーションやサービスに役立ちます

    • Dockerを使用する場合はポートマッピングが必要です

SSEトランスポートの使用

SSE トランスポート プロトコルを使用するには:

  1. 直接実行の場合

    # Set the transport protocol to SSE
    TRANSPORT_PROTOCOL=sse python -m searxng_simple_mcp.server
    
    # Or with FastMCP
    fastmcp run src/searxng_simple_mcp/server.py --transport sse
  2. Dockerを使用する場合:

    # Run with SSE transport protocol
    docker run -p 8000:8000 -e TRANSPORT_PROTOCOL=sse -e SEARXNG_MCP_SEARXNG_URL=https://your-instance.example.com ghcr.io/sacode/searxng-simple-mcp:latest
  3. Docker Compose を使用する場合(付属のdocker-compose.ymlから):

    environment:
      - SEARXNG_MCP_SEARXNG_URL=https://searx.info
      - SEARXNG_MCP_TIMEOUT=10
      - SEARXNG_MCP_MAX_RESULTS=20
      - SEARXNG_MCP_LANGUAGE=all
      - TRANSPORT_PROTOCOL=sse # Transport protocol: stdio or sse

SSE を使用する場合、デフォルトではhttp://localhost:8000で HTTP 経由でサーバーにアクセスできるようになります。

MCP クライアントから SSE サーバーに接続するには、次のような構成を使用します。

{
  "mcpServers": {
    "searxng": {
      "url": "http://localhost:8000",
      "transport": "sse"
    }
  }
}

**注:**すべてのアプリケーションがSSEトランスポートプロトコルをサポートしているわけではありません。このトランスポート方式を使用する前に、MCPクライアントがSSEと互換性があることを確認してください。

発達

開発とテストの場合:

# Install dependencies
uv pip install -e .

# Run linter and formatter
ruff check .
ruff check --fix .
ruff format .

# Run the server directly
python -m src.searxng_simple_mcp.server

# OR using FastMCP
fastmcp run src/searxng_simple_mcp/server.py  # Use stdio transport (default)
fastmcp run src/searxng_simple_mcp/server.py --transport sse  # Use sse transport

# Run in development mode (launches MCP Inspector)
fastmcp dev src/searxng_simple_mcp/server.py

PyPIへの公開

パッケージの新しいバージョンを PyPI に公開する必要があるメンテナーの場合:

# Install development dependencies
npm run install:deps

# Clean, build, and check the package
npm run build:package
npm run check:package

# Publish to PyPI (requires PyPI credentials)
npm run publish:pypi

# Alternatively, use the all-in-one commands to update version and publish
npm run publish:patch  # Increments patch version (1.0.1 -> 1.0.2)
npm run publish:minor  # Increments minor version (1.0.1 -> 1.1.0)
npm run publish:major  # Increments major version (1.0.1 -> 2.0.0)

これらのコマンドは次のことを行います。

  1. package.json と pyproject.toml の両方のバージョンを更新します。

  2. distディレクトリをクリーンアップして古いビルドを削除します

  3. パッケージをビルドする(ホイールとソース配布物を作成する)

  4. パッケージにエラーがないか確認する

  5. パッケージをPyPIにアップロードする

PyPIアカウントとtwineによる認証が必要です。認証は以下の方法で設定できます。

  • ホームディレクトリに.pypircファイルを作成する

  • 環境変数の使用( TWINE_USERNAMETWINE_PASSWORD

  • PyPI APIトークンの使用(推奨)

Dockerの設定

MCP サーバーで Docker を使用する場合は、次の点に注意してください。

  1. MCP クライアントとの統合: Claude Desktop またはその他の MCP 準拠クライアントと統合するには、「Docker での使用」セクションに示されている構成を使用します。

  2. トランスポートプロトコル:

    • デフォルトでは、Dockerコンテナはstdioトランスポートプロトコルを使用します。

    • SSEトランスポートについては、 「SSEトランスポートの使用」セクションを参照してください。

  3. 設定オプション:

    • 環境ファイル (.env) を使用してサーバーを構成します: docker run --env-file .env ...

    • -eフラグを使用して個々の環境変数を渡します: docker run -e SEARXNG_MCP_SEARXNG_URL=https://example.com ...

    • 利用可能な環境変数については、構成セクションを参照してください。

  4. ネットワーキング:

    • ホストマシン上のサービスにアクセスする必要がある場合は--network=hostを使用します。

    • SSEサーバーをネットワークに公開する場合は-p 8000:8000を使用します。

パッケージ構造

searxng-simple-mcp/
├── src/
│   ├── run_server.py         # Entry point script
│   └── searxng_simple_mcp/   # Main package
├── docker-compose.yml        # Docker Compose configuration
├── Dockerfile                # Docker configuration
└── pyproject.toml            # Python project configuration

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

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/Sacode/searxng-simple-mcp'

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