pagouse-mcp

pagouse-mcp

Provides read-only observation tools for Chromium pages, enabling agents to inspect page accessibility trees without mutation.

Category
Visit Server

README

pagouse

CI License: MIT Python 3.13+

By ref, not by pixel. pagouse is a page agent for coding agents: a Chromium extension on the daily profile that reads the accessibility tree, hands your agent stable ref_N labels, and — only with a grant — clicks, fills, and navigates those nodes.

It observes by default. Mutation needs --allow-input. The optional MCP server is observe-only and cannot be talked into typing.

$ pagouse --json snapshot --tab 1840 | jq -r '.snapshot.tree' | head
RootWebArea "Inbox" [ref_1]
  textbox "Search" [ref_2]
  button "Compose" [ref_3]

How it works

  • The MV3 extension builds the accessibility tree inside the page, where the refs stay valid across separate CLI invocations.
  • Native messaging starts pagoused, a local daemon on an owner-only unix socket. No remote-debugging port, no chrome.debugger.
  • A zero-dependency Python core wraps it all in a versioned --json envelope (schema: 1).

The layers and the non-goals: docs/architecture.md.

Requirements

  • Linux
  • Python 3.13+ and uv
  • A Chromium-family browser (Chrome, Chromium, Brave, Edge) on the daily profile

The core itself has zero dependencies. magick is optional for --fit downscaling.

Install

git clone https://github.com/gianlucamazza/pagouse
cd pagouse
./install.sh

install.sh installs pagouse as a uv tool, writes ~/.config/pagouse/config.toml if missing, links the agent skill into any existing skill root, and registers the native-messaging host. It is idempotent. Details in docs/quickstart.md.

Then load extension/ unpacked (chrome://extensions → Developer mode). pagouse --json doctor should report ready once the popup is green.

Usage

Observe — never needs a grant:

pagouse --json tabs
pagouse --json snapshot --tab ID

Drive — add --allow-input, click by ref, never by coordinates:

pagouse --json --allow-input click --ref ref_4 --tab ID --then snapshot

Every command and flag: docs/cli-reference.md. The envelope and error codes: docs/json-contract.md.

MCP extra and agent skill

uv tool install 'pagouse[mcp]' provides pagouse-mcp: read-only observation tools only (doctor, tabs, snapshot, shot, wait, wait_ref). There is no mutate tool; drive the page through the CLI and a grant.

install.sh also links skills/pagouse/SKILL.md into any existing agent skill root, so your agents get the playbook without setup.

Security

Observation never asks permission; mutation refuses without an explicit grant. Scheme deny, origin policy, and secret redaction are enforced in the core. Tab titles, URLs, tree text, and shot pixels are untrusted input. Read docs/security-model.md before enabling input. Report vulnerabilities per SECURITY.md.

Documentation

Page For
docs/quickstart.md Install, load the extension, first commands
docs/cli-reference.md Every command and flag, and the MCP surface
docs/json-contract.md The --json envelope, per-action keys, error codes. Authoritative
docs/configuration.md config.toml keys and every environment variable
docs/architecture.md What problem this solves, the layers, the non-goals
docs/security-model.md The page grant, scheme deny, untrusted data

License

MIT. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured