mcp-unified-automation
Enables browser-based automation for Facebook, including navigation, form interaction, and content extraction using domain-specific readiness profiles.
Allows browser automation for GitHub, facilitating repository navigation, code review, and issue management with domain-specific wait strategies.
Provides automated interaction with Gmail via Playwright, supporting tasks like composing, reading, and managing emails with readiness-aware loading.
Supports automated interaction with Google services (Search, Search Console, etc.) through browser automation, including navigation and data retrieval.
Enables browser-based automation for Instagram, including profile interaction, content extraction, and navigation with tailored readiness profiles.
Provides automated browsing and interaction with Yelp, allowing business searches, review extraction, and navigation with domain-specific loading waits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-unified-automationGo to google.com and search for MCP server tutorial"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# mcp-unified-automation
Custom MCP server — Playwright browser automation + system control, 25 tools, stdio transport.
Launched via RUN_MCP_FAST.bat on George's Desktop. Connects to Claude Code as a local MCP server.
What it does
Runs a headed Chrome instance using George's actual Chrome profile (User Data dir), so the browser has real auth cookies — logged into Google, Search Console, Gmail, everything. Claude operates it through 25 registered MCP tools.
Tool groups:
Group | Count | What it covers |
| 7 | Backward-compatible Playwright tools (navigate, click, type, screenshot, etc.) |
| 6 | Shell commands, file read/write, process control |
| 2 | Named browser session management (multiple tabs/contexts) |
| 5 | Task DSL engine — plan, run, resume, pause, commit |
| 1 | DOM observation / mutation watching |
| 2 | Request blocking + API endpoint discovery |
| 1 | Export + hash-chain verification of browser actions |
| 1 | Step-level timing and performance reporting |
Related MCP server: LCBro
Setup
git clone https://github.com/gugosf114/mcp-unified-automation
cd mcp-unified-automation
npm install
cp .env.example .env
# Edit .env if your Chrome User Data path differs
npm run buildThen double-click RUN_MCP_FAST.bat (or right-click → Run as administrator if system tools need elevation).
.env config
BROWSER_HEADED=true # Show the browser window
BROWSER_BLOCK_MEDIA=false # Block images/video to speed up crawls
HUMAN_DELAY_MIN=50 # ms — min delay between actions
HUMAN_DELAY_MAX=200 # ms — max delay (human-like pacing)
FAST_MODE=true # Skip networkidle waits + nav waits on click (10x faster)
CHROME_USER_DATA_DIR=C:\Users\georg\AppData\Local\mcp-unified-automation\chrome-profileCHROME_USER_DATA_DIR points to a dedicated Chrome profile so sessions, cookies, and logins carry over. Must NOT be Chrome's default user-data-dir (Chrome blocks DevTools on it).
FAST_MODE skips Playwright's networkidle wait after every navigation and click. Modern sites (GA4, Gmail, etc.) never truly go network-idle due to analytics pings and websockets, so the default behavior just burns 10-30 seconds hitting the timeout. With FAST_MODE, pages are interactable as soon as the DOM loads.
Claude Code config
Add to your Claude Code MCP config (claude_desktop_config.json or equivalent):
{
"mcpServers": {
"unified-automation": {
"command": "node",
"args": ["C:\\path\\to\\mcp-unified-automation\\dist\\index.js"]
}
}
}Or just run the BAT — it handles the node invocation.
Architecture
src/
index.ts — server entry, registers all tool groups
kernel.ts — wires up shared managers (session, task, observer, network, evidence, metrics)
tools/ — one file per tool group
cdp/ — Chrome DevTools Protocol bridge
session/ — named session + page slot management
task/ — task DSL (plan/run/resume/pause/commit)
observer/ — DOM mutation bus
network/ — request interceptor + API discovery
evidence/ — action ledger + hash chain
metrics/ — step timing engine
checkpoint/ — mid-task state snapshots
recovery/ — resume after crash/disconnect
policy/ — action policy enforcement
types/ — shared TypeScript typesStack
Node.js (ESM)
TypeScript 5.7
Playwright 1.52
@modelcontextprotocol/sdk1.12Zod (schema validation)
What's New (March 2026)
Features you can use
Domain readiness profiles (
src/readiness.ts) — The server now knows how to wait for LinkedIn, Gmail, Google Search, GitHub, Yelp, Facebook, and Instagram. Instead of waiting fornetworkidle(which times out on every modern site), it waits for the actual content selector that proves the page loaded. You don't call this directly — it fires automatically on everynavigate,goto, andwarmcall. If you add a new site you automate frequently, add its selector toreadiness.ts.Selective evidence mode — New
.envsettingEVIDENCE_MODE=selectiverecords screenshots/DOM snapshots only on errors, approval gates, and the first/last step of a task. Set tofullfor audit trails,noneto skip entirely. Controlled in.env, no code changes needed.Semantic tool returns —
browser_navigate,browser_click, andsession_opennow return richer data:readyState, whether navigation occurred, whether the readiness selector matched, the domain profile used. This means Claude doesn't need a follow-upgetPageInfocall after every action — the info comes back in the tool response. Fewer round trips = faster task execution.Task management tools renamed —
task.list→task_list,task.status→task_status,task.cancel→task_cancel. Claude Desktop rejects dots in tool names. If you had prompts referencing the old names, update them.
Performance & safety (automatic, no action needed)
FAST_MODE — When
FAST_MODE=truein.env: zero human delays, skipnetworkidlewaits, sparse checkpoint writes (every 3rd step instead of every step), evidence recording followsEVIDENCE_MODEsetting. Already enabled in your.env.Stable path resolution — Data directories (
data/checkpoints/,data/evidence/) now resolve from the module's own location (import.meta.url), notprocess.cwd(). This fixed the crash when Claude Desktop spawned the server fromC:\WINDOWS\system32. Centralized insrc/env.tsasDATA_ROOT.Retry with exponential backoff (
src/action/retry.ts) — Network-sensitive actions auto-retry on transient failures.Conditional steps & parallel runner — Task DSL now supports
conditionfields on steps and a parallel step executor for independent actions.
Notes
browser_*tools use a”default”page slot for backward compatibility — existing Claude prompts that callbrowser_navigateetc. still work unchanged.The task engine supports mid-run pause/resume — useful for long multi-step jobs that might hit context limits.
Evidence ledger produces a hash-chained audit trail of every browser action. Useful for compliance work.
Recovery module handles reconnect after Claude Code crashes or context resets.
Execution Policy
This server runs in operator-first mode.
Reversible automation and read/write navigation steps are allowed by default — no approval gate required. Human approval is required only for:
Financial actions (payments, subscriptions, transactions)
Destructive actions (deletes, overwrites, sends that cannot be undone)
Explicit pproval_gate checkpoints defined in the task DSL
The operator, not the client UI, is the final authority over execution policy. Approval prompts are task-level constructs, not UI-level guardrails.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gugosf114/mcp-unified-automation'
If you have feedback or need assistance with the MCP directory API, please join our Discord server