lilFetch
一个MCP(模型上下文协议)服务器,使用 crawl4ai Playwright提供更强大的抓取功能。在VSCode中的CoPilot上进行了测试,但可能适用于其他人。
特性
- 直接在聊天提示中启用一个或多个url的html和/或文本抓取。在后续查询中使用抓取的响应进行市场研究总结、创建新文件的上下文等。
- 利用Playwright和Chromium的无头实例加载JS繁重的网站和web应用程序
#fetch和curl命令不到位。 - 强烈关注安装和抓取所需的最小命令和配置。
先决条件
安装前,确保:
- Node.js 14+:从下载 或通过Homebrew(
brew install node在macOS上)。 - Python 3.10+:在设置过程中自动检测到。从以下位置安装 python.org 或自制(
brew install python@3.12在macOS上)。如果使用pyenv,请将3.10+版本设置为活动状态(pyenv global 3.12.0). - 首次运行时间:安装程序下载约200MB(Playwright浏览器),需要1-2分钟。
安装
全局安装以跨工作区使用,或者如果您只想在此仓库中测试或进一步增强,则限制为本地安装。
选项1:全局安装
用于跑步 npx lilfetch 从任何目录(便携式CLI)。
- 克隆Repo
git clone https://github.com/jphdevsf/lilfetch-mcp.git lilfetch-mcp
cd lilfetch-mcp- 全球安装
npm run global-install- 在中设置Python venv ~/.lilfetch-venv (用户范围)。
- 在任何VS代码工作区中配置(添加到
.vscode/mcp.json或全局MCP设置):
{
"servers": {
"lilFetch": {
"type": "stdio",
"command": "npx",
"args": ["lilfetch"]
}
}
}- 测试IT
- 在新的终端窗口中,运行 npx lilfetch 启动MCP服务器。 - 在VS Code中,用类似的东西提示。..
Use lilFetch to scrape top news headlines from www.cnn.com and write to a markdown file in root of my repo.选项2:本地安装
用于在仓库中进行测试/扩展。
- 克隆Repo
git clone https://github.com/jphdevsf/lilfetch-mcp.git lilfetch-mcp
cd lilfetch-mcp- 本地安装
npm install- 设置 ./node_modules/lilfetch/ 和 .bin/lilfetch. - Python仓库中的venv .venv (本项目本地)。
- MCP.json工作区配置
引导到 .vscode/mcp.json (如果缺少,则创建)并添加:
{
"servers": {
"lilFetch": {
"type": "stdio",
"command": "node",
"args": ["bin/lilfetch.js"]
}
}
}注: 确保 bin/lilfetch.js 可执行:运行 chmod +x bin/lilfetch.js 在终端。
- 测试IT
- 在新的终端窗口中,导航到此仓库并运行 npm run dev 或 ./node_modules/.bin/lilfetch. - 在VS Code中,用类似的东西提示。..
Use lilFetch to scrape top news headlines from www.cnn.com and write to a markdown file in root of my repo.卸载
要完全删除全局安装(包括npm包和Python虚拟环境):
全局卸载
从repo目录(或任何地方):
npm run global-uninstall- 这运行
npm uninstall -g lilfetch删除全局npm包和二进制文件。 - 紧随其后
rm -rf ~/.lilfetch-venv删除用户范围的Python venv(包括已安装的deps和Playwright浏览器)。 - 警告:The
rm -rf命令是不可逆的。它只会影响.lilfetch-venv主文件夹中的目录。必要时备份(不太可能)。
手动卸载(替代)
- 删除npm包:
npm uninstall -g lilfetch- 删除Python venv:
rm -rf ~/.lilfetch-venv- 在Windows上: rmdir /s /q %USERPROFILE%\.lilfetch-venv
本地卸载
对于本地安装(例如,在 npm install):
npm uninstall
rm -rf .venv- 这将删除本地Node模块和特定于仓库的Python venv。
验证
npm list -g --depth=0(没有lilfetch).which lilfetch(空)。ls ~/.lilfetch-venv(没有这样的文件)。
对于本地: rm -rf node_modules .venv 并验证否 ./.bin/lilfetch.
发展
- 编辑
mcp_server.pyPython逻辑。 - 更新
bin/lilfetch.js用于包装更改。 - 凹凸版本
package.json那么npm run pack. - 对于全球测试:
npm install -g .然后npx lilfetch.
故障排除
- 权限错误(全局安装):请参阅用户拥有的NPM设置的先决条件。避免使用sudo——使用配置步骤。
- 找不到Python/版本错误:确保Python 3.8+在PATH中。对于pyenv:
pyenv install 3.12.0 && pyenv global 3.12.0,然后重新运行安装。检查:python3 --version. - Venv/Deps失败:对于本地:删除
.venv并重新运行npm install.对于全局:删除~/.lilfetch-venv并重新运行npm install -g ..手动修复(本地):python3 -m venv .venv && .venv/bin/pip install -r requirements.txt && .venv/bin/python -m playwright install.手动修复(全局):python3 -m venv ~/.lilfetch-venv && ~/.lilfetch-venv/bin/pip install -r requirements.txt && ~/.lilfetch-venv/bin/python -m playwright install. - 剧作家浏览器丢失:运行
python -m playwright install在venv中(或手动记录)。 - VS代码中未检测到MCP:配置后重新启动VS代码;确保工作区正确打开。
- 卸载:
- 全球的: npm uninstall -g lilfetch + rm -rf ~/.lilfetch-venv. - 当地: rm -rf node_modules package-lock.json .venv.
8 • • • • •
许可证:麻省理工学院
