← Back to directory
F

Fortress MCP Server

Community
Stealth browser engine that lets AI agents fetch pages past Cloudflare/DataDome/CAPTCHA and extract clean data.
GitHub source repository ↗
★ 467 Stars Category · Browser Very popular Source revision 58607300e0aa
58FMRS · C
Reliability
7/20
Security and permissions
12/20
Maintenance
13/20
Documentation
14/20
Setup experience
12/20

Fortress MCP server offers powerful stealth browsing for AI agents, enabling data extraction from heavily protected sites. While there are compliance risks, the engine is fully open-source and auditable, making it a strong choice for developers who value transparency and reproducibility.

Read the FMRS scoring method →

The Fortress MCP server provides 29 stealth browser tools for AI agents. It corrects the browser fingerprint inside Chromium's C++, so the browser presents as an ordinary Chrome install. It enables agents to fetch protected pages, extract structured data, crawl whole sites, and run multi-step browser tasks, all while avoiding bot detection. The server also exposes get_stealth_cdp_endpoint to get a CDP URL for reuse with Playwright/Puppeteer.

Tools

fetch_protected_page
Fetch content of a protected page.
read_page
Read the accessible text content of the current page.
get_page_html
Get the raw HTML source of the current page.
search_web
Perform a web search and return results.
extract_page
Extract structured data from the current page based on a schema.
extract_document
Extract content from PDF, DOCX, XLSX, and other document formats.
crawl_site
Automatically crawl an entire website, including SPAs.
recon_site_apis
Discover private JSON API endpoints used by the site.
page_elements
List all interactive elements available on the page.
click_button
Click a button on the page.
fill_field
Fill text into a form field.
press_key
Simulate a keyboard key press.
wait_for
Wait for a specific element or condition to be met.
evaluate_js
Execute JavaScript code in the page context.
run_browser_task
Run a multi-step browser task (e.g., login, pagination, infinite-scroll, checkout).
screenshot_page
Take a screenshot of the current page.
save_page
Save the current page content to a local file.
download_file
Download a file from the page.
save_profile
Save the browser profile (cookies, localStorage, etc.).
load_profile
Load a previously saved browser profile.
get_stealth_cdp_endpoint
Get the CDP endpoint of the stealth browser for external clients.

Setup

  1. Install Python or Node.js. 2. Run pip install "tilion[mcp]" or npm install -g tilion-mcp. 3. Configure MCP client, e.g., add to Claude Desktop's claude_desktop_config.json: {"mcpServers":{"fortress":{"command":"tilion-mcp"}}}. 4. Restart client to see the fortress tools.
claude_desktop_config.json
{
  "mcpServers": {
    "fortress": {
      "command": "tilion-mcp"
    }
  }
}

Fit and risk

Best for

  • AI agents and browser automation projects that need to access heavily protected websites.
  • Developers who need clean, reproducible page extraction and site crawling.
  • Teams that value open-source and auditable stealth technology.

Not for

  • Use cases requiring strict compliance with website terms of service; stealth techniques may violate ToS.
  • Users needing multiple simultaneous personas or highly configurable fingerprints (current CLI limits one persona per launch).
  • Native binaries on macOS or ARM platforms; must run via Docker.

Required permissions

  • Launches a local Chromium browser process and exposes a CDP endpoint on a local port (e.g., 9222).
  • Assumes full control of the browser via MCP tool calls: navigation, clicks, typing, etc.
  • May access localhost or private IPs, but is SSRF-guarded by default; set TILION_ALLOW_PRIVATE_EGRESS=1 to allow.

Risks and side effects

  • Use of stealth techniques may violate website terms of service and carry legal risks.
  • Even with fingerprint correction, advanced detection can still flag the browser, especially with datacenter IPs.
  • The browser process consumes CPU and memory; concurrent sessions may impact system performance.

Troubleshooting

  1. If a tool is blocked, check if it's an IP issue: use residential or mobile proxies and retry.
  2. If the fingerprint looks off on Linux, match the persona to your egress OS or use --uxr-* flags.
  3. If first call is slow, set TILION_MCP_PREWARM=1 to prewarm the browser.
  4. Ensure Python is installed and on PATH when using npx (npx runs the server via uv).

Use cases

Extracting data from pages that block standard browsers (e.g., Cloudflare, PerimeterX).
Automating flows that require passing CAPTCHAs or other anti-bot checks (e.g., logging in and downloading a report).
Large-scale site crawling for structured data while minimizing the risk of being blocked.

Supported clients

Claude DesktopFull support
Claude CodeFull support
CursorFull support