网页搜索与获取工具

MCP Web Utilities Server 是一个轻量级服务器,通过 MCP 和 OpenAPI HTTP 提供网页搜索和页面获取功能,适用于需要集成搜索和内容提取的应用场景。

  • by RocwoDev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 RocwoDev/McpServer

使用说明

MCP Web实用程序服务器

轻量级服务器通过以下方式公开web搜索和页面获取:

  • MCP(stdio)对于MCP客户
  • OpenAPI HTTP(FastAPI)

特性

  • search_on_web 和 search_on_website 使用 ddgs (DDGS|Dux分布式全球搜索,一个多源搜索引擎)。
  • fetch_webpage 它使用以下命令返回简化的Markdown crawl4ai 具有隐形设置。

需求

  • Python 3.13+
  • uv 安装

设置

安装 uv 在Windows(PowerShell)上:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv sync

然后激活虚拟环境并运行爬虫安装程序:

.venv\Scripts\activate
crawl4ai-setup

运行服务器

MCP(stdio):

uv run src\main.py

或者在开发时:

start_mcp_server.cmd

OpenAPI HTTP(127.0.0.1:8000):

uv run uvicorn src.mainhttp:app --host 127.0.0.1 --port 8000

或者在开发时:

start_mcp_server_http.cmd

OpenAPI架构:

http://127.0.0.1:8000/openapi.json

LM工作室配置

要在LM Studio中使用此服务器,请将以下内容添加到MCP设置中(mcp.json):

{
  "mcpServers": {
    "web-utilities": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\Dev\\McpServer",
        "run",
        "src\\main.py"
      ]
    }
  }
}

注:更换 D:\\Dev\\McpServer 了解项目的实际路径。

工具

search_on_web(query: str, results: int = 10) -> str

  • 返回格式如下的结果:
[title](url)
description

search_on_website(query: str, sites: list[str], results: int = 10) -> str

  • 格式相同,仅限于提供的 sites.

fetch_webpage(target_url: str) -> str

  • 返回目标页面的简化Markdown。

OpenAPI端点

  • GET /search/web?query=...&results=10
  • GET /search/website?query=...&sites=example.com&sites=docs.python.org&results=10
  • GET /webpage?target_url=https://example.com
  • GET /date

测试

python -m unittest src.tests

备注

  • 避免写信给 STDOUT (例如。, print)当服务器正在运行时;它将中断JSON RPC通信。
  • 如果外部服务在当前环境中被阻止,则网络相关测试可能会失败。