openclaw-lightpanda-mcp
v1.0.1
Published
OpenClaw-ready MCP server for Lightpanda headless browser automation (stdio, hybrid URL-first).
Maintainers
Readme
OpenClaw Lightpanda MCP Server
Version: 1.0.0
OpenClaw-focused MCP server wrapper for Lightpanda headless browser. It provides browser automation tools for navigation, clicking, form filling, JavaScript evaluation, screenshots, and content extraction.
Transport: stdio (local MCP process)
State model: hybrid URL-first with shared page
- If a tool call includes
url, the server navigates first and runs that tool. - If
urlis omitted, the tool reuses the active page from the current persistent MCP session. - If there is no active page and no
url, the server returnsNO_ACTIVE_PAGE.
Tools
lightpanda_navigate: Navigate to a URLlightpanda_click: Click an element by CSS selectorlightpanda_fill: Fill form fields by selector/valuelightpanda_evaluate: Execute JavaScript on the pagelightpanda_screenshot: Capture screenshot and return base64lightpanda_get_text: Extract page or element textlightpanda_wait_for: Wait for selector or text conditionlightpanda_wait_until: Wait fornetworkidleordomcontentloadedlightpanda_select: Select option by value, label, or index
Requirements
- Node.js 18+
- Running Lightpanda CDP endpoint (default:
ws://127.0.0.1:9222)
Install
npm installRun
npm startThe process communicates over stdin/stdout for MCP hosts.
OpenClaw / mcporter usage
Register this server as a local MCP process:
- Command:
node - Args:
[/Users/joypatel/openclaw-lightpanda/src/index.js] - Working directory:
/Users/joypatel/openclaw-lightpanda
Or run via npm script:
- Command:
npm - Args:
[start] - Working directory:
/Users/joypatel/openclaw-lightpanda
Important for one-shot CLI calls:
- If you use
mcporter callstyle process-per-call execution, includeurlon each page-dependent tool call. - In persistent OpenClaw agent sessions, you can call
lightpanda_navigateonce and then omiturlin follow-up tools.
Configuration
Environment variables:
LIGHTPANDA_CDP_URL(default:ws://127.0.0.1:9222)LOG_LEVEL(default:info, one oferror|warn|info|debug)DEFAULT_TIMEOUT_MS(default:30000)
Tests
npm testIndividual tests:
npm run test:basic
npm run test:navigate
npm run test:evaluate
npm run test:formTroubleshooting
- Verify Lightpanda container is up and exposes port
9222. - Confirm
LIGHTPANDA_CDP_URLmatches your endpoint.
