网页抓取工具

一个基于Rust的MCP服务器,提供通过URL获取网页内容的fetch工具。

  • by arapower
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 arapower/webfetch-mcp-server

使用说明

webfetch mcp服务器

概述

基于Rust的MCP服务器,提供 fetch 用于通过MCP协议通过URL检索网页内容的工具。

特性

  • 简单的网页下载器

入门/使用

创建 .devcontainer/devcontainer.json 如下:

devcontainer.json

这是将此存储库用作MCP服务器所需的最小devcontainer配置。
将以下文件放在 .devcontainer/devcontainer.json 在你的项目中。

注:
这是一个示例配置。
这 cargo 命令是安装所必需的,在指定的devcontainer映像中可用。
此配置允许您使用Visual Studio Code和Dev Containers扩展快速为webfetch mcp服务器设置开发环境。
在VS Code中打开项目后,选择 开发容器:在容器中重新打开 从命令面板开始在容器内开发。

{
    "image": "mcr.microsoft.com/devcontainers/rust:1-bullseye",
    "postCreateCommand": "cargo install --git https://github.com/arapower/webfetch-mcp-server.git"
}

VSCode中的MCP客户端设置

您可以通过创建以下命令在VSCode中配置MCP客户端 .vscode/mcp.json.
以下是每种配置的示例 type.

对于 type: "stdio"

{
  "servers": {
    "webfetch": {
      "type": "stdio",
      "command": "webfetch"
    }
  }
}
  • webfetch 使用标准输入/输出作为MCP服务器运行。

对于 type: "http"

{
  "servers": {
    "webfetch-api": {
      "type": "http",
      "url": "http://host.docker.internal:8040/mcp"
    }
  }
}
  • webfetch-api 通过HTTP在指定的URL连接到MCP服务器。

提取工具的示例用法

从MCP客户端发送如下请求:

{
  "url": "https://example.com"
}

您将收到网页的内容。

构建错误

根据您的构建环境,如果缺少OpenSSL开发包,您可能会遇到错误。
发生此错误的原因是Rust依赖项crate openssl-sys 在您的系统上找不到OpenSSL开发库(如头文件和.pc文件)。
您可以通过使用以下命令安装OpenSSL开发包来解决此问题:

  • Ubuntu/Debian:

    sudo apt-get update
    sudo apt-get install pkg-config libssl-dev
    
  • Fedora/RHEL:

    sudo dnf install pkg-config openssl-devel
    
  • Arch Linux:

    sudo pacman -S pkgconf openssl
    

故障排除/常见问题

  • Q webfetch 命令未找到
    A. 请快跑 cargo install --git https://github.com/arapower/webfetch-mcp-server.git 在Dev容器内。

  • Q 无法从MCP客户端连接
    A. 检查是否 command 设置 mcp.json 正确,并确保服务器正在运行。

许可证

麻省理工学院

致谢与推荐