# Pinchtab MCP

Use this skill when a task requires browser automation through PinchTab's MCP server...

- Repository: https://github.com/pinchtab/pinchtab (10536 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-27
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add pinchtab/pinchtab --skill pinchtab-mcp -g -a claude-code -y`
Codex: `npx skills add pinchtab/pinchtab --skill pinchtab-mcp -g -a codex -y`
Cursor: `npx skills add pinchtab/pinchtab --skill pinchtab-mcp -g -a cursor -y`
Gemini CLI: `npx skills add pinchtab/pinchtab --skill pinchtab-mcp -g -a gemini-cli -y`

## Description

Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Browser Automation via PinchTab MCP

Use MCP tools to control a browser through the PinchTab HTTP API. The MCP server defaults to `http://127.0.0.1:9867`; for remote or containerized PinchTab instances, override with the `PINCHTAB_SERVER` env var (e.g. `PINCHTAB_SERVER=http://pinchtab:9867`).

## Core Workflow

1. **Navigate**: `pinchtab_navigate(url="https://example.com")`, auto-creates a session and tab.
2. **Observe**: `pinchtab_snapshot(interactive=true, compact=true)`, returns numbered refs like `e5`, `e12`.
3. **Interact**: `pinchtab_click(selector="e5")`, use refs from the snapshot.
4. **Verify**: `pinchtab_get_text()` or re-snapshot to confirm the action succeeded.

**Critical rule**: An element ref (`e5`, `e12`) denotes a DOM node, so the same node keeps its ref across `interactive` vs full, a `selector` scope and a `depth` limit, a filtered view is therefore sparse (`e0, e1, e6`), never assume refs are contiguous. What a ref does NOT survive is navigation to a new document: refs expire on page load, so always re-call `pinchtab_snapshot` afterwards. A ref that can no longer resolve to its node is refused with `vocab_superseded` (or `ref not found`), never acted on positionally, the tools carry each snapshot's vocabulary token forward so a filter-only re-read keeps a ref valid while a new document supersedes it.

---

## Tool Selection Guide

Choose the cheapest tool that satisfies your goal:

The rest: https://github.com/pinchtab/pinchtab/blob/HEAD/plugins/grok/skills/pinchtab-mcp/SKILL.md
