DLBrowser

DLBrowser

MCP server that gives AI agents reliable web access with self-healing, anti-bot bypass and clean content extraction. It provides 11 tools like fetch, scrape, and search, metered by credit with cost transparency.

Category
访问服务器

README

<div align="center">

DLBrowser

Your AI agent is blind to the half of the web that fights back.

Cloudflare, captchas, and JavaScript walls block the tools agents use to browse — silently. DLBrowser is the one that gets through. One line. Self-healing. Metered to the credit.

PyPI npm License: MIT Python

npx dlbrowser connect --key dlb_xxx

Wires DLBrowser into Claude Code, Cursor, Windsurf, Cline & Codex in one command. Your agent gets 11 web tools that actually reach the page.

</div>


The 60-second try

pip install dlbrowser
dlbrowser fetch https://example.com

Every fetch tells you which backend got through and how long it took — because the engine picks the cheapest one that works and only escalates when a site fights back:

{ "success": true, "backend": "curl_cffi", "load_time": 0.03, "blocked": false }

And every run is metered against a plan, in the open — no surprise invoice:

{ "plan": "scout", "remaining_daily": 497, "remaining_monthly": 2497,
  "upgrade_url": "https://dekryptlabs.github.io/dlbrowser/pricing.html" }

That's a real response from the live gateway. Start free — 2,500 credits, no card.


Why your agent needs this

You wire web access into an agent. It works in the demo. Then it meets the real web:

  • One site loads with a 50ms HTTP request. The next is an empty React shell until JS runs.
  • Cloudflare and DataDome quietly serve your headless browser a challenge page.
  • Your agent's built-in fetch returns "" — not an error, an empty string — and keeps going.
  • You have no idea which sites failed, which backend would've worked, or what any of it cost.

DLBrowser is the capability layer that fixes this. Not a scraper. Not a crawler. Acquisition infrastructure for AI agents — reliable, observable, billable.


The engine: start cheap, escalate only when blocked

curl_cffi  →  tls_client  →  playwright  →  nodriver (CDP)  →  firecrawl
  ~50ms         ~200ms        full JS        max stealth       last resort
  HTTP-level, no browser       │            browser-level, real Chromium
                               └── auto-escalates when a block is detected

~70% of real fetches never need a browser. Starting with a 50ms request and climbing the ladder only on a detected block keeps you fast and cheap — while still getting through the sites that stop everything else. Five backends. Firecrawl has two. Crawl4AI has one.


What resets your expectations

🔁 Self-healing fallback Five backends auto-escalate on block. Your agent stops getting an empty string.
💸 Per-run cost telemetry Every run logs backend, credits, and estimated cost to a queryable ledger. No competitor exposes this. Your CFO can finally answer "what does our web data cost?"
🪙 Token-efficient Returns clean markdown/extracted content, not raw HTML — ~4× fewer tokens into your agent's context on content pages (measured). Lower API cost, more window, better signal.
🎯 No JS multipliers 1 credit per page on any backend. Firecrawl & ScrapingBee charge 5–7× for JS rendering.
🔒 Atomic metering Reservation-based — 0% overshoot, even under concurrency. You're never billed past your quota.
🧠 LLM extraction Natural language → structured JSON. Runs against a local/free model — no cloud key required.
📦 MIT, self-hostable Full feature parity self-hosted. Your data never leaves your infra. The hosted gateway just saves you running proxies + captcha infra.
🔌 MCP-native 11 tools with use-first descriptions, so your agent reaches for DLBrowser over its flaky built-in browser.

Fewer tokens, cleaner signal

Raw HTML pours tags, scripts, and boilerplate into your agent's context — you pay tokens for noise, and the model burns attention parsing <div class> soup. DLBrowser returns clean markdown or extracted content instead.

Real measurement through the live gateway — a Wikipedia article:

Mode Tokens (approx) vs raw HTML
Raw HTML ~57,000
Markdown ~13,000 ~77% fewer
Article ~42,000 ~27% fewer

~4× less context per fetch on a content page — lower API cost, more room in the window, and better signal for the model to reason over. Savings vary by page (a sparse link list saves little, and your agent picks the mode) — so measure your own:

import asyncio, tiktoken
from hermes_browser import fetch          # pip install dlbrowser
enc = tiktoken.get_encoding("cl100k_base")
raw = asyncio.run(fetch(url, mode="html"))["content"]["html"]
md  = asyncio.run(fetch(url, mode="markdown"))["content"]["markdown"]
print(len(enc.encode(raw)), "→", len(enc.encode(md)), "tokens")

One line, every host

npx dlbrowser connect --key dlb_xxx
# detects and configures: claude-code · claude-desktop · cursor · windsurf · cline · codex

Or point any MCP client at the free hosted demo gateway (try it with no local setup — some features are gated on the demo; self-host for the full engine):

claude mcp add dlbrowser --transport http \
  --url https://api.dekryptlabs.com \
  --header "Authorization: Bearer dlb_xxx"

Your agent immediately has: fetch · scrape · smart_extract · screenshot · markdown · crawl · search · serp · status · account · topup.


Can I trust it? (architecture)

Agent / CLI / Extension / MCP client
        │
   ┌────┴─────┐
   │ Gateway  │  Paywalled — 401 no key · 402 over quota · free: status/account
   └────┬─────┘
   ┌────┴─────┐
   │  Router  │  Adaptive per-domain scoring: success · latency · cost · freshness
   └────┬─────┘
   ┌────┴─────────────────────────────┐
   │  curl_cffi → tls → playwright →  │  self-healing cascade
   │  nodriver → firecrawl            │
   └────┬─────────────────────────────┘
   ┌────┴─────┐
   │  Ledger  │  per-run backend · credits · cost · trace_id (OpenTelemetry)
   └──────────┘

The router learns per-domain — more usage, better routing. Everything above the gateway is MIT and self-hostable. Read the code before you trust it; that's the point of open source.


Can it beat Cloudflare?

On many real sites, with no browser at all. We tested 5 Cloudflare-protected sites from a datacenter IP with no residential proxy (worst case):

Site Result How
nowsecure.nl (CF challenge test) ✅ pass TLS impersonation
crunchbase.com ✅ pass curl_cffi, 0.3s, no browser
nike.com ✅ pass curl_cffi, 1.2s, no browser
g2.com ❌ 403 Cloudflare Enterprise — datacenter IP blocked by reputation
zillow.com ❌ 403 Enterprise + captcha — needs residential IP

3/5 passed on HTTP-level TLS impersonation alone. The two failures weren't fingerprint failures — they're IP-reputation blocks that need residential-proxy routing (supported, disabled in this test). No tool beats Cloudflare universally; DLBrowser's answer is layered escalation. Full methodology + "what beating Cloudflare actually means" → marketing/cloudflare.md.

We have not published broad head-to-head benchmarks vs Firecrawl/Crawl4AI yet — those are next, with the methodology published alongside. We don't print numbers we made up. Don't trust our table — run it on your own hardest sites:

pip install "dlbrowser[full]" && python3 -m playwright install chromium
dlbrowser fetch <a-url-that-blocks-your-current-tool>   # see the backend that got through

Pricing

Plan Price Credits Daily cap Backends Captcha Proxy LLM Keys
Scout Free 2,500 one-time 500 curl_cffi 1
Analyst $29/mo 100,000/mo 5,000 + tls_client 50k 3
Operator $85/mo 500,000/mo 25,000 + playwright 200k 10
Command $299/mo 2,000,000/mo 100,000 all + nodriver 1M 50
Enterprise from $999/mo 10M–100M+/mo all + dedicated

1 credit = 1 page, any backend. Annual 20% off. Self-hosting is free forever. Full pricing → PRICING.md · hosted: dekryptlabs.github.io/dlbrowser/pricing.html


Will my company approve it?

  • Multi-tenant — organizations, teams, seats, roles
  • API keys — create, revoke, rotate, scope, expire (SHA-256 hashed)
  • Audit logs — immutable event ledger: who did what, when, at what cost
  • Webhooks — HMAC-SHA256 signed, with a dead-letter queue
  • SLA monitoring — scheduled page diffing with noise-tolerant change detection
  • Self-hosted — Docker one-liner, full feature parity, data stays in your network

Enterprise plans publish real prices (from $999/mo) — no "call us" black box. sales@dekryptlabs.com


When not to use DLBrowser

  • You need pre-built datasets → Bright Data / Apify
  • You need a visual scraping IDE → Octoparse
  • You need screenshot-as-a-service → Urlbox

DLBrowser is for teams running AI agents that need reliable, observable, cost-controlled web access at scale.


Docs

Resource Link
Getting Started GETTING_STARTED.md
Integrations (LangChain / LlamaIndex) INTEGRATION_QUICKSTART.md
Self-Hosted Deploy DEPLOYMENT.md
Comparison vs Firecrawl / Crawl4AI COMPARISON.md

💜 Sponsor DLBrowser

DLBrowser is MIT and free forever, and we keep a free hosted demo gateway running for everyone. Sponsoring funds new backends, published benchmarks, site-specific scrapers, and keeps the free tier free. If it saves your agents from getting blocked — or saves you tokens — please consider it.

Become a sponsor → · tiers from $10/mo to $1,000/mo. Full perks in SPONSORS.md. $25/mo and up puts your name (or logo, at $100+) in the banner below — seen by everyone who visits the repo, the PyPI page, and the npm page.

Our sponsors

<!-- sponsors:start --> <p align="center"> <em>Be the first — your name or logo here.</em><br> <a href="https://github.com/sponsors/shivam27cool"><strong>Become a sponsor →</strong></a> </p> <!-- sponsors:end -->


<div align="center">

Give your agent the whole web.

npx dlbrowser connect --key dlb_xxx

Built by Dekrypt Labs · MIT License · sales@dekryptlabs.com

</div>


mcp-name: io.github.DekryptLabs/dlbrowser

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选