Show HN: Tilion – MCP for Claude Code to stop it getting blocked on the web Tilion released an open-source MCP server that gives AI agents like Claude Code a stealth Chromium engine to bypass web blocking systems such as Cloudflare, DataDome, and PerimeterX. The tool runs locally on the user's machine and IP, allowing agents to retrieve blocked pages by driving a real browser. It is available now for Linux, Windows, and macOS via Docker. Beta· 29 tools · runslocal & free·hosted cloud coming soon📖 — every tool, the block-handling decision model, workflow recipes, and config. Full usage guide → mcp/USAGE.md An MCP https://modelcontextprotocol.io server that gives any AI agent the Fortress stealth engine the moment it gets blocked. When a fetch hits Cloudflare, DataDome, PerimeterX, a 403, or a CAPTCHA, the agent calls these tools and gets the page — driving a real, recompiled Chromium on your own machine and IP. Real, dated run against stockx.com PerimeterX . A stock browser gets HTTP 403 — “Access denied”; an agent with the Fortress MCP returns clean JSON. Reproduce with the demo scripts in the framework repo. pip install "tilion mcp " pulls the Fortress engine tilion-fortress automatically tilion-mcp or: python -m tilion.mcp stdio transport The MCP server is a thin, open wrapper BSD-3 over the tilion framework, which drives the Fortress engine. On Linux and Windows the stealth Chromium downloads on first run and is cached locally. On macOS the engine runs as a Docker image instead. Read the macOS section below before you start. There is no native macOS engine binary yet, so on a Mac the Fortress engine runs as the official Docker image tilion/fortress:149 . tilion-mcp itself runs natively in Python. Only the browser engine is containerised, and the server starts and stops that container for you. All you supply is a running Docker daemon. - Install the MCP and engine wrapper: pip install "tilion mcp " - Give it a Docker daemon. Colima is lighter than Docker Desktop and needs no license or GUI: Give the VM at least 4 CPUs and 4 GB of RAM, since it runs a real Chromium. brew install colima docker Apple Silicon: vz + Rosetta runs the amd64 engine image fast. colima start --cpu 4 --memory 6 --disk 30 --vm-type=vz --vz-rosetta Intel Macs: plain colima start works. Docker Desktop is also fine if you already run it. - Register the server with your client. For Claude Code: claude mcp add fortress -- tilion-mcp - The first tool call pulls the image once about 300 MB , then the container stays warm and calls are fast. Call get egress info to confirm the engine is alive; it returns the public IP the target sees. | Pitfall | What happens, and the fix | |---|---| Setting FORTRESS CHANNEL=latest | That channel points at tilion/fortress:151 , which is not published to Docker Hub, so the pull 404s and the engine never starts. Stay on the default stable channel, tilion/fortress:149 . Native Linux and Windows are unaffected, since they fetch the GitHub release rather than the image. | | A leftover Docker Desktop credential helper | docker pull fails with docker-credential-desktop … executable file not found . Open ~/.docker/config.json and delete the "credsStore": "desktop" line. | | Worrying about the platform warning | The requested image's platform linux/amd64 does not match the detected host platform linux/arm64/v8 is expected on Apple Silicon and harmless. The amd64 engine runs under Rosetta, a little slower than native Linux. | Running two tilion-mcp servers at once | Each launches a Fortress container on host port 9222 , so the second fails with docker … exit status 125 port already allocated . Run one server per machine. | | Assuming Colima survives a reboot | If tool calls fail with a Docker error after a reboot, run colima start . To start it at login, run brew services start colima . | Setting TILION MCP HEADLESS=0 for a visible window | This has no effect on macOS. The containerised engine is headless only. A visible window needs the native Linux or Windows binary. | Your Mac's home or office IP is residential, which suits most sites. For the hardest targets, or when running from a datacenter, route the engine through a residential proxy. Set TILION PROXY=http://user:pass@host:port and optionally TILION REGION=us before starting the server, then confirm with get egress info . Claude Desktop / Cursor — add to the MCP config: { "mcpServers": { "fortress": { "command": "tilion-mcp" } } } Cline / Windsurf VS Code settings → MCP servers : { "fortress": { "command": "tilion-mcp" } } If tilion-mcp isn't on PATH, use "command": "python", "args": "-m", "tilion.mcp" . Full per-tool detail + workflows in USAGE.md. | Tool | What the agent uses it for | |---|---| fetch protected page | get a page behind Cloudflare / DataDome / 403 / CAPTCHA | read page | clean reader-mode markdown of any page + tables | extract page | markdown + tables + metadata or a schema-shaped record | extract document | extract a PDF/DOCX/XLSX/CSV/HTML file path or URL → markdown | page elements | the page's buttons / links / fields / headings | click button · fill field · press key | drive a form by visible text / selector / key | current page · get page html · evaluate js · wait for | inspect / script / wait on the working page | crawl site | crawl a whole site auto-handles SPA/JS → pages + sitemap | recon site apis | reverse-engineer a site's private XHR/JSON API secret-scrubbed | detect waf | identify the anti-bot vendor Cloudflare/DataDome/PerimeterX/Akamai/Kasada + strategy | run browser task · list browser tasks | 20 multi-step flows: login, paginate, infinite-scroll, checkout… | search web | web search through the stealth browser no SERP API | screenshot page · save page · download file | capture PNG / export pdf·html·text / download a file | get cookies · save profile · load profile | read cookies · persist/restore an authenticated session | list tabs · close tab | manage open tabs | get stealth cdp endpoint | a CDP url to point your OWN browser-use / Playwright / Puppeteer at | solve captcha | detect + solve a reCAPTCHA/hCaptcha/Turnstile needs CAPTCHA API KEY | get egress info | report proxy/region + the real public IP the target sees verify residential egress | Tools are annotated readOnlyHint / destructiveHint so clients auto-approve reads and gate writes. Every tool is timeout- and SSRF-guarded , caps its output, and returns a structured error instead of hanging. The browser is pre-warmed at startup , so the first call is ~100 ms. Real head-to-head — an agent with only its built-in web fetch vs. the same task through the Fortress MCP: | Task | Built-in web fetch | Fortress MCP | |---|---|---| | Reddit r/programming titles | ✗ 0 items | ✓ 26 titles | | JS-rendered page quotes | ✗ 0 quotes | ✓ 10 quotes | | Wikipedia article | ✗ 403 to bots | ✓ 52 k markdown | | Hacker News top stories | ✓ 30 · 24 s | ✓ 30 · 2 s ~12× faster | Fingerprint suites: Sannysoft all-green · CreepJS 0% headless · BrowserScan “Normal.” | Env var | Default | Effect | |---|---|---| TILION MCP PREWARM | 1 | boot the browser at startup; 0 = lazy | TILION MCP HEADLESS | 1 | 0 to show a visible window | TILION ALLOW PRIVATE EGRESS | 0 | 1 to allow localhost / private IPs SSRF guard off | TILION MCP TOOL TIMEOUT | 120 | per-tool wall-clock cap seconds | TILION BASE URL / TILION API KEY | — | hosted mode coming soon | TILION PROXY | — | egress proxy http://user:pass@host:port residential/mobile | TILION REGION | — | egress region hint e.g. us — aligns timezone/locale to the IP | CAPTCHA API KEY | — | solver key; fetch then auto-solves + solve captcha works | CAPTCHA PROVIDER | 2captcha | 2captcha | anticaptcha | capsolver | tilion-mcp → the tilion framework local mode → attaches over CDP to the Fortress engine. Stealth is applied natively in the C++ engine , so there's no detectable JS injection. One warm browser backs every tool for the server's lifetime. Registry manifests: server.json /tiliondev/fortress/blob/main/mcp/server.json MCP registry · Smithery . Agent skill: /tiliondev/fortress/blob/main/mcp/smithery.yaml smithery.yaml . /tiliondev/fortress/blob/main/mcp/skill/SKILL.md skill/SKILL.md BSD-3-Clause the MCP server and framework funnel . The engine binary ships via tilion-fortress . Hosted cloud with residential egress is coming soon.