Ruby MCP server for AI-driven browser automation with stealth mode to evade bot detection, powered by Ferrum
MCPpedia last refreshed this data
Crucible is an MCP server that ruby MCP server for AI-driven browser automation with stealth mode to evade bot detection, powered by Ferrum. Its tool list has not been published yet over stdio, requires no API key, and scores 68/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"crucible": {
"args": [
"--config",
"~/.config/crucible/config.yml"
],
"command": "crucible"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Ruby MCP (Model Context Protocol) server for browser automation using Ferrum and headless Chrome. Provides 29 tools that AI agents can use to control browsers, with built-in stealth mode to evade bot detection.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser
Open-source web scraper for AI agents with scrape, crawl, and map tools
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP Security Weekly
Get CVE alerts and security updates for Crucible and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Ruby MCP (Model Context Protocol) server for browser automation using Ferrum and headless Chrome. Provides 29 tools that AI agents can use to control browsers, with built-in stealth mode to evade bot detection.
gem install crucible
Or from source:
git clone https://github.com/joshfng/crucible.git
cd crucible
bundle install
# Run with defaults (headless, 1280x720 viewport, 30s timeout)
crucible
# Run with visible browser
crucible --no-headless
# Full options
crucible \
--no-headless \
--width 1920 \
--height 1080 \
--timeout 60 \
--chrome /usr/bin/chromium \
--error-level debug
| Option | Description | Default |
|---|---|---|
-c, --config FILE | Path to YAML configuration file | auto-detect |
--[no-]headless | Run browser in headless mode | true |
-w, --width WIDTH | Viewport width in pixels | 1280 |
-h, --height HEIGHT | Viewport height in pixels | 720 |
--chrome PATH | Path to Chrome/Chromium executable | auto-detect |
-t, --timeout SECONDS | Default timeout in seconds | 30 |
--error-level LEVEL | Logging level (debug/info/warn/error) | warn |
--screenshot-format FMT | Default screenshot format (png/jpeg/base64) | png |
--content-format FMT | Default content format (html/text) | html |
--[no-]stealth | Enable/disable stealth mode | true |
--stealth-profile PROFILE | Stealth profile (minimal/moderate/maximum) | moderate |
--stealth-locale LOCALE | Browser locale for stealth mode | en-US,en |
gem install crucible
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"crucible": {
"command": "crucible",
"args": ["--config", "~/.config/crucible/config.yml"]
}
}
}
| Tool | Description |
|---|---|
navigate | Navigate browser to a URL |
wait_for | Wait for an element to appear |
back | Navigate back in history |
forward | Navigate forward in history |
refresh | Refresh the current page |
| Tool | Description |
|---|---|
click | Click an element (supports double-click, right-click) |
type | Type text into an input (with optional clear/submit) |
fill_form | Fill multiple form fields at once |
select_option | Select option from dropdown |
scroll | Scroll page or element into view |
hover | Hover over an element |
| Tool | Description |
|---|---|
screenshot | Take screenshot (viewport, full page, or element); save to file or return base64 |
get_content | Get page content (HTML or text) |
pdf | Generate PDF of the page; save to file or return base64 |
evaluate | Execute JavaScript and return result |
get_url | Get current page URL |