IRA-RESEARCHER
A powerful browser automation MCP server with 40 tools, stealth mode, ghost effects, and full DevTools access, enabling natural language control of browsers without any API keys.
README
š¬ IRA-RESEARCHER ā Browser Automation MCP Server
The most powerful browser automation MCP server ā 40 tools, 7 ghost effects, stealth mode, and full DevTools access.
⨠Features
- 40 tools ā navigation, interaction, vision, tabs, DevTools, utility, health
- š» Ghost effects ā floating action panel, click ripples, typing glow, drag arrows, scroll indicators, screenshot flash
- š”ļø Stealth mode ā puppeteer-extra anti-detection
- š Auto proxy rotation ā random proxy from a pool
- š§ Full DevTools ā console, network, elements, styles, performance, storage, accessibility audit
- š Auto browser launch ā no Chrome extension needed
- š Zero API keys ā no LLM dependency
š Quick Start
1. Install
cd IRA-RESEARCHER
npm install
npx puppeteer browsers install chrome
2. Add to Any MCP Client
Replace C:\\path\\to\\IRA-RESEARCHER with the actual path to this folder.
<details> <summary><b>Cursor</b></summary>
.cursor/mcp.json ā add to the mcpServers object:
{
"mcpServers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>Claude Code CLI</b></summary>
Run in terminal:
claude mcp add ira-researcher node C:\path\to\IRA-RESEARCHER\src\index.js --env IRA_HEADLESS=false --env IRA_WINDOW=maximize --env IRA_GHOST=true
Or manually edit ~/.claude/mcp.json:
{
"mcpServers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>Claude Desktop</b></summary>
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>OpenCode</b></summary>
Project root opencode.json:
{
"mcp": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>VS Code / GitHub Copilot</b></summary>
.vscode/mcp.json:
{
"servers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>Cline (VS Code)</b></summary>
VS Code Settings ā Extensions ā Cline ā MCP Servers ā Add:
{
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
</details>
<details> <summary><b>Windsurf</b></summary>
.windsurfrules or MCP settings:
{
"mcpServers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>Aider</b></summary>
.aider.conf.yml:
mcp-servers:
ira-researcher:
command: node
args:
- "C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"
env:
IRA_HEADLESS: "false"
IRA_WINDOW: "maximize"
IRA_GHOST: "true"
Or via CLI:
aider --mcp-server ira-researcher node C:\path\to\IRA-RESEARCHER\src\index.js
</details>
<details> <summary><b>Zed</b></summary>
~/.config/zed/settings.json ā add to context_servers:
{
"context_servers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
<details> <summary><b>Other (generic MCP client)</b></summary>
Any MCP-compatible tool uses this JSON:
{
"mcpServers": {
"ira-researcher": {
"command": "node",
"args": ["C:\\path\\to\\IRA-RESEARCHER\\src\\index.js"],
"env": {
"IRA_HEADLESS": "false",
"IRA_WINDOW": "maximize",
"IRA_GHOST": "true"
}
}
}
}
</details>
3. Use
The 40 tools appear automatically: ira_navigate, ira_click, ira_screenshot, etc.
š§° Tools (40)
| Category | Tools |
|---|---|
| Navigation | ira_navigate, ira_go_back, ira_go_forward, ira_reload |
| Interaction | ira_click, ira_type, ira_hover, ira_drag, ira_upload, ira_select, ira_keyboard |
| Vision & Reading | ira_screenshot, ira_element_screenshot, ira_extract_images, ira_get_state, ira_read_page, ira_find, ira_extract_text, ira_extract_table, ira_get_html |
| Tabs | ira_tabs, ira_switch_tab, ira_close_tab, ira_new_tab |
| Debug & DevTools | ira_console, ira_network, ira_javascript, ira_inspect_element, ira_get_styles, ira_performance, ira_storage, ira_network_timing, ira_audit_accessibility |
| Utility | ira_wait, ira_scroll, ira_set_viewport, ira_cookies, ira_pdf, ira_intercept |
| Health & Status | ira_health |
āļø Environment Variables
| Variable | Default | Description |
|---|---|---|
IRA_HEADLESS |
false |
Run browser in headless mode |
IRA_WINDOW |
auto |
Window sizing: maximize, auto (detect screen), or WxH like 1280x800 |
IRA_GHOST |
true |
Enable ghost overlay UI |
IRA_STEALTH |
true |
Enable anti-detection measures |
IRA_PROXY |
`` | Proxy URL or comma-separated pool |
IRA_PROXY_ROTATE |
false |
Auto-rotate proxies randomly |
IRA_DEBUG |
false |
Enable verbose debug logging |
Window visibility: Set
IRA_HEADLESS=false+IRA_WINDOW=maximizeto open a maximized, focused Chrome window on Windows. The browser auto-detects your screen work area and uses--start-maximizedto bypass OS focus-steal blocks.
š» Ghost Effects
When enabled, a floating panel appears on the right side of the browser showing all actions in real-time:
- ā¶ļø Action (green) ā navigation, clicks
- š Thought (orange) ā reasoning
- ā Success (green) ā completed actions
- ā Error (red) ā failures
- š Click ripples ā orange expanding circles at click points
- š¢ Typing glow ā green glow on active input fields
- š“ Drag arrows ā animated SVG path from start to end
- šø Screenshot flash ā brief white flash
Toggle panel: Ctrl+Shift+I
š Project Structure
IRA-RESEARCHER/
āāā src/
ā āāā index.js ā Entry point (uses pipeline)
ā āāā pipeline.js ā Middleware: logging, timing, error wrapping
ā āāā browser.js ā Browser launcher + CDP console/network tracking
ā āāā utils.js ā Shared helpers (textResult, ghost effects)
ā āāā tools/ ā 40 tools (9 files)
ā ā āāā navigation.js ā 4 tools
ā ā āāā interaction.js ā 7 tools
ā ā āāā vision.js ā 3 tools
ā ā āāā reading.js ā 6 tools
ā ā āāā tabs.js ā 4 tools
ā ā āāā debug.js ā 3 tools
ā ā āāā devtools.js ā 6 tools
ā ā āāā utility.js ā 6 tools (wait, scroll, set_viewport, cookies, pdf, intercept)
ā ā āāā status.js ā 1 tool (ira_health)
ā āāā ghost/index.js ā Ghost effects
āāā package.json
āāā README.md
š Comparison
| Feature | Claude-in-Chrome | Browser MCP | browser-use | IRA-RESEARCHER |
|---|---|---|---|---|
| Tools | 18 | 12 | 14+20 | 40 |
| Browser launch | Manual | Manual | Auto | Auto |
| Extension needed | Yes | Yes | No | No |
| Ghost effects | None | None | Panel | 7 effects |
| Stealth mode | No | No | Cloud | puppeteer-extra |
| Proxy rotation | No | No | No | Auto |
| DevTools access | Console+Net | Console | None | 9 tools |
| API keys needed | No | No | Yes | No |
| Setup steps | 4 | 3 | 2 | 2 |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.