Token导航 LogoToken导航TokenDH.com
WebSurfer MCP logo
安全风控stdio官方级别未说明来源级核验

WebSurfer MCP

MCP Server

WebSurfer MCP是一款为大型语言模型(LLMs)提供安全高效网页内容访问的服务器,具备高级URL验证、优化内容提取和资源管理等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
大型语言模型PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

crybo-rybo

提供方

crybo-rybo

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run websurfer-mcp serve

详细介绍

WebSurfer MCP

Securely fetch and extract clean text from the web for LLMs.

MCP Server • src-layout Python package • SSRF Protection

WebSurfer是一个模型上下文协议(MCP)服务器,旨在为大型语言模型(LLM)提供安全高效的web内容访问。

核心功能

  • 高级URL验证:使用 ipaddress 模块,用于在发生任何获取之前阻止私有、环回、链接本地和保留目标。
  • 优化内容提取:利用 trafilaturaBeautifulSoup4 从HTML中提取高质量、可读的文本,有效地删除导航、标题和脚本等样板。
  • 资源管理:强制执行严格的内容大小限制和请求超时,以确保系统稳定性和性能。
  • 重定向安全:验证每个重定向跳转,并拒绝重定向到被阻止的方案、本地主机、私有IP文字或不安全的DNS目标。
  • 速率限制:内置请求限制,以防止服务滥用和管理资源消耗。
  • 稳健的错误处理:为网络问题、HTTP错误和内容解析失败提供精细反馈。

项目布局

websurfer-mcp/
├── src/websurfer_mcp/
│   ├── cli.py
│   ├── config.py
│   ├── extractor.py
│   ├── networking.py
│   ├── server.py
│   └── url_validation.py
├── tests/
├── docs/images/
├── pyproject.toml
└── run_tests.py

关键运行时组件:

  • WebSurferServer:MCP运输和工具登记。
  • TextExtractor:异步HTTP获取和可读文本提取。
  • SafeResolver:拒绝私有和保留IP答案的DNS解析保护。
  • URLValidator:URL规范化和SSRF重点验证。
  • Config:环境驱动的运行时配置。

安装

先决条件

  • Python 3.12或更高版本
  • 紫外线 包管理器

设置

  1. 克隆存储库:
   git clone https://github.com/crybo-rybo/websurfer-mcp
   cd websurfer-mcp
  1. 安装运行时依赖项:
   uv sync
  1. 安装开发工具:
   uv sync --group dev

用法

服务器执行

服务器通过标准I/O(stdio)进行通信,并与任何符合MCP的客户端兼容。

使用控制台脚本或包模块:

uv run websurfer-mcp serve
uv run python -m websurfer_mcp serve

手动测试

您可以直接从命令行验证提取功能:

uv run websurfer-mcp test --url "https://example.com"

桌面客户端集成

克劳德桌面版

要将WebSurfer MCP与Claude Desktop一起使用,请将以下配置添加到您的 claude_desktop_config.json 文件。

路径位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

配置:

替换 /path/to/websurfer-mcp 带有克隆存储库的绝对路径。

更新配置后,重新启动Claude Desktop以启用 search_url 工具。

{
  "mcpServers": {
    "websurfer": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/websurfer-mcp",
        "run",
        "python",
        "-m",
        "websurfer_mcp",
        "serve"
      ]
    }
  }
}

配置

可以使用以下环境变量配置服务器:

变量默认值描述
MCP_DEFAULT_TIMEOUT10默认请求超时时间(秒)。
MCP_MAX_TIMEOUT60允许的最大超时时间(秒)。
MCP_MAX_REDIRECTS10要遵循的最大重定向跳数。
MCP_USER_AGENTwebsurfer-mcp/0.2.0传出请求的用户代理字符串。
MCP_MAX_CONTENT_LENGTH10485760最大内容大小(以字节为单位)(默认10MB)。

发展

运行测试套件:

uv run pytest

运行质量检查:

uv run ruff check .
uv run ruff format .

运行一个聚焦模块:

uv run python run_tests.py --module test_server

安全

WebSurfer MCP的设计以安全性为首要考虑因素。它明确地阻止了:

  • 私有IP范围(例如10.0.0.0/8、192.168.0.0/16)
  • 环回地址(例如127.0.0.1,::1)
  • 链接本地和保留地址
  • 非HTTP/HTTPS方案(例如,file://、ftp://、javascript:)
  • 将跳转重定向到被阻止的目的地
  • 将公共主机名解析为私有或保留IP的DNS应答

______________________________________________________________________

与开发 模型上下文协议.

目录标签

目录标签

大型语言模型PythonClaude网页内容提取本地部署URL验证内容安全资源管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP