Fetch MCP Server with CSS selectors function
burnworks
README
使用 CSS 选择器功能的 MCP 服务器抓取工具
一个模型上下文协议服务器,提供网页内容抓取功能。该服务器使 LLM 能够从网页检索和处理内容,并将 HTML 转换为 Markdown 格式,以便更易于使用。
抓取工具会截断响应,但通过使用 start_index
参数,您可以指定内容提取的起始位置。这使模型可以分块读取网页,直到找到所需的信息。
可用工具
custom-fetch
- 从互联网抓取 URL 并将其内容提取为 Markdown 格式。url
(字符串,必需): 要抓取的 URLmax_length
(整数,可选): 返回的最大字符数(默认值:5000)start_index
(整数,可选): 从此字符索引开始内容(默认值:0)raw
(布尔值,可选): 获取原始内容而不进行 Markdown 转换(默认值:false)selector
(字符串,可选): 用于提取特定内容的 CSS 选择器、ID 或元素名称selector_type
(字符串,可选): 选择器类型:'css'、'id' 或 'element'
提示
- custom-fetch
- 抓取 URL 并将其内容提取为 Markdown 格式
- 参数:
url
(字符串,必需): 要抓取的 URLselector
(字符串,可选): 用于提取特定内容的 CSS 选择器、ID 或元素名称selector_type
(字符串,可选): 选择器类型:'css'、'id' 或 'element'
选择器功能
此增强版本包含强大的选择器功能,允许您从网页中提取特定内容:
选择器类型
-
ID 选择器: 通过其 ID 属性提取特定元素
{ "url": "https://example.com", "selector": "main-content", "selector_type": "id" }
-
元素选择器: 提取特定类型的第一个元素
{ "url": "https://example.com", "selector": "main", "selector_type": "element" }
-
CSS 选择器: 使用 CSS 选择器语法提取内容
{ "url": "https://example.com", "selector": ".article-content > p", "selector_type": "css" }
使用场景
- 仅从新闻站点提取主要文章内容
- 专注于文档页面的特定部分
- 精确定位您需要从大型网页中获取的内容
安装
可选:安装 node.js,这将导致抓取服务器使用更强大的 HTML 简化器。
使用 uv (推荐)
当使用 uv
时,无需进行特定安装。我们将使用 uvx
直接运行 burnworks-mcp-server-fetch。
使用 PIP
或者,您可以通过 pip 安装 burnworks-mcp-server-fetch
:
pip install burnworks-mcp-server-fetch
安装后,您可以将其作为脚本运行:
python -m burnworks_mcp_server_fetch
配置
为 Claude.app 配置
添加到您的 Claude 设置:
<details> <summary>使用 uvx</summary>
"mcpServers": {
"custom-fetch": {
"command": "uvx",
"args": ["burnworks-mcp-server-fetch"]
}
}
</details>
<details> <summary>使用 pip 安装</summary>
"mcpServers": {
"custom-fetch": {
"command": "python",
"args": ["-m", "burnworks_mcp_server_fetch"]
}
}
</details>
自定义 - robots.txt
默认情况下,如果请求来自模型(通过工具),服务器将遵守网站的 robots.txt 文件,但如果请求是由用户发起的(通过提示),则不会。可以通过将参数 --ignore-robots-txt
添加到配置中的 args
列表中来禁用此功能。
自定义 - User-agent
默认情况下,根据请求是来自模型(通过工具)还是由用户发起的(通过提示),服务器将使用 user-agent
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
参数将服务器配置为使用代理。
调试
您可以使用 MCP inspector 调试服务器。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx burnworks-mcp-server-fetch
或者,如果您已将软件包安装在特定目录中或正在开发它:
cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run burnworks-mcp-server-fetch
选择器使用示例
仅提取主要内容区域
custom-fetch
url: https://example.com/article
selector: main
selector_type: element
按 ID 提取内容
custom-fetch
url: https://example.com/blog
selector: article-body
selector_type: id
使用复杂的 CSS 选择器提取
custom-fetch
url: https://example.com/documentation
selector: .content-wrapper article > section:first-child
selector_type: css
贡献
此项目 burnworks_mcp_server_fetch
是作为原始 mcp-server-fetch 的一个分支开发的,并添加了 CSS 选择器功能。原始项目可以在以下位置找到:
https://github.com/modelcontextprotocol/servers
如果您想为这个增强版本做出贡献,请随时向我们的存储库提交问题或拉取请求。有关基本 MCP 服务器架构和实现模式的信息,请参阅上面的原始项目链接。
许可证
本项目采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。