A browser automation server for the Model Context Protocol (MCP), enabling AI assistants to interact with web pages through a standardized interface.
| Documentation | Description |
|---|---|
| Getting Started | Installation, setup, and first steps |
| Docker Deployment | Complete Docker guide with Claude Desktop integration |
| API Reference | Complete documentation of all 27+ tools |
| Configuration | Environment variables and advanced configuration |
| Troubleshooting | Common issues and solutions |
| Deployment | Production deployment guide |
| BotBrowser Integration | Anti-detection browser setup |
- What is FerrumMCP?
- Features
- Quick Start
- Documentation
- Tools & Capabilities
- Project Resources
- Contributing
- License
FerrumMCP is a browser automation server that implements the Model Context Protocol (MCP) by Anthropic. It provides AI assistants with the ability to navigate websites, interact with elements, extract content, and perform complex browser automation tasks through a simple, standardized interface.
Key Benefits:
- 🤖 AI-Native Design: Purpose-built for AI assistants like Claude
- 🔄 Session-Based: Multiple concurrent browser sessions with isolated configurations
- 🌐 Multi-Browser: Support for Chrome, Edge, Brave, and BotBrowser
- 🧩 Smart Automation: Cookie banner detection and CAPTCHA solving (
⚠️ experimental) - 📦 Easy Deployment: Docker, systemd, or Kubernetes ready
- 🔌 Dual Transport: HTTP and STDIO for maximum compatibility
✅ Session Management
- Create/manage multiple browser sessions
- Automatic cleanup (30min idle timeout)
- Custom browser configurations per session
✅ Navigation
- URL navigation with network idle detection
- Browser history (back/forward)
- Page refresh
✅ Interaction
- Click, hover, drag-and-drop
- Form filling with typing delays
- Keyboard input simulation
- Smart cookie banner acceptance (8 strategies, multi-language)
- AI-powered CAPTCHA solving (Whisper integration -
⚠️ experimental, under development)
✅ Extraction
- Text and HTML content extraction
- Screenshot capture (base64)
- Page metadata (title, URL)
- XPath-based text search
✅ Advanced
- JavaScript execution and evaluation
- Cookie management (get/set/clear)
- Shadow DOM querying
- Element attribute retrieval
🦾 BotBrowser Integration
- Anti-detection browser automation
- Fingerprint management with encrypted profiles
- Note: Requires valid trial/premium profiles (demo profiles cause session instability)
🔒 Security (v1.0+)
- Session limits
- Rate limiting
- Health check endpoint
- Non-root Docker user
📊 Observability
- File-based logging
- Health checks
- Metrics endpoint (planned)
Standard Image (Chromium only):
docker pull eth3rnit3/ferrum-mcp:latest
docker run --security-opt seccomp=unconfined -p 3000:3000 eth3rnit3/ferrum-mcp:latestBotBrowser Image (Anti-detection):
docker pull eth3rnit3/ferrum-mcp:botbrowser
docker run --security-opt seccomp=unconfined -p 3000:3000 \
-v /path/to/bot_profiles:/profiles:ro \
-e "BROWSER_BOTBROWSER=botbrowser:/opt/botbrowser/chrome:BotBrowser:Anti-detection browser" \
-e "BOT_PROFILE_MACOS_1=/profiles/profile_1.enc:Profile 1:Trial profile 1" \
eth3rnit3/ferrum-mcp:botbrowsergem install ferrum-mcp
ferrum-mcp startgit clone https://github.com/Eth3rnit3/FerrumMCP.git
cd FerrumMCP
bundle install
ruby bin/ferrum-mcp| Guide | Description |
|---|---|
| Installation | Docker, gem, and source installation |
| Claude Desktop Setup | Integrate with Claude Desktop (STDIO) |
| First Session | Create your first browser automation |
| Topic | Link |
|---|---|
| Environment Variables | Configuration Guide |
| Multi-Browser Setup | Multi-Browser Config |
| BotBrowser Integration | BotBrowser Guide |
| Resource Discovery | Resource Config |
| Resource | Description |
|---|---|
| API Reference | Complete tool documentation with examples |
| Session Management | Create, list, and manage browser sessions |
| Navigation Tools | URL navigation and history |
| Interaction Tools | Click, fill forms, solve CAPTCHAs |
| Extraction Tools | Get content, screenshots, metadata |
| Advanced Tools | JavaScript, cookies, Shadow DOM |
| Guide | Description |
|---|---|
| Troubleshooting | Common issues and solutions |
| Deployment | Docker, K8s, systemd deployment |
| Migration | Upgrade between versions |
FerrumMCP provides 27+ browser automation tools organized into 6 categories:
create_session- Create browser sessions with custom configlist_sessions- List all active sessionsget_session_info- Get detailed session informationclose_session- Manually close a session
navigate- Navigate to URLsgo_back- Browser back buttongo_forward- Browser forward buttonrefresh- Reload current page
click- Click elementsfill_form- Fill form fieldspress_key- Keyboard inputhover- Mouse hoverdrag_and_drop- Drag elementsaccept_cookies- Smart cookie banner detection (8 strategies)solve_captcha- AI-powered CAPTCHA solving (⚠️ experimental, under development)
get_text- Extract text contentget_html- Get HTML contentscreenshot- Capture screenshotsget_title- Get page titleget_url- Get current URLfind_by_text- XPath text search
execute_script- Run JavaScriptevaluate_js- Evaluate JavaScript with return valueget_cookies- Get browser cookiesset_cookie- Set cookiesclear_cookies- Clear cookiesget_attribute- Get element attributesquery_shadow_dom- Interact with Shadow DOM
ferrum://browsers- Discover configured browsersferrum://user-profiles- Discover Chrome profilesferrum://bot-profiles- Discover BotBrowser profilesferrum://capabilities- Server capabilities
| Resource | Link |
|---|---|
| Contributing Guide | CONTRIBUTING.md |
| Security Policy | SECURITY.md |
| Changelog | CHANGELOG.md |
| AI Development Guide | CLAUDE.md |
| Platform | Link |
|---|---|
| GitHub Issues | Report bugs |
| GitHub Discussions | Ask questions |
| Docker Hub | eth3rnit3/ferrum-mcp |
| Resource | URL |
|---|---|
| Repository | https://github.com/Eth3rnit3/FerrumMCP |
| Documentation | https://github.com/Eth3rnit3/FerrumMCP/tree/main/docs |
| Releases | https://github.com/Eth3rnit3/FerrumMCP/releases |
| RubyGems | https://rubygems.org/gems/ferrum-mcp |
- Ruby: 3.2 or higher
- Browser: Chrome, Chromium, Edge, or Brave
- OS: Linux, macOS, or Windows
- whisper-cli: For CAPTCHA solving
- BotBrowser: For anti-detection automation
- Docker: For containerized deployment
We welcome contributions! Please see our Contributing Guide for details.
Quick contribution checklist:
- 📖 Read CONTRIBUTING.md
- 🐛 Use issue templates for bugs
- ✨ Use feature request template
- ✅ Run tests:
bundle exec rspec - 📝 Update documentation
- 🎨 Follow RuboCop style
For security vulnerabilities, please email eth3rnit3@gmail.com. See SECURITY.md for our security policy.
FerrumMCP is released under the MIT License.
Built with:
- Ferrum - Ruby Chrome DevTools Protocol
- Model Context Protocol by Anthropic
- Whisper for CAPTCHA solving
- BotBrowser for anti-detection (optional)
- 📚 Documentation: docs/
- 💬 Discussions: GitHub Discussions
- 🐛 Issues: GitHub Issues
- 📧 Email: eth3rnit3@gmail.com
Made with ❤️ by Eth3rnit3