mcpField
O
openwebui-tool-server

openwebui-tool-server

本地服务
github.com/Oaklight搜索与检索249 周前更新

关于 openwebui-tool-server

已归档的网页搜索服务,面向 Open-WebUI、Cherry-Studio 等客户端,通过 OpenAPI 或 MCP 模式提供 Google 和 SearXNG 搜索;README 建议新部署改用 ToolRegistry-Hub Server Mode。

主要功能

  1. 01Google 和 SearXNG 网页搜索
  2. 02OpenAPI 与 MCP 模式
  3. 03Streamable HTTP 和 SSE 传输
  4. 04Bearer Token 身份验证

适用场景

  1. 01在兼容客户端中搜索网页
  2. 02通过 MCP 连接使用 SearXNG

MCP 相关

向 MCP 客户端提供网页搜索功能,支持 Streamable HTTP 和 SSE 模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

openwebui-tool-server

中文 | English

⚠️ 仓库已归档

此仓库已归档,不再积极维护。

请改用 ToolRegistry-Hub Server Mode:

Docker Image Version PyPI Version GitHub Release

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>

这将在 http://0.0.0.0:8000 上启动 OpenAPI 或 MCP 服务。

默认 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:

  1. 交互式 API 文档(Swagger UI) 打开浏览器并访问: http://127.0.0.1:8000/docs

  2. 替代 API 文档(ReDoc) 在以下地址查看 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",
      ]
    

环境变量配置

可通过以下环境变量配置服务:

  1. API_BEARER_TOKEN: 此令牌用于保护 API 端点。设置后,所有受保护路由都会通过 Bearer Token 验证启用身份验证。请求必须包含格式为 Bearer <your_token> 的 Authorization 标头。

    行为:

    • 设置后,verify_token 会强制执行令牌验证。
    • 未设置或为空时,verify_token 允许所有请求通过,无需身份验证(适用于测试,或无法提供每个请求的授权标头的 MCP 模式)。

    配置建议:

    • 对于 API 模式(openapi):建议在生产环境中设置 API_BEARER_TOKEN,以保护端点。
    • 对于 MCP 模式(mcp):通常无需身份验证即可运行(不设置 API_BEARER_TOKEN)。

    使用 Docker 的配置示例:

    -e API_BEARER_TOKEN="my_secure_token"
    
  2. 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。