SteadyFetch
  
AI代理的可靠网络获取。 停止因Cloudflare阻止、超时和片状刮擦而浪费时间。
SteadyFetch是一个MCP服务器,它为您的AI代理提供可靠的网络访问,具有自动重试、断路器保护、缓存和反机器人旁路功能——开箱即用。
问题
每一个接触到网络的AI代理都会碰到同一堵墙:
- Cloudflare阻止您的请求
- 网站返回验证码
- 页面超时或部分加载
- 速率限制会扼杀您的批处理作业
- 你浪费了几个小时调试那些不稳定的地方
解决方案
一次MCP工具调用。SteadyFetch处理其余的事情。
Agent calls fetch_url("https://example.com")
→ Checks cache (instant if hit)
→ Checks circuit breaker (fail-fast if domain is down)
→ Stealth browser fetch with anti-bot bypass
→ On failure: retry with exponential backoff
→ Fallback: plain HTTP fetch
→ Cache the result
→ Return clean markdown + raw HTML工具
| 工具 | 说明 |
|---|---|
fetch_url | 完全可靠的获取——返回markdown+HTML |
fetch_markdown | 只返回干净的降价,针对LLM进行了优化 |
check_domain | 域的断路器状态 |
cache_stats | 缓存利用率指标 |
clear_cache | 刷新缓存以获取新数据 |
快速开始
从PyPI安装
pip install steadyfetch
steadyfetch然后从Claude Desktop连接:
{
"mcpServers": {
"steadyfetch": {
"command": "steadyfetch"
}
}
}使用Docker的自主机
docker build -t steadyfetch .
docker run -p 8200:8200 steadyfetch配置
通过环境变量进行的所有设置:
| 变量 | 默认值 | 描述 |
|---|---|---|
PORT | 8200 | 服务器端口 |
STEADYFETCH_MAX_RETRIES | 3 | 每个URL重试次数 |
STEADYFETCH_CIRCUIT_THRESHOLD | 5 | 电路断开前的故障 |
STEADYFETCH_CIRCUIT_COOLDOWN | 120秒后重试断开的域 | |
STEADYFETCH_CACHE_TTL | 3600 | 缓存生存期(秒) |
STEADYFETCH_TIMEOUT | 30000 | 页面加载超时(毫秒) |
运作原理
使用回退重试 --指数回退+抖动可防止重试风暴。在回退到HTTP之前尝试了3次浏览器。
断路器 --每个域的故障跟踪。连续5次故障后,域断路2分钟。防止在屏蔽你的网站上浪费时间。
缓存 --具有可配置TTL的磁盘备份缓存。重复提取是即时的。默认限制为500MB。
反机器人旁路 --具有魔术模式、导航补丁和通过Crawl4AI模拟人类行为的隐形浏览器。
优雅降级 --如果浏览器无法通过,则退回到普通HTTP。如果HTTP失败,则返回一个带有域健康状态的明确错误。永不挂起,永不默默失败。
免费vs专业
| 工具 | 免费 | 专业版(19美元/月) |
|---|---|---|
fetch_url | 是(无JS渲染,无缓存) | 是(完整:JS渲染+缓存+反机器人) |
check_domain | 是 | 是 |
fetch_markdown | -是的 | |
cache_stats | -是的 | |
clear_cache | -是的 |
免费层为您提供基本的HTTP获取和域健康检查。Pro解锁JS渲染、反机器人绕过、缓存和干净的markdown输出。
在MCPize上升级到Pro --19美元/月或190美元/年。
许可证
麻省理工学院
