Labsco
MCP SERVER

Compile a browser task once against a live page under your own logged-in session, then replay it as a deterministic call with no model in the loop.

Site Crawling & Scraping InfrastructureVerified
Summary
The model cost of a scraped page is paid once, at capture, not on every run.

capture is the expensive step; after it, run is pure dispatch and verify tells you whether the page still matches. What makes verify more than a status check is that capture ranks four sources by trust — JSON-LD and schema.org first, then the API JSON the page itself fetches, then semantic HTML, then CSS classes — so a plan built on a canonical source can be re-checked against it later. Two edges to know: verify reaches the live site even though it changes nothing there, and a run that aborts mid-act parks at intent_uncertain until mark closes it.

What it is

A browser action layer built on saved taps. A capture step reads the page under the browser session already signed in on your machine and compiles a plan; a replay step repeats that task with no model involved. Taps are addressed as tap://{site}/{name} resources whose argument schema and provenance come from a resource read.

What you get
  • capture turns a URL plus an intent written in plain language into a saved tap, working out selectors, fields and return shape at that moment.
  • run replays a saved tap in your authenticated browser with cache mode, cache TTL and field selection, and costs no model tokens because the compilation already happened.
  • verify runs a tap's observe phase alone and reports live, drifted or unreachable, derived from status codes, op expectations and parse results — without executing the act phase or touching the target.
  • mark settles an intent_uncertain record as committed or aborted once you have checked what actually happened on the site.
Requirements

Node to launch it — `npx -y @taprun/cli mcp stdio` — or `npx -y @taprun/cli embed cursor` (also vscode, claude-desktop, claude-code, codebuddy, qwen) to write the client config for you. Public pages need nothing else; `--no-extension` runs a Playwright runtime on its own isolated profile. Reusing your live logins takes the Chrome extension, and adding it from the Chrome Web Store is the one step that happens outside the chat. capture calls a model you supply: Claude, OpenAI, DeepSeek or any OpenAI-compatible endpoint, including a local Ollama or LM Studio through `tap config set ai.baseUrl`.

Setup effort

One command — npx -y @taprun/cli mcp stdio