网页内容抓取服务器

一个模型上下文协议服务器,提供网页内容抓取功能,将HTML转换为Markdown以便于处理。适用于需要从网页提取和处理内容的场景。

  • by Eivs
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 Eivs/mcp-fetch

使用说明

获取MCP服务器

提供web内容获取功能的模型上下文协议服务器。此服务器使LLM能够从网页中检索和处理内容,将HTML转换为markdown以便于使用。

[!小心] 此服务器可以访问本地/内部IP地址,可能存在安全风险。使用此MCP服务器时请小心,以确保不会暴露任何敏感数据。

fetch工具将截断响应,但通过使用 start_index 参数,您可以指定从哪里开始内容提取。这让模型可以分块阅读网页,直到找到所需的信息。

可用工具

  • fetch -从互联网获取URL并将其内容提取为markdown。
    • url (字符串,必填):要获取的URL
    • max_length (整数,可选):返回的最大字符数(默认值:5000)
    • start_index (整数,可选):从此字符索引开始内容(默认值:0)
    • raw (boolean,可选):获取原始内容而不进行markdown转换(默认值:false)

运输方式

此服务器支持两种传输模式:

  1. 标准 (默认):本地过程通信的标准输入/输出
  2. 超文本传输协议:使用Streamable HTTP协议的基于HTTP的传输,带有可选的承载令牌身份验证

提示词

  • 获取
    • 获取一个URL并将其内容提取为markdown
    • 论据:
      • url (字符串,必填):要获取的URL

安装

可选:安装node.js,这将导致获取服务器使用更健壮的不同HTML简化器。

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 mcp服务器获取.

使用PIP

或者,您可以安装 mcp-server-fetch 通过pip:

pip install mcp-server-fetch

安装后,您可以使用以下命令将其作为脚本运行:

python -m mcp_server_fetch

配置

使用HTTP传输运行

要使用HTTP传输(流式HTTP协议)运行服务器:

# Basic HTTP server (no authentication)
python -m mcp_server_fetch --transport http --port 8000

# With Bearer token authentication
python -m mcp_server_fetch --transport http --port 8000 --auth-token your-secret-token

# With custom host and port
python -m mcp_server_fetch --transport http --host 0.0.0.0 --port 3000 --auth-token your-secret-token

当使用带有身份验证的HTTP传输时,客户端必须在Authorization标头中包含Bearer令牌:

Authorization: Bearer your-secret-token

安全说明:在本地主机之外公开HTTP服务器时,始终使用 --auth-token 保护您的服务器。

为Claude.app进行配置

添加到您的Claude设置中:

Using uvx
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
Using docker
{
  "mcpServers": {
    "fetch": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/fetch"]
    }
  }
}
Using pip installation
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"]
    }
  }
}

配置VS代码

为了快速安装,请使用下面的一键安装按钮之一。..

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 使用时需要密钥 mcp.json 文件。

Using uvx
{
  "mcp": {
    "servers": {
      "fetch": {
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      }
    }
  }
}
Using Docker
{
  "mcp": {
    "servers": {
      "fetch": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/fetch"]
      }
    }
  }
}

配置HTTP传输

使用HTTP传输时,配置MCP客户端以连接到HTTP端点:

{
  "mcpServers": {
    "fetch": {
      "url": "http://localhost:8000",
      "transport": "http"
    }
  }
}

如果使用承载令牌身份验证:

{
  "mcpServers": {
    "fetch": {
      "url": "http://localhost:8000",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer your-secret-token"
      }
    }
  }
}

定制-用户代理

默认情况下,根据请求是来自模型(通过工具)还是由用户发起(通过提示) 服务器将使用用户代理

ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)

或

ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)

这可以通过添加参数进行自定义 --user-agent=YourUserAgent 到 args 配置中的列表。

自定义-代理

可以使用以下命令将服务器配置为使用代理 --proxy-url 争论。

Windows配置

如果您在Windows上遇到超时问题,可能需要设置 PYTHONIOENCODING 环境变量,以确保正确的字符编码:

Windows configuration (uvx)
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}
Windows configuration (pip)
{
  "mcpServers": {
    "fetch": {
      "command": "python",
      "args": ["-m", "mcp_server_fetch"],
      "env": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

这解决了可能导致服务器在Windows系统上超时的字符编码问题。

调试

您可以使用MCP检查器调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch

或者,如果您已将软件包安装在特定目录中或正在其上开发:

cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run mcp-server-fetch

贡献

我们鼓励捐款以帮助扩展和改进mcp服务器获取。无论您是想添加新工具、增强现有功能还是改进文档,您的意见都是有价值的。

有关其他MCP服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers

欢迎拉取请求!请随时贡献新想法、错误修复或增强功能,使mcp服务器fetch更加强大和有用。

许可证

mcp服务器获取是根据MIT许可证授权的。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。