网页内容获取服务器

一个基于模型上下文协议(MCP)的服务器,能够获取并处理网页内容,包括提取原始HTML、纯文本和Markdown格式转换。

  • by ruandwrd
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ruandwrd/web-fetch-mcp-server

使用说明

Web获取MCP服务器

一种模型上下文协议(MCP)服务器,使LLM能够获取和处理网页内容。此服务器提供用于检索原始HTML、提取干净文本和将网页转换为markdown格式的工具。

特性

  • fetch_网页:从任何URL检索原始HTML内容
  • fetch_webpage_text:提取没有HTML标记的干净文本内容
  • fetch_webpage_markdown:将网页转换为markdown格式

安装

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

使用LM Studio

要将此MCP服务器与LM Studio一起使用,您需要在MCP设置中对其进行配置。

配置

将以下内容添加到LM Studio MCP配置文件中(通常位于 ~/.lmstudio/mcp-settings.json 或类似):

{
  "mcpServers": {
    "web-fetch": {
      "command": "node",
      "args": ["D:\\Projects\\web search mcp\\dist\\index.js"]
    }
  }
}

调整路径以匹配您的实际安装目录。

替代方案:全球安装

您还可以全局安装服务器或使用npx:

npm install -g .

然后配置LM Studio以使用:

{
  "mcpServers": {
    "web-fetch": {
      "command": "web-fetch-mcp"
    }
  }
}

可用工具

1.fetch_webpage

获取网页的原始HTML内容。

输入:

  • url (string,必填):要获取的网页的URL

例子:

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

2.fetch_webpage_text

获取网页并提取没有HTML标签、脚本或样式的干净文本内容。

输入:

  • url (string,必填):要获取的网页的URL

例子:

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

3.fetch_webpage_markdown

获取网页并将其转换为markdown格式,保留标题、链接和列表等结构。

输入:

  • url (string,必填):要获取的网页的URL

例子:

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

发展

构建

npm run build

监视模式(更改后自动重建)

npm run dev

直接运行

npm start

技术细节

  • 协议:通过stdio传输的模型上下文协议(MCP)
  • HTTP客户端:Axios具有30秒超时和自动重定向处理功能
  • HTML解析:Cheerio用于高效的HTML解析
  • Markdown转换:拒绝高质量的HTML到Markdown转换
  • 用户代理:模仿现代浏览器以避免机器人检测

错误处理

该服务器包括全面的错误处理功能,用于:

  • 网络故障
  • URL无效
  • 超时错误
  • HTTP错误(404、500等)

错误以结构化格式返回,并带有描述性消息。

安全说明

  • 服务器从提供的任何URL获取内容
  • 从不受信任的来源获取内容时要小心
  • 考虑实现URL分配列表以供生产使用
  • 服务器尊重重定向(最多5个)

许可证

麻省理工学院