mcpField
F
fetching-blocked-urls

fetching-blocked-urls

github.com/oaustegard生产力15770 次安装1 天前更新
代码仓库

关于 fetching-blocked-urls

此技能面向受限网络环境中的 AI 工作流,在 web_fetch 无法访问网页时,通过 Jina AI reader 获取可读的 Markdown 内容,并可重试临时故障。

主要功能

  1. 01通过 Jina AI reader 获取网页
  2. 02重试临时上游错误
  3. 03在 Markdown 中保留页面链接
  4. 04说明访问限制

适用场景

  1. 01web_fetch 返回 403 后获取内容
  2. 02读取依赖 JavaScript 或乱码页面
  3. 03reader 服务失败时重试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oaustegard/claude-skills --skill fetching-blocked-urls

安装后在 Claude Code 中输入/fetching-blocked-urls确认已加载。

附带文件CHANGELOG.mdREADME.md

详细介绍

获取受阻 URL

从 web_fetch 无法访问的 URL 中提取可读内容。Jina AI 的阅读器服务可以渲染 JavaScript、绕过软性屏蔽,并返回整洁的 Markdown。

激活条件

当 web_fetch 返回以下结果时,立即调用此技能:

  • 403 Forbidden 或拒绝访问
  • 付费墙或登录墙提示
  • 内容为空、乱码或被截断
  • JavaScript 密集型 SPA 加载失败
  • 超时错误

核心命令

curl -s --max-time 30 "https://r.jina.ai/TARGET_URL"

该服务会返回 Markdown,其中包含页面标题、正文和保留的链接。

重试模式

Jina 的后端存在约 10% 的间歇性故障。使用重试逻辑将成功率提升至 99% 以上:

for attempt in 1 2 3; do
  result=$(curl -s --max-time 30 "https://r.jina.ai/TARGET_URL" 2>&1)
  echo "$result" | grep -q "upstream connect error" || { echo "$result"; break; }
  [ $attempt -lt 3 ] && sleep 1
done

工作流集成

  1. 首选:使用 web_fetch(原生工具)
  2. 备用:web_fetch 失败时,使用此技能并重试
  3. 升级处理:仅在重试耗尽后请求用户协助

在要求用户手动复制粘贴内容之前,先尝试此备用方案。

输出格式

Jina 会返回结构化的 Markdown:

  • Title: 页面标题
  • URL Source: 原始 URL
  • Markdown Content: 提取的正文,保留链接

限制

  • 长页面可能会被截断
  • 屏蔽所有抓取器的网站仍无法访问
  • 需要登录的内容仅能获取公开部分
  • 实时动态内容可能无法渲染

域名访问

r.jina.ai 已加入 Claude 容器网络配置的白名单。

评论

支持 Markdown