Skip to main content
Glama
yogesh-joshi-0333

browser-control-mcp-server

Browser Clipboard

browser_clipboard

Read or write the system clipboard from page context, auto-granting permissions to verify Copy buttons or paste text into pages without inputs.

Instructions

Read or write the system clipboard from the page context. Automatically grants the clipboard-read/clipboard-write permissions for the current origin first — you do NOT need to call browser_emulate separately for this. Use to verify a "Copy to clipboard" button worked, or to paste text a page doesn't expose an input for.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoForce a specific mode. Defaults to extension.
textNoText to write to the clipboard (required for "write")
actionYesAction to perform
sessionIdNoPuppeteer session ID for headless mode. Skips mode selection.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.0

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it does disclose one genuinely non-obvious side effect: permissions for the current origin are granted automatically. However, it says nothing about what read returns, what happens on an empty clipboard or denied permission, or how extension vs headless modes differ in outcome — and with no output schema, that return-shape information is a real gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: capability first, then the permission side effect / routing note, then concrete use cases. Nothing is repeated from the schema and the most actionable constraint comes early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with full schema coverage and no annotations or output schema, the description covers capability, the unusual permission side effect, and concrete scenarios. It is slightly short of complete because it never hints at the read result or failure behavior, which an agent would want before relying on it for verification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both enums are documented, so the schema already explains action, text-required-for-write, mode defaulting to extension, and the headless sessionId. The description adds only the phrase "from the page context" and does not clarify mode or sessionId tradeoffs, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a precise verb pair (read/write) and the exact resource (the system clipboard accessed from the page context), which matches the action enum and leaves no ambiguity about what happens. It also names a sibling (browser_emulate) so the agent can distinguish overlapping responsibility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use cases are given (verifying a "Copy to clipboard" button, pasting text a page does not expose an input for) plus an explicit exclusion: you do NOT need to call browser_emulate separately. That is the strongest form of routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.