Headlessstage

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Browser automation: navigate, click, fill, screenshot and evaluate in a headless browser.

VerifiedSTDIODesktop onlyBrowser Automation

Overview

AI-generated overview

A local stdio MCP server that gives an assistant headless-browser tools: navigate, click, hover, fill, select, screenshot and run JavaScript.

What you can do
  • Navigate the browser to any URL
  • Click, hover, fill and select page elements and form fields
  • Capture screenshots of the whole page or specific elements
  • Execute JavaScript in the page console
When to use it
Useful when an assistant needs to drive a web page directly: filling in forms, clicking through a flow, checking what a page renders, or taking screenshots. Note that the package ships no browser, so it only works where a Puppeteer-compatible executor has been injected.
Requirements
Runs as a local process via npx or the Docker image; no authentication, environment variables or headers are declared. A Puppeteer-compatible browser executor must be injected by the deployment, since the package bundles and downloads no browser.
Before you install
Without an injected executor, browser commands fail with a "Browser unavailable" error. The evaluate tool runs arbitrary JavaScript in the page, and click, fill and select change page state. Launch options that weaken browser security such as --no-sandbox or --disable-web-security are rejected unless a call explicitly passes allowDangerous: true.

Installation

In SourceWeft

  1. Open Headlessstage in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

headlessstage

Browser automation through a headless browser page, as a CLI and a stdio MCP server in one bin. Navigate to a URL, click, hover, fill and select form elements, take named screenshots and evaluate JavaScript in the page.

The browser itself sits behind an injectable executor interface (BrowserExecutor in src/types.ts). This package bundles no browser and downloads none: with no executor configured, browser commands fail with a clear "Browser unavailable" error. Deployments inject a Puppeteer-compatible executor to drive a real browser. Launch options that weaken browser security (--no-sandbox, --disable-web-security, --allow-insecure-localhost) are rejected unless a call explicitly passes allowDangerous: true.

Install

bash
npx -y @reneturcios/headlessstage mcp

CLI

bash
headlessstage mcp                     # stdio MCP serverheadlessstage navigate <url>headlessstage screenshot <name> [selector]headlessstage click <selector>headlessstage fill <selector> <value>headlessstage evaluate <script>headlessstage --version

Exit codes: 0 success, 1 browser error, 2 usage error.

MCP tools

ToolPurpose
puppeteer_navigateNavigate to any URL in the browser
puppeteer_screenshotCapture screenshots of the entire page or specific elements
puppeteer_clickClick elements on the page
puppeteer_hoverHover elements on the page
puppeteer_fillFill out input fields
puppeteer_selectSelect an element with a SELECT tag
puppeteer_evaluateExecute JavaScript in the browser console

MCP client config:

json
{  "mcpServers": {    "headlessstage": {      "command": "npx",      "args": ["-y", "@reneturcios/headlessstage", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/headlessstage          # MCP serverdocker run --rm ghcr.io/cloudcorprecords/headlessstage --version

Development

bash
npm installnpm run buildnpm test

MIT license.

Source: README.md at commit df67cb3

Tools

7

puppeteer_navigate

Navigate to any URL in the browser

ParametersurlrequiredlaunchOptionsallowDangerous

puppeteer_screenshot

Capture screenshots of the entire page or specific elements

Parametersnamerequiredwidthheightencodedselector

puppeteer_click

Click elements on the page

Parametersselectorrequired

puppeteer_hover

Hover elements on the page

Parametersselectorrequired

puppeteer_fill

Fill out input fields

Parametersvaluerequiredselectorrequired

puppeteer_select

Select an element with a SELECT tag

Parametersvaluerequiredselectorrequired

puppeteer_evaluate

Execute JavaScript in the browser console

Parametersscriptrequired

Version history

1
  1. v0.1.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts