browser-mcp AGENTS.md

browser-mcp AGENTS.md is an instructions file for Codex, OpenCode from drisplabs/browser-mcp. It costs 3,211 tokens per session, scanned A, original, MIT.

Repository instructions for a browser automation system that takes page snapshots and interacts with web elements.

In plain words
What is it for?
Use them when fixing browser interactions involving iframes, mouse coordinates, cookie banners, embedded forms, or changing page element identifiers.
Why use it?
They document audit findings where the agent may see incorrect element positions or fail to resolve elements inside embedded pages called iframes.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/drisplabs/browser-mcp/agents-md
Clone the repo
git clone --depth 1 https://github.com/drisplabs/browser-mcp

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for browser-mcp AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/drisplabs/browser-mcp/agents-md.svg)](https://agentmods.dev/instructions/drisplabs/browser-mcp/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/drisplabs/browser-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/drisplabs/browser-mcp/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 3,211 This file is loaded in full into every session.
When invoked 3,211 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.03211 $0.03211
Opus 5 $0.01605 $0.01605
Sonnet 5 $0.00642 $0.00642
Haiku 4.5 $0.00321 $0.00321

Measured 4d ago against content hash 67a001b69f70, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

browser-mcp AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 196 lines

How it starts

The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Snapshot & Interaction Pipeline — Audit Results

Comprehensive audit across 7 parallel review agents examining the full extraction and interaction pipeline for bugs where the agent's perception diverges from reality.

Critical (agent can't complete tasks)

C1. Iframe element coordinates are iframe-relative, not viewport-relative

Agent 1, Finding 3 | layout-extractor.ts:413-458 Batch path uses getBoundingClientRect() inside iframes, returning iframe-local coordinates. Input.dispatchMouseEvent expects viewport-relative. Clicks on iframe elements (cookie banners, embedded forms) hit wrong positions.

C2. Cross-origin iframe elements can't be resolved from main CDP session

Agent 3, Finding 2 | element-resolver.ts, session-manager.ts:499 CDP session is created once per page. backendNodeId for cross-origin iframe elements can't be resolved via DOM.resolveNode/DOM.getBoxModel from the main frame session. Cookie consent banners (OneTrust, Cookiebot) are common cross-origin iframes.

C3. EID collision suffix shifts silently when DOM order changes

Agent 5, Finding 2+7 | element-identity.ts:132-143, element-registry.ts:67-80 Collision resolution assigns -2, -3 by iteration order. If elements reorder between snapshots, suffixes shift and the agent silently acts on the wrong element. Common with sorted lists, infinite scroll, and any dynamic reordering.

C4. Stale element retry picks first label+kind match with no disambiguation

Agent 5, Finding 6 | stale-element-retry.ts:64-65 nodes.find(n => n.label === node.label && n.kind === node.kind) returns the first match. For pages with repeated elements ("Add to cart" x10), the wrong element is targeted silently.

Major (agent works around it poorly)

M1. opacity:0, clip-path, transform:scale(0) not detected as invisible

Agent 1, Finding 1 | layout-extractor.ts:123-140 computeVisibility() only checks display:none, visibility:hidden, and zero bbox. Invisible elements (loading spinners with opacity:0, off-screen transforms) reported as visible. Agent tries to interact with them.

Read the full file on GitHub · 196 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 196 lines · 3,211 tokens per session scan A 67a001b69f70

Subscribe to this mod's changes

browser-mcp AGENTS.md is an instructions file published in the GitHub repository drisplabs/browser-mcp (15 stars, last pushed 18d ago), licensed MIT. It adds 3,211 tokens to every session, about $0.0161 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories