Delulu - A suite of MCP tools to supercharge your LLM skillset
August 6, 2026 Β· View on GitHub
Tip
More knowing. Less guessing.
Delulu provides a suite of CLI tools and MCP (Model Context Protocol) servers to help your LLM search, crawl, and extract high-quality information from the web and academic sources.
Available Tools
| App | CLI Binary | MCP Server | Description |
|---|---|---|---|
| webfetch | delulu-fetch | delulu-webfetch-mcp | Web content fetching, HTMLβMarkdown, PDF/DOCX extraction |
| websearch | delulu-websearch | delulu-websearch-mcp | Multi-engine web search (DuckDuckGo, Brave) |
| paper-search-arxiv | delulu-arxiv | delulu-arxiv-mcp | arXiv paper search & full-text retrieval |
| paper-search-iacr | delulu-iacr | delulu-iacr-mcp | IACR ePrint (cryptography) paper search & PDF retrieval |
| paper-search-pubmed | delulu-pubmed | delulu-pubmed-mcp | PubMed biomedical paper search |
| travel-search | delulu-flights, delulu-hotels | delulu-travel-mcp | Google Flights & Hotels search |
| mcpify | delulu-mcpify | β | Convert OpenAPI specs into MCP servers |
| all-mcp | delulu-all-mcp | delulu-all-mcp | Unified MCP server re-exporting the 21-tool union across all apps |
Motivation
Tip
One chat UI to rule them all
One MCP to find them
One query to bring them all
And by the LLM bind them
Screenshots

Features
- πͺ MCP Server: Works with stdio transport (Claude Desktop) and HTTP transport
- π» CLI Tools: Direct
flightsandhotelscommands - π¦ Rate Limiting: Let's be good citizens.
- πͺ Cookie Management: Let's be crafty citizens.
- π¦ Prebuilt Binary:
delulu-all-mcpfor Windows/macOS/Linux Γ x86-64/arm64, for those allergic to Docker - π³ Container Ready: Docker, Podman and Docker-Compose support with prebuilt image
- π High Performance: Built with Rust, Axum, and Tokio
- βοΈ Lightweight: No browser, Selenium, or Playwright - direct queries via reverse-engineered Protobuf
Prebuilt release: v0.2.0 ships a single prebuilt binary,
delulu-all-mcp, which bundles all 21 tools (travel, webfetch, websearch, arXiv/IACR/PubMed papers, mcpify). The individual apps are built from source with cargo β see Building from source.
Installation
π¦ Option 1: Prebuilt Binary
A single delulu-all-mcp binary is published for Windows, macOS and Linux (x86-64 and
arm64). It bundles all 21 tools; the individual apps are built from source (Option 2 below).
The archives below are published with the v0.2.0 release (see Releases); until that tag exists, build from source.
- Quick Install - Platform-specific one-liners:
Windows (x86-64 i.e. AMD or Intel)
Invoke-WebRequest -Uri "https://github.com/mratsim/delulu/releases/latest/download/delulu-all-mcp-windows-x86_64.zip" -OutFile "delulu.zip"; Expand-Archive -Path "delulu.zip" -DestinationPath "."; Remove-Item "delulu.zip"
Windows ARM64
Invoke-WebRequest -Uri "https://github.com/mratsim/delulu/releases/latest/download/delulu-all-mcp-windows-arm64.zip" -OutFile "delulu.zip"; Expand-Archive -Path "delulu.zip" -DestinationPath "."; Remove-Item "delulu.zip"
macOS (Apple Silicon only)
curl -sL "https://github.com/mratsim/delulu/releases/latest/download/delulu-all-mcp-macos-arm64.tar.gz" | tar -xz
Linux (x86-64 i.e. AMD or Intel)
curl -sL "https://github.com/mratsim/delulu/releases/latest/download/delulu-all-mcp-linux-x86_64.tar.gz" | tar -xz
Linux (Arm64 like Raspberry Pi)
curl -sL "https://github.com/mratsim/delulu/releases/latest/download/delulu-all-mcp-linux-arm64.tar.gz" | tar -xz
-
Manual Download - Visit the GitHub Releases page and download the archive for your platform and architecture, then extract it (it contains the
delulu-all-mcpbinary β.exeon Windows). -
Set up your MCP client - see Usage below for the stdio/HTTP transports and Claude Desktop config.
Why only one binary? Building every app for x86-64/arm64 Γ Windows/macOS/Linux would produce dozens of artifacts that confuse more than they help. The individual apps are one
cargo buildaway (Option 2) anddelulu-all-mcpgives you all 21 tools from a single binary.
π¦ Option 2: Cargo (Rust Users)
Every app is a normal Cargo package in this workspace. cargo install puts the binary in ~/.cargo/bin/; cargo build --release leaves it in ./target/release/.
git clone https://github.com/mratsim/delulu
cd delulu
# Build everything (all apps, all binaries):
cargo build --release
# Or install one app β e.g. the unified all-mcp server (all 21 tools):
cargo install --path delulu-apps/all-mcp --features mcp
Individual apps:
| App | Package (-p) | Binaries |
|---|---|---|
| Unified all-mcp server | delulu-all-mcp | delulu-all-mcp (MCP stdio/HTTP) |
| Travel search | delulu-travel-search | delulu-flights, delulu-hotels (CLI), delulu-travel-mcp |
| Web fetch & markdown | delulu-webfetch | delulu-fetch (CLI), delulu-webfetch-mcp |
| Web search (DuckDuckGo/Brave) | delulu-websearch | delulu-websearch (CLI), delulu-websearch-mcp |
| arXiv papers | delulu-paper-search-arxiv | delulu-arxiv (CLI), delulu-arxiv-mcp |
| IACR papers | delulu-paper-search-iacr | delulu-iacr (CLI), delulu-iacr-mcp |
| PubMed papers | delulu-paper-search-pubmed | delulu-pubmed (CLI), delulu-pubmed-mcp |
| LLM-aware HTTPβMCP bridge | delulu-mcpify | delulu-mcpify |
For one app (e.g. the travel MCP server):
cargo install --path delulu-apps/travel-search --features mcp
# binaries: ~/.cargo/bin/delulu-travel-mcp (plus delulu-flights / delulu-hotels)
--features mcpbuilds the MCP server binary; the CLI-only binaries are built by default when the feature is omitted. The defaultmcpfeature set works on Linux, macOS and Windows.
π³ Option 3: Docker / Podman
A prebuilt OCI image is published on GitHub Container Registry (GHCR):
ghcr.io/mratsim/delulu/all-mcp(unified all-mcp server, all 21 tools)
# HTTP transport (for remote clients) β NO built-in authentication!
# Put it behind a TLS-terminating reverse proxy that enforces auth
# (mTLS or bearer token), or restrict the port with a firewall.
docker run -p 8080:8080 \
--env RUST_LOG=info \
ghcr.io/mratsim/delulu/all-mcp:latest \
http --host 0.0.0.0 --port 8080
# Stdio transport (for Claude Desktop) - requires interactive mode `docker run -i --rm`
docker run -i --rm ghcr.io/mratsim/delulu/all-mcp:latest stdio
To build the image from source:
docker build --target delulu-all-mcp-runtime -t delulu-all-mcp .
docker run -i --rm delulu-all-mcp stdio
π³ Option 4: Docker Compose
There is a sample docker-compose.yml that builds and runs the travel MCP server from
source over HTTP. delulu-all-mcp is not in the compose file β it ships as a standalone
binary or OCI image (Options 1/3).
git clone https://github.com/mratsim/delulu
cd delulu
docker-compose up -d
# The compose server listens on http://localhost:8080/mcp
Usage / Tool reference
Available tools (21)
All MCP servers share the same client-facing tool names; delulu-all-mcp re-exports the full union:
webfetch: webfetch, webfetch_raw, fetch_doc
websearch: web_search, web_search_next_page
travel: search_flights, search_hotels
arxiv: arxiv_search_papers, arxiv_get_papers_by_id, arxiv_get_paper
iacr: iacr_list_recent_papers, iacr_get_paper_details, iacr_paper_pdf_url, iacr_get_paper
pubmed: pubmed_search, pubmed_get_summaries, pubmed_fetch_abstracts, pubmed_find_related, pubmed_get_database_info, pubmed_match_citation, pubmed_get_paper
That is 21 tools. Every paper tool is namespaced by repository prefix
(arxiv_*, iacr_*, pubmed_*) because the three paper servers are separate
repositories with overlapping vocabulary (papers, ids, details, abstracts,
citations) β the name alone tells the caller which repository it talks to.
The standalone per-package binaries keep their unprefixed names.
CLI transport
delulu-* binaries run two transports β stdio (Claude Desktop) and HTTP:
# CLI transport (Claude Desktop-friendly):
delulu-all-mcp stdio
# HTTP transport (for remote clients) β NO built-in authentication!
# Put it behind a TLS-terminating reverse proxy with auth, or a firewall.
delulu-all-mcp http --host 0.0.0.0 --port 8080
The same two transports apply to every individual delulu-* binary built from source
(e.g. delulu-travel-mcp stdio).
For delulu-all-mcp the same flags apply plus the rate/API-base overrides (see below).
delulu-all-mcp β unified 21-tool MCP server
delulu-all-mcp is a single binary that hosts all 21 tools from every app behind one
shared RateLimitedCrawler. A single GCRA bucket per domain is shared across webfetch,
websearch, travel, and the three paper apps, so one app hammering a host limits every other
app that touches the same host.
Merged CLI flags
--qps <u32>β queries per second for the shared crawler (default1, 1..=10000)--burst <u32>β burst size for the shared crawler (default1)--max-resp-size-mb <u32>β per-response size cap in MB (default50, 1..=1024)--arxiv-api-base-url <url>β override the arXiv API base URL (defaulthttps://export.arxiv.org/api/query)--iacr-api-base-url <url>β override the IACR eprint API base URL (defaulthttps://eprint.iacr.org)--pubmed-api-base-url <url>β override the PubMed E-utilities base URL--expose-local-networksβ allow webfetch tools to reach local/private networks (default off)
--expose-local-networksaffects ONLY thewebfetchtools (webfetch,webfetch_raw,fetch_doc). The paper-search and websearch tools do not use it.
Rate policy (full delta table)
Because all-mcp merges six apps behind one crawler, the per-domain rate policy is shared; here is the full standalone-vs-all-mcp delta (qps, burst, timeout, cap, HTTP/2, redirects): The default is qps=1 / burst=1 β a conservative single-DOMAIN-at-a-time throttle that costs latency but is the least likely to get your IP throttled. See the deltas below.
| app (engine) | standalone qps / burst | all-mcp qps / burst | standalone timeout | all-mcp timeout | standalone cap | all-mcp cap | http2 | redirects |
|---|---|---|---|---|---|---|---|---|
| webfetch | 2 / 1 | 1 / 1 | 30 s | 30 s | 50 MB | 50 MB (lib-fixed) | gains http2 | 5 |
| websearch ddg | 1 / 1 | 1 / 1 | 10 s | 30 s | 5 MB | 50 MB | yes (both) | 5 |
| websearch brave | 2 / 1 | 1 / 1 | 10 s | 30 s | 5 MB | 50 MB | gains http2 | 5 |
| travel (flights/hotels) | 2 / 1 | 1 / 1 | 5 s | 30 s | unlimited | 50 MB | gains http2 | 10 β 5 |
| arxiv | 1 / 1 | 1 / 1 | 30 s | 30 s | unlimited | 50 MB | gains http2 | 5 |
| iacr | 3 / 1 | 1 / 1 | 30 s | 30 s | unlimited | 50 MB | gains http2 | 5 |
| pubmed | 3 / 1 | 1 / 1 | 30 s | 30 s | unlimited | 50 MB | gains http2 | 5 |
Caution (tradeoff sentences, read before pointing an LLM at this):
- per-domain qps is reduced for 5 of 7 engine configs (webfetch/brave/travel/iacr/pubmed 2/2/2/3/3 β 1) in exchange for one per-domain bucket shared across all tools;
- timeouts are relaxed for travel (5 s β 30 s) and websearch (10 s β 30 s) β a hung upstream now delays up to 30 s;
- body caps: search 5 MB β 50 MB (oversized responses that errored standalone now succeed β different error semantics), travel/papers gain a 50 MB cap; enforcement caveat: the cap is enforced via Content-Length pre-check plus per-tool streaming caps where they exist; chunked responses without Content-Length are not hard-capped; webfetch tools are fixed at the lib's 50 MB regardless of the
--max-resp-size-mbflag; - the domain cache is an LRU with
max_domains = 128keyed on host only (port/scheme ignored); eviction resets the evicted domain's GCRA state to a fresh burst, and the 128-slot cache is now shared across 6 apps β roughly 6Γ shorter per-domain state lifetime; --burst=1 therefore serializes concurrent calls to the same host at qps spacing;- the GCRA queue wait is unbounded and sits outside the 30 s request timeout; worst case at qps=1 a retrying call can stall a host for tens of seconds;
--qps,--burst,--max-resp-size-mboverrides exist if you want to relax or tighten the shared policy;- HTTP/2 requests are sent on the shared crawler (where the engine supports it) β see the
http2column; - travel redirect delta: travel tools follow max 5 redirects in all-mcp, vs 10 standalone β this is documented, not "fixed", to avoid creating a webfetch/paper mismatch;
- the session cache is shared across all clients (512 sessions / 10 min) β heavy concurrent pagination may evict other sessions early.
Claude Desktop configuration (stdio)
Add the block to your claude_desktop_config.json β stdio, exactly:
{
"mcpServers": {
"delulu-all-mcp": {
"command": "delulu-all-mcp",
"args": ["--qps", "1", "--burst", "1", "--max-resp-size-mb", "50", "stdio"]
}
}
}
Do not add
--expose-local-networksunless your documents are on the same machine/private network. It silently widens the SSRF surface for the webfetch tools.
For the HTTP transport (no auth built-in):
delulu-all-mcp http --host 127.0.0.1 --port 8080
# NO authentication β bind to 127.0.0.1 (or a firewall) and do not expose the port publicly.
Docker Compose:
delulu-all-mcpis not yet wired intodocker-compose.ymlβ run it from the binary or OCI image directly for now.
License
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
See LICENSE or http://www.gnu.org/licenses/ for details.