About openwebui-tool-server
An archived web-search server for Open-WebUI, Cherry-Studio, and similar clients. It exposes Google and SearXNG search through OpenAPI or MCP modes; the README directs new deployments to ToolRegistry-Hub Server Mode.
Key features
- 01Google and SearXNG web search
- 02OpenAPI and MCP modes
- 03Streamable HTTP and SSE transports
- 04Bearer token authentication
Use cases
- 01Searching the web from a supported client
- 02Using SearXNG through an MCP connection
MCP support
Exposes web-search functionality to MCP clients. It supports Streamable HTTP and SSE modes.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEopenwebui-tool-server
⚠️ Repository Archived
This repository has been archived and is no longer actively maintained.
Please use ToolRegistry-Hub Server Mode instead:
- 📖 Documentation: https://toolregistry-hub.readthedocs.io/en/latest/server/
- 🐳 Docker Image: https://hub.docker.com/r/oaklight/toolregistry-hub-server
- 📦 PyPI Package: https://pypi.org/project/toolregistry-hub/
- 🏷️ GitHub Repository: https://github.com/OakLight/toolregistry-hub
ToolRegistry-Hub Server Mode provides a more comprehensive and actively maintained solution for tool server functionality with better features and ongoing support. The new Docker image oaklight/toolregistry-hub-server replaces this repository's functionality.
Legacy Documentation
The following documentation is kept for historical reference only. For new deployments, please use ToolRegistry-Hub Server Mode.
Click to expand legacy documentation
Start the Server via Python
python main.py --port 8000 --host 0.0.0.0 --mode <openapi|mcp>
This will start the OpenAPI or MCP server on http://0.0.0.0:8000.
The default MCP mode is Streamable HTTP, URL is http://0.0.0.0:8000/mcp.
For SSE mode, add --mcp-mode sse, URL is http://0.0.0.0:8000/sse.
Start the Server via 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
or using docker compose:
docker compose up -d
Explore the API
Once the server is running, visit the following URLs:
-
Interactive API Documentation (Swagger UI) Open your browser and go to: http://127.0.0.1:8000/docs
-
Alternative API Documentation (ReDoc) View the ReDoc documentation at: http://127.0.0.1:8000/redoc
MCP / OpenAPI Mode Switch
The server supports running in multiple modes, configurable via command-line arguments:
-
OpenAPI Mode (default):
command: ["python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=openapi"] -
MCP Streamable HTTP Mode:
command: ["python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=mcp"] -
MCP SSE Mode:
command: [ "python", "main.py", "--host=0.0.0.0", "--port=8000", "--mode=mcp", "--mcp-mode=sse", ]
Environment Variable Configuration
The server can be configured with the following environment variables:
-
API_BEARER_TOKEN: This token is used for securing API endpoints. If set, it enables authentication for all protected routes using Bearer Token verification. Requests must include anAuthorizationheader with the format:Bearer <your_token>.Behavior:
- When set,
verify_tokenenforces token validation. - When unset or empty,
verify_tokenallows all requests without authentication (useful for testing, or MCP mode where per-request authorization headers are unavailable).
Configuration recommendation:
- For API mode (
openapi): SetAPI_BEARER_TOKENfor production to secure endpoints - For MCP mode (
mcp): Typically runs without authentication (API_BEARER_TOKENunset)
Example configuration with Docker:
-e API_BEARER_TOKEN="my_secure_token" - When set,
-
SEARXNG_BASE_URL: The base URL for SearXNG, a privacy-respecting metasearch engine. This is required for enabling functionality at/search_searxng.Behavior:
- If set, the
WebSearchSearxngtool uses this URL to perform queries. - If unset or empty, the
/search_searxngendpoint will be disabled (i.e., requests to this endpoint will raise an error) with a503 Service Unavailablestatus code. The error will explicitly state that the SearXNG search feature is not configured and suggest setting theSEARXNG_BASE_URL.
Configuration recommendation:
- For API mode (
openapi): Ensure proper configuration ofSEARXNG_BASE_URL - For MCP mode (
mcp): SearXNG can be optionally configured based on needs
Example configuration with Docker:
-e SEARXNG_BASE_URL="https://searxng.instance.com" - If set, the
Ensure environment variables are configured based on the server mode:
- API Mode (
openapi): It is recommended to setAPI_BEARER_TOKENfor production to secure endpoints and ensure proper configuration forSEARXNG_BASE_URL. - MCP Mode (
mcp): Integration scenarios often run without authentication (API_BEARER_TOKENunset), and SearXNG may optionally be configured depending on the need.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.