openwebui-tool-server について
Open-WebUIやCherry-Studioなど向けの、アーカイブ済みウェブ検索サーバーです。OpenAPIまたはMCP経由でGoogleとSearXNGを利用でき、新規導入にはToolRegistry-Hub Server Modeが案内されています。
主な機能
- 01GoogleとSearXNGのウェブ検索
- 02OpenAPIとMCPのモード
- 03Streamable HTTPとSSEのトランスポート
- 04Bearer Token認証
活用シーン
- 01対応クライアントからのウェブ検索
- 02MCP接続でのSearXNG利用
MCP 対応
MCPクライアントにウェブ検索機能を提供します。Streamable HTTPとSSEのモードに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
openwebui-tool-server
⚠️ リポジトリはアーカイブ済みです
このリポジトリはアーカイブされており、現在はメンテナンスされていません。
代わりに ToolRegistry-Hub Server Mode をご利用ください:
- 📖 ドキュメント:https://toolregistry-hub.readthedocs.io/en/latest/server/
- 🐳 Docker イメージ:https://hub.docker.com/r/oaklight/toolregistry-hub-server
- 📦 PyPI パッケージ:https://pypi.org/project/toolregistry-hub/
- 🏷️ GitHub リポジトリ:https://github.com/OakLight/toolregistry-hub
ToolRegistry-Hub Server Mode は、ツールサーバー機能に対して、より優れた機能と継続的なサポートを備えた、より包括的で積極的にメンテナンスされているソリューションを提供します。新しい Docker イメージ oaklight/toolregistry-hub-server は、このリポジトリの機能を置き換えます。
従来のドキュメント
以下のドキュメントは、履歴を参照する目的でのみ残されています。新たにデプロイする場合は、ToolRegistry-Hub Server Mode をご利用ください。
クリックして従来のドキュメントを展開
Python でサーバーを起動する
python main.py --port 8000 --host 0.0.0.0 --mode <openapi|mcp>
これにより、OpenAPI サーバーまたは MCP サーバーが http://0.0.0.0:8000 で起動します。
デフォルトの MCP モードは Streamable HTTP で、URL は http://0.0.0.0:8000/mcp です。
SSE モードの場合は --mcp-mode sse を追加します。URL は http://0.0.0.0:8000/sse です。
Docker でサーバーを起動する
docker run -p 8000:8000 \
--name openwebui-tool-server \
-e API_BEARER_TOKEN="your_token_here" \
-e SEARXNG_BASE_URL="https://searxng.url" \
oaklight/openwebui-tool-server:latest
または、docker compose を使用します:
docker compose up -d
API を確認する
サーバーが起動したら、以下の URL にアクセスしてください:
-
対話型 API ドキュメント(Swagger UI) ブラウザーを開き、次の URL にアクセスします: http://127.0.0.1:8000/docs
-
別の API ドキュメント(ReDoc) 次の URL で ReDoc ドキュメントを確認します: http://127.0.0.1:8000/redoc
MCP / OpenAPI モードの切り替え
このサーバーは、コマンドライン引数で設定できる複数のモードでの実行をサポートしています:
-
OpenAPI モード(デフォルト):
command: ["python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=openapi"] -
MCP Streamable HTTP モード:
command: ["python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=mcp"] -
MCP SSE モード:
command: [ "python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=mcp", "--mcp-mode=sse", ]
環境変数の設定
サーバーは、以下の環境変数で設定できます。
-
API_BEARER_TOKEN: このトークンは、API エンドポイントを保護するために使用されます。設定すると、Bearer Token の検証によって、保護されたすべてのルートで認証が有効になります。リクエストには、次の形式のAuthorizationヘッダーを含める必要があります:Bearer <your_token>。動作:
- 設定されている場合、
verify_tokenがトークンの検証を強制します。 - 未設定または空の場合、
verify_tokenは認証なしですべてのリクエストを許可します(テストや、リクエストごとの認証ヘッダーを利用できない MCP モードで便利です)。
設定に関する推奨事項:
- API モード(
openapi):本番環境では、エンドポイントを保護するためにAPI_BEARER_TOKENを設定してください - MCP モード(
mcp):通常、認証なしで実行します(API_BEARER_TOKENは未設定)
Docker を使用した設定例:
-e API_BEARER_TOKEN="my_secure_token" - 設定されている場合、
-
SEARXNG_BASE_URL: プライバシーを尊重するメタ検索エンジン、SearXNG のベース URL です。/search_searxngの機能を有効にするには、この設定が必要です。動作:
- 設定されている場合、
WebSearchSearxngツールはこの URL を使用して検索を実行します。 - 未設定または空の場合、
/search_searxngエンドポイントは無効になります(このエンドポイントへのリクエストはエラーになります)。ステータスコード503 Service Unavailableが返され、SearXNG 検索機能が設定されていないこと、およびSEARXNG_BASE_URLの設定を促す内容が明示されます。
設定に関する推奨事項:
- API モード(
openapi):SEARXNG_BASE_URLが適切に設定されていることを確認してください - MCP モード(
mcp):必要に応じて SearXNG を設定できます
Docker を使用した設定例:
-e SEARXNG_BASE_URL="https://searxng.instance.com" - 設定されている場合、
サーバーモードに応じて、環境変数が設定されていることを確認してください。
- API モード(
openapi):エンドポイントを保護するため、本番環境ではAPI_BEARER_TOKENを設定し、SEARXNG_BASE_URLが適切に設定されていることを確認することを推奨します。 - MCP モード(
mcp):連携シナリオでは、認証なし(API_BEARER_TOKENは未設定)で実行することが多く、必要に応じて SearXNG を設定できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。