Crawlberg MCP Server

Crawlberg MCP Server

Enables AI agents to crawl and scrape websites, converting HTML to clean Markdown and structured metadata with support for JavaScript rendering, bot evasion, and SSRF protection.

Category
访问服务器

README

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/xberg-io/assets@v1/banner/readme-banner-dark.svg"> <img alt="Xberg" width="420" src="https://cdn.jsdelivr.net/gh/xberg-io/assets@v1/banner/readme-banner-light.svg"> </picture> </p>

Crawlberg

<div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0;"> <a href="https://github.com/xberg-io/alef"> <img src="https://img.shields.io/badge/built%20with-alef%20%D7%90-007ec6" alt="Built with alef"> </a> <!-- Language Bindings --> <a href="https://crates.io/crates/crawlberg"> <img src="https://img.shields.io/crates/v/crawlberg?label=Rust&color=007ec6" alt="Rust"> </a> <a href="https://pypi.org/project/crawlberg/"> <img src="https://img.shields.io/pypi/v/crawlberg?label=Python&color=007ec6" alt="Python"> </a> <a href="https://www.npmjs.com/package/@xberg-io/crawlberg"> <img src="https://img.shields.io/npm/v/@xberg-io/crawlberg?label=Node.js&color=007ec6" alt="Node.js"> </a> <a href="https://www.npmjs.com/package/@xberg-io/crawlberg-wasm"> <img src="https://img.shields.io/npm/v/@xberg-io/crawlberg-wasm?label=WASM&color=007ec6" alt="WASM"> </a> <a href="https://central.sonatype.com/artifact/io.xberg.crawlberg/crawlberg"> <img src="https://img.shields.io/maven-central/v/io.xberg.crawlberg/crawlberg?label=Java&color=007ec6" alt="Java"> </a> <a href="https://pkg.go.dev/github.com/xberg-io/crawlberg/packages/go"> <img src="https://img.shields.io/github/v/tag/xberg-io/crawlberg?label=Go&color=007ec6" alt="Go"> </a> <a href="https://www.nuget.org/packages/XbergIo.Crawlberg/"> <img src="https://img.shields.io/nuget/v/XbergIo.Crawlberg?label=C%23&color=007ec6" alt="C#"> </a> <a href="https://packagist.org/packages/xberg-io/crawlberg"> <img src="https://img.shields.io/packagist/v/xberg-io/crawlberg?label=PHP&color=007ec6" alt="PHP"> </a> <a href="https://rubygems.org/gems/crawlberg"> <img src="https://img.shields.io/gem/v/crawlberg?label=Ruby&color=007ec6" alt="Ruby"> </a> <a href="https://hex.pm/packages/crawlberg"> <img src="https://img.shields.io/hexpm/v/crawlberg?label=Elixir&color=007ec6" alt="Elixir"> </a> <a href="https://pub.dev/packages/crawlberg"> <img src="https://img.shields.io/pub/v/crawlberg?label=Dart&color=007ec6" alt="Dart"> </a> <a href="https://central.sonatype.com/artifact/io.xberg.crawlberg.android/crawlberg-android"> <img src="https://img.shields.io/maven-central/v/io.xberg.crawlberg.android/crawlberg-android?label=Kotlin&color=007ec6" alt="Kotlin"> </a> <a href="https://github.com/xberg-io/crawlberg/tree/main/packages/swift"> <img src="https://img.shields.io/badge/Swift-SPM-007ec6" alt="Swift"> </a> <a href="https://github.com/xberg-io/crawlberg/tree/main/packages/zig"> <img src="https://img.shields.io/badge/Zig-package-007ec6" alt="Zig"> </a> <a href="https://github.com/xberg-io/crawlberg/releases"> <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI"> </a> <a href="https://github.com/xberg-io/crawlberg/pkgs/container/crawlberg"> <img src="https://img.shields.io/badge/Docker-ghcr.io-007ec6?logo=docker&logoColor=white" alt="Docker"> </a>

<!-- Project Info --> <a href="https://github.com/xberg-io/crawlberg/blob/main/LICENSE"> <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License"> </a> <a href="https://docs.crawlberg.xberg.io"> <img src="https://img.shields.io/badge/Docs-crawlberg-007ec6" alt="Documentation"> </a> </div>

<div align="center" style="display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px;"> <a href="https://discord.gg/xt9WY3GnKR"> <img height="22" src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white" alt="Join Discord"> </a> </div>

Turn any website into clean, structured data. Point Crawlberg at a URL and get back Markdown, metadata, and links — from a single page or a whole site — in the language you already use.

What and Why?

You need data that lives on the web, and raw HTML is not it. Crawlberg does the crawling, scraping, and cleanup end-to-end: it fetches pages, follows links, converts each one to Markdown, and hands you structured metadata (titles, links, images, social-card and JSON-LD data) — so you skip the parsing and go straight to the content.

It runs from a single Rust core with identical results across 14 language bindings, and it handles the awkward parts for you: JavaScript-heavy pages fall back to a real headless browser, bot filters are detected and worked around, robots and sitemaps are respected, requests are throttled per domain, and requests to private or internal addresses are refused by default. Drive it from your code, an AI agent, a REST service, or the CLI.

Every part of the pipeline is a trait you can swap — the crawl frontier, rate limiter, storage, event stream, and content filters — so you can plug in your own behavior. Managed extras like proxy pools, tuned bot-evasion, authenticated sessions, scheduling, and billing live in xberg-enterprise.

Features

Feature Description
Structured extraction Text, metadata, links, images, assets, JSON-LD, Open Graph, hreflang, favicons, headings, response headers
Markdown conversion Clean Markdown with citations, document structure, and fit-content mode
Concurrent crawling Depth-first, breadth-first, or best-first traversal with configurable depth, page limits, and concurrency
14 language bindings Rust, Python, Node.js, Ruby, Go, Java, Kotlin (Android), C#, PHP, Elixir, Dart, Swift, Zig, and WebAssembly
Smart filtering BM25 relevance scoring, URL include/exclude patterns, robots.txt compliance, sitemap discovery
Browser rendering Optional headless browser for JavaScript-heavy SPAs with WAF detection and bypass
Batch & streaming Scrape or crawl hundreds of URLs concurrently; real-time crawl events via async streams
SSRF-safe by default Refuses loopback, private, link-local, and cloud-metadata addresses; opt out via env var or CrawlConfig
Auth & rate limiting HTTP Basic, Bearer, and custom-header auth with cookie jars; per-domain request throttling
MCP server & REST API Model Context Protocol integration for AI agents plus an HTTP server with OpenAPI spec

Supported Platforms

Precompiled binaries for Linux (x86_64/aarch64), macOS (ARM64), and Windows (x64) across every binding. See the platform support reference for the full matrix.

<p align="center"><strong>⭐ Star this repo to show your support — it helps others discover Crawlberg.</strong></p>

Quick Start

Language Packages

<details open> <summary><strong>Python</strong></summary>

pip install crawlberg

See Python README for full documentation.

</details>

<details> <summary><strong>Node.js</strong></summary>

npm install @xberg-io/crawlberg

See Node.js README for full documentation.

</details>

<details> <summary><strong>Rust</strong></summary>

cargo add crawlberg

See Rust README for full documentation.

</details>

<details> <summary><strong>Go</strong></summary>

go get github.com/xberg-io/crawlberg/packages/go

See Go README for full documentation.

</details>

<details> <summary><strong>Java</strong></summary>

Available on Maven Central as io.xberg.crawlberg:crawlberg. See Java README for the dependency snippet and current version.

</details>

<details> <summary><strong>C#</strong></summary>

dotnet add package Crawlberg

See C# README for full documentation.

</details>

<details> <summary><strong>Ruby</strong></summary>

gem install crawlberg

See Ruby README for full documentation.

</details>

<details> <summary><strong>PHP</strong></summary>

composer require xberg-io/crawlberg

See PHP README for full documentation.

</details>

<details> <summary><strong>Elixir</strong></summary>

Add {:crawlberg, "~> 0.3"} to your mix.exs dependencies. See Elixir README for full documentation.

</details>

<details> <summary><strong>Dart / Flutter</strong></summary>

dart pub add crawlberg

See Dart README for full documentation.

</details>

<details> <summary><strong>Kotlin (Android)</strong></summary>

Available on Maven Central as io.xberg.crawlberg.android:crawlberg-android. See Kotlin README for the dependency snippet and current version.

</details>

<details> <summary><strong>Swift</strong></summary>

Add via Swift Package Manager. See Swift README for full documentation.

</details>

<details> <summary><strong>Zig</strong></summary>

See Zig README for installation and usage.

</details>

<details> <summary><strong>WebAssembly</strong></summary>

npm install @xberg-io/crawlberg-wasm

See WebAssembly README for full documentation.

</details>

<details> <summary><strong>C/C++ (FFI)</strong></summary>

C header + shared library from GitHub Releases. See FFI crate for full documentation.

</details>

<details> <summary><strong>CLI</strong></summary>

cargo install crawlberg-cli
brew install xberg-io/tap/crawlberg

See CLI README for full documentation.

</details>

AI Coding Assistants

Install the Crawlberg plugin from xberg-io/crawlberg. It ships the Crawlberg agent skills (site crawling, HTML→Markdown scraping, headless-Chrome fallback) plus the crawlberg MCP server, and works with every major coding agent — expand your harness below.

<details open> <summary><strong>Claude Code</strong></summary>

/plugin marketplace add xberg-io/crawlberg
/plugin install crawlberg@crawlberg

</details>

<details> <summary><strong>Codex CLI</strong></summary>

/plugins add https://github.com/xberg-io/crawlberg

Then search for crawlberg and select Install Plugin.

</details>

<details> <summary><strong>Cursor</strong></summary>

Settings → Plugins → Add from URL → https://github.com/xberg-io/crawlberg, then select crawlberg.

</details>

<details> <summary><strong>Gemini CLI</strong></summary>

gemini extensions install https://github.com/xberg-io/crawlberg

</details>

<details> <summary><strong>Factory Droid</strong></summary>

droid plugin marketplace add https://github.com/xberg-io/crawlberg
droid plugin install crawlberg@crawlberg

</details>

<details> <summary><strong>GitHub Copilot CLI</strong></summary>

copilot plugin marketplace add https://github.com/xberg-io/crawlberg
copilot plugin install crawlberg@crawlberg

</details>

<details> <summary><strong>opencode</strong></summary>

Add the package to opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@xberg-io/opencode-crawlberg"]
}

</details>

Documentation

Full guides, per-language API references, the substrate/operational model, antibot strategy, and observability live at docs.crawlberg.xberg.io.

Contributing

Contributions are welcome! See our Contributing Guide.

Part of Xberg.dev

  • Xberg — document intelligence: text, tables, metadata from 98+ formats with optional OCR.
  • Xberg Enterprise — managed extraction API with SDKs, dashboards, and observability.
  • crawlberg — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
  • html-to-markdown — fast, lossless HTML→Markdown engine.
  • liter-llm — universal LLM API client with native bindings for 14 languages and 143 providers.
  • tree-sitter-language-pack — tree-sitter grammars and code-intelligence primitives.
  • alef — the polyglot binding generator that produces every per-language binding across the 5 polyglot repos.

License

MIT License

Links

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选