掘金 人工智能 06月30日 09:49
【MCP】让Roo Code变身抓取神器
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了如何利用Fetch和FireCrawl MCP服务增强Roo Code的网页抓取能力。Fetch MCP专注于将HTML转换为Markdown,而FireCrawl MCP则提供企业级网页数据采集工具,支持JavaScript渲染、批量处理、深度爬取等高级功能。文章详细阐述了两种MCP的安装、配置和使用方法,以及在Roo Code中的应用,并提供了解决robots.txt反爬机制的建议。

💡 **Fetch MCP介绍与配置:** Fetch MCP是Anthropic官方提供的轻量级网页爬虫,可以将HTML转换为Markdown格式。它通过pip、uv或docker进行安装,Roo Code配置中需指定command和args。Fetch MCP支持url、max_length、start_index和raw参数,其中max_length可以设置抓取内容的最大长度。

🔥 **FireCrawl MCP介绍与配置:** FireCrawl MCP是基于FireCrawl API的企业级网页数据采集工具,支持JavaScript渲染等高级功能。用户需在FireCrawl官网注册并申请API Key。FireCrawl MCP支持通过npm或node安装,Roo Code配置中需设置API Key。它提供了firecrawl_scrape、firecrawl_batch_scrape等多种工具。

⚙️ **Roo Code中的使用方法:** 在Roo Code的MCP配置文件中,通过配置fetch和mcp-server-firecrawl,可以调用Fetch和FireCrawl MCP服务。配置完成后,可以在Roo Code中查看MCP服务的状态和工具列表。对于Fetch,如果需要获取完整的源码,建议将max_length设置大一些。

⚠️ **常见问题与解决方案:** 针对robots.txt反爬机制,Fetch MCP提供了--ignore-robots-txt参数来忽略robots.txt的限制。用户代理(user-agent)也可以通过参数设置,以模拟不同的浏览器。

前言

我们都知道Roo Code或者Cline是不具备抓取网页能力的,当我们需要Roo Code为我们获取网页内容时,Roo Code会调用想办法调用其他工具来获取网页内容

这个示例是Roo Code在终端调用了curl获取了HTML源码,Roo Code参考HTML提供的内容来做总结。

这种方式一般来说没什么问题,但是内容包含了大量的HTML代码是非必要内容,同时会造成tokens的消耗和模型回复效率的降低,为了解决这一问题,就需要我们今天要使用的 Fetch 和 FireCrawl MCP服务了。

Fetch MCP

Github地址:github.com/modelcontex…

Fetch MCP简介

Fetch MCP是Anthropic官方提供的一款专注于网页内容抓取的轻量级的网页爬虫服务器,它能够智能地将HTML内容转换为Markdown格式,特别适合与LLM(大语言模型)配合使用。

参数配置

Fetch MCP提供了如下参数配置

安装MCP

Fetch MCP提供了多种安装方式

# 使用pip$ pip install mcp-server-fetch# 运行mcppython -m mcp_server_fetch# 使用uvuvx mcp-server-fetch

客户端配置

在Roo Code MCP配置文件中添加如下配置

使用uvx

"mcpServers": {  "fetch": {    "command": "uvx",    "args": ["mcp-server-fetch"],    "env": {        "PYTHONIOENCODING": "utf-8"     }  }}

使用docker

"mcpServers": {  "fetch": {    "command": "docker",    "args": ["run", "-i", "--rm", "mcp/fetch"]  }}

使用pip

"mcpServers": {  "fetch": {    "command": "python",    "args": ["-m", "mcp_server_fetch"]  }}

在Roo Code中使用

配置完成后可以看到MCP服务的状态,Tools和Resources列表信息

如果设置了获取源码,建议将 max_length 设置大一点,否则Roo Code将会不断询问获取直至结束

FireCrawl MCP

Github地址:github.com/mendableai/…

FireCrawl MCP简介

FireCrawl MCP是MCP社区提供的一款基于FireCrawl API封装的企业级网页数据采集工具,专门针对复杂网页场景设计,支持JavaScript动态渲染、批量数据处理、智能内容搜索和深度网页爬取等高级功能。

核心功能

## 官网

官网地址:www.firecrawl.dev/

注册登录

点击【Sign Up】选择自己的方式进行注册登录

登录成功后即可看到FireCrawl控制台信息

产品定价

免费用户限制:

申请FireCrawl API Key

FireCrawl是收费的,免费用户每月有500次免费调用额度

使用FireCrawl MCP需要到FireCrawl官网申请API Key,FireCrawl默认创建了一个API Key,如果我们想创建新的API Key,可以点击【API Keys】进入API Keys页面

点击【Create API Key】输入API Key名称,点击【Create】

安装MCP

FireCrawl MCP支持通过npm进行安装

$ npm install -g firecrawl-mcp

客户端配置

在Roo Code MCP配置文件中添加如下配置

使用npx

{  "mcpServers": {    "mcp-server-firecrawl": {      "command": "npx",      "args": ["-y", "firecrawl-mcp"],      "env": {        "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"      }    }  }}

使用node

{  "mcpServers": {    "mcp-server-firecrawl": {      "command": "node",      "args": ["/user/path/firecrawl-mcp/dist/src/index.js"],      "env": {        "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"      }    }  }}

高级功能

FireCrawl MCP提供了多种工具调用:

在Roo Code中使用

配置完成后可以看到MCP服务的状态和Tools列表信息

常见问题

robots.txt反爬机制

如果网站设置了反爬机制我们将无法爬取内容

Fetch官方提供了相应方法进行处理

我们可以通过设置 --ignore-robots-txt 来忽略 robots.txt

{  "mcpServers": {    "fetch": {      "command": "uvx",      "args": ["mcp-server-fetch", "--ignore-robots-txt", "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"],      "env": {          "PYTHONIOENCODING": "utf-8"      }    }  }}

参考

友情提示

见原文:【MCP】让Roo Code变身抓取神器

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Roo Code 网页抓取 Fetch MCP FireCrawl MCP
相关文章