Agent skill
mcp-undetected-chromedriver
Use for stealth browser automation that bypasses bot detection. Undetected ChromeDriver for web scraping, anti-detection browsing, form filling, screenshots, PDF export, JavaScript evaluation. 16 tools for automation without triggering bot protection.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/mcp-undetected-chromedriver
SKILL.md
mcp-undetected-chromedriver Skill
Stealth browser automation using undetected ChromeDriver. Bypasses common bot detection while providing full browser control for scraping, testing, and automation.
Context Efficiency
Traditional MCP approach:
- All 16 tools loaded at startup
- Estimated context: 8000 tokens
This skill approach:
- Metadata only: ~100 tokens
- Full instructions (when used): ~5k tokens
- Tool execution: 0 tokens (runs externally)
How This Works
Instead of loading all MCP tool definitions upfront, this skill:
- Tells you what tools are available (just names and brief descriptions)
- You decide which tool to call based on the user's request
- Generate a JSON command to invoke the tool
- The executor handles the actual MCP communication
Available Tools
-
browser_navigate: Navigate to a URLArgs: url: The URL to navigate to - required timeout: The timeout for the navigation - optional, default is 30000
-
browser_screenshot: Take a screenshot of the current page or a specific elementArgs: name: The name of the screenshot - required, default is "screenshot" storeBase64: Whether to store the screenshot as a base64 string - optional, default is True downloadsDir: The directory to save the screenshot to - optional, default is the user's Downloads directory
-
browser_click: Click an element on the pageArgs: selector: The selector of the element to click - required
-
browser_iframe_click: Click an element inside an iframe on the pageArgs: iframeSelector: The selector of the iframe - required selector: The selector of the element to click - required
-
browser_fill: fill out an input fieldArgs: selector: CSS selector for input field - required value: The value to fill - required
-
browser_select: Select an element on the page with Select tagArgs: selector: CSS selector for element to select - required value: The value to select - required
-
browser_hover: Hover over an element on the pageArgs: selector: CSS selector for element to hover over - required
-
browser_evalute: Evaluate a JavaScript expression in the browser consoleArgs: script: The JavaScript expression to evaluate - required
-
browser_close: Close the browser and release all resources -
browser_get_visible_text: Get the visible text of the current page -
browser_get_visible_html: Get the HTML of the current page -
browser_go_back: Navigate back in browser history -
browser_go_forward: Navigate forward in browser history -
browser_drag: Drag an element to another elementArgs: sourceSelector: The selector for the element to drag - required targetSelector: The selector for the target location - required
-
browser_press_key: Press a key on the keyboardArgs: key: The key to press - required, (e.g. 'Enter', 'ArrowDown', 'a') selector: Optional CSS selector to focus on before pressing the key - optional
-
browser_save_as_pdf: Save the current page as a PDFArgs: outputPath: The path to save the PDF to - required filename: The name of the PDF file - optional, default is "page.pdf" format: The format of the PDF - optional, default is "A4" (e.g. "A4", "LETTER", "LEGAL", "TABLOID") printBackground: Whether to print the background - optional, default is True margin: The margin of the PDF - optional, default is None (e.g. {"top": "1cm", "right": "1cm", "bottom": "1cm", "left": "1cm"})
Usage Pattern
When the user's request matches this skill's capabilities:
Step 1: Identify the right tool from the list above
Step 2: Generate a tool call in this JSON format:
{
"tool": "tool_name",
"arguments": {
"param1": "value1",
"param2": "value2"
}
}
Step 3: Execute via bash:
python .claude/skills/mcp-skills/executor.py --skill mcp-undetected-chromedriver --call 'YOUR_JSON_HERE'
Getting Tool Details
If you need detailed information about a specific tool's parameters:
python .claude/skills/mcp-skills/executor.py --skill mcp-undetected-chromedriver --describe tool_name
This loads ONLY that tool's schema, not all tools.
Examples
Example 1: Simple tool call
User: "Navigate to a website with stealth browser"
Your workflow:
- Identify tool:
browser_navigate - Generate call JSON
- Execute:
python .claude/skills/mcp-skills/executor.py --skill mcp-undetected-chromedriver --call '{"tool": "browser_navigate", "arguments": {"url": "https://example.com"}}'
Example 2: Get tool details first
python .claude/skills/mcp-skills/executor.py --skill mcp-undetected-chromedriver --describe browser_screenshot
Returns the full schema, then you can generate the appropriate call.
Error Handling
If the executor returns an error:
- Check the tool name is correct
- Verify required arguments are provided
- Ensure the MCP server is accessible
Performance Notes
Context usage comparison for this skill:
| Scenario | MCP (preload) | Skill (dynamic) |
|---|---|---|
| Idle | 8000 tokens | 100 tokens |
| Active | 8000 tokens | 5k tokens |
| Executing | 8000 tokens | 0 tokens |
Savings: ~37% reduction in typical usage
This skill was auto-generated from an MCP server configuration. Generator: mcp_to_skill.py
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?