Skip to main content

MCP server for browser automation — an in-page inspector overlay plus programmatic page control via Playwright.

Project description

frontprompt

Annotate any web page, and drive it from an AI agent.

frontprompt is a Python tool that opens a real (headful) Chromium browser and injects an in-page overlay — a shadow-DOM HUD — onto whatever page you point it at. You click to pick elements, drag to capture regions, and draw typed relations between them. The same process runs an MCP server, so an AI agent can navigate the browser, query the page, create picks, and read your annotations as structured state.

The headline property: your annotations survive cross-origin navigation. State is authoritative in the Python process, not in the page, so navigating from one site to another never loses your picks. See ARCHITECTURE.md for how that works.

Status

Alpha. The interactive inspector is feature-complete and the MCP server exposes a working tool set (pick, navigate, screenshot, page-read, state-read). Some capabilities are intentionally deferred — see ARCHITECTURE.md § Scope.

Install

frontprompt ships as a self-contained wheel: the Svelte overlay is built and embedded into the package, so the installed tool needs no Bun or Node at runtime. The one thing a wheel can't carry is the Chromium binary — frontprompt bootstrap installs it.

# install the tool
uv tool install frontprompt

# install the Chromium driver (run once)
frontprompt bootstrap

Usage

# open a page with the inspector overlay
frontprompt show https://example.com

# run as an MCP stdio server for an AI agent
frontprompt mcp

Point your MCP client at frontprompt mcp. Each invocation owns its own private browser session and spawns Chromium lazily on the first tool call, so startup is instant. The server is ephemeral — one process per client session, it dies when the client disconnects.

Dependencies & risk

frontprompt pins scrapling==0.4.8 exactly. scrapling is a BSD-3 page extraction library that is, at the time of writing, effectively single-maintainer (a bus-factor-1 project). To contain that risk it is used behind a thin internal isolation boundary, pinned to one verified version, and never auto-upgraded — so it can be swapped out without touching the rest of the codebase if it ever needs to be.

Documentation

  • ARCHITECTURE.md — system design: cross-origin survival, the expose_function bridge, single-writer state, the MCP daemon, schema histories.
  • DEVELOPMENT.md — dev environment, build pipeline, tests.
  • CONTRIBUTING.md — how to contribute.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frontprompt-0.0.2-py3-none-any.whl (680.7 kB view details)

Uploaded Python 3

File details

Details for the file frontprompt-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: frontprompt-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 680.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for frontprompt-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd13623c43dff62e5c62cdebab81aea244bb38f6e28cf0e83f8a60fa0b496079
MD5 29c9ac41efc9ab1e26b0b1cb1e3c6482
BLAKE2b-256 dc4f5943237199b8bfb0a6bd58fcbda6e00e041fd2500c1b27314a3bffc053a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page