pinchtab-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pinchtab-mcpopen google.com and take a screenshot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What is this?
PinchTab is a standalone Go binary that gives AI agents full control over a Chrome browser via an HTTP API. It is token-efficient, headless-capable, and supports persistent browser profiles.
pinchtab-mcp is a thin Model Context Protocol (MCP) stdio server that wraps PinchTab's HTTP API — making it available as a standard MCP tool in any compatible AI coding agent or chat client.
AI client (OpenCode / Cursor / Claude Desktop)
│ MCP stdio (JSON-RPC)
▼
pinchtab-mcp ──HTTP──▶ PinchTab :9867 ──CDP──▶ ChromeWhy a separate MCP wrapper?
PinchTab exposes a plain HTTP API. MCP clients communicate over stdin/stdout using JSON-RPC. This server bridges the two, adding:
Single
pinchtabtool with a unifiedactionparameter — minimal context bloatTyped, validated inputs via Zod
Auth token forwarding, configurable timeout
Screenshot responses as MCP image content (base64 JPEG)
Related MCP server: BrowserGenie MCP Server
Prerequisites
Requirement | Notes |
Node.js ≥ 18 | Required to run the MCP server |
PinchTab | The Go binary must be running locally (or in Docker) |
Install PinchTab
# macOS / Linux — recommended
curl -fsSL https://pinchtab.com/install.sh | bash
# Docker
docker run -d -p 9867:9867 ghcr.io/pinchtab/pinchtab:latestNote:
npm install -g pinchtabdoes not reliably install the binary on all platforms. Use the install script or Docker instead.
Full PinchTab docs: pinchtab.com/docs
Setup
1. Clone and build
git clone https://github.com/domci/pinchtab-mcp.git
cd pinchtab-mcp
npm install
npm run buildThis compiles src/index.ts to dist/index.js.
2. Start PinchTab
In a separate terminal — PinchTab must be running before the MCP server is used:
# Basic
pinchtab
# With an auth token (recommended)
BRIDGE_TOKEN=my-secret pinchtabIf the MCP tool returns
Connection failed, PinchTab is not running. Start it as above and retry.
3. Configure your client
OpenCode
Add to ~/.config/opencode/opencode.json (global) or opencode.json in your project root:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pinchtab": {
"type": "local",
"command": ["node", "/absolute/path/to/pinchtab-mcp/dist/index.js"],
"enabled": true,
"environment": {
"PINCHTAB_URL": "http://localhost:9867",
"PINCHTAB_TOKEN": "my-secret" // omit if no auth token
}
}
}
}Cursor IDE
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project root:
{
"mcpServers": {
"pinchtab": {
"command": "node",
"args": ["/absolute/path/to/pinchtab-mcp/dist/index.js"],
"env": {
"PINCHTAB_URL": "http://localhost:9867",
"PINCHTAB_TOKEN": "my-secret"
},
"type": "stdio"
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"pinchtab": {
"command": "node",
"args": ["/absolute/path/to/pinchtab-mcp/dist/index.js"],
"env": {
"PINCHTAB_URL": "http://localhost:9867"
}
}
}
}Environment variables
Variable | Default | Description |
|
| Base URL of the running PinchTab server |
| (empty) | Bearer token — must match |
|
| HTTP request timeout in milliseconds |
Tool reference
A single pinchtab tool is registered. All operations are dispatched via the action parameter.
Actions
Action | Description | Key parameters |
| Navigate to a URL |
|
| Accessibility tree of the current page |
|
| Click an element |
|
| Type text into a focused element |
|
| Clear and fill an input |
|
| Press a key |
|
| Hover over an element |
|
| Scroll the page |
|
| Select a dropdown option |
|
| Focus an element |
|
| Extract readable page text (~800 tokens) |
|
| List, open, or close tabs |
|
| Capture a JPEG screenshot |
|
| Execute JavaScript in the page |
|
| Export page as PDF |
|
| Check PinchTab connectivity | — |
All actions accept an optional tabId to target a specific tab.
Token strategy
Scenario | Recommended action | Approx. tokens |
Read page content |
| ~800 |
Find interactive elements |
| ~3,600 |
Track page changes |
| delta only |
Visual verification |
| ~2,000 |
Example prompts
Navigate to https://news.ycombinator.com and extract the top 10 story titles.
use pinchtabGo to https://example.com/login, fill in the username and password fields, and submit the form.
use pinchtabTake a screenshot of the current page.
use pinchtabDevelopment
# Install dependencies
npm install
# Build (TypeScript → dist/)
npm run build
# Run directly
node dist/index.jsProject structure
pinchtab-mcp/
├── src/
│ └── index.ts # MCP stdio server — all logic lives here
├── dist/ # Compiled output (git-ignored)
├── package.json
└── tsconfig.jsonTroubleshooting
Connection failed: fetch failed. Is PinchTab running at http://localhost:9867?
The PinchTab binary is not running. Start it with pinchtab in a separate terminal, then retry.
npm install -g pinchtab installs but pinchtab command is not found
The npm package does not install the Go binary on all platforms. Use the install script instead:
curl -fsSL https://pinchtab.com/install.sh | bashpress Enter doesn't submit a form / page doesn't navigate
Some sites handle form submission via click events on the submit button rather than keyboard events on the input. Use click on the submit button ref instead of press Enter on the input.
Search input shows "queryEnter" as its value
This happens when press appends literally to the field value. Use fill to set the value cleanly, then click the submit button.
Security notes
BRIDGE_TOKEN/PINCHTAB_TOKEN— always set a token in production environments; rotate it regularly.evaluateexecutes arbitrary JavaScript inside Chrome — restrict access to trusted agents and domains.PinchTab should not be exposed to the public internet; keep it on
localhostor behind a private network.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-quality-maintenanceAn extension-based MCP server that enables AI assistants to control your existing Chrome browser, leveraging your active login states and settings for automation. It provides over 20 tools for tasks like semantic tab search, screen capture, network monitoring, and direct element interaction.
- AlicenseBqualityBmaintenanceAn MCP server that provides AI models with full browser automation capabilities through Chrome. It enables navigation, interaction, screenshots, and complete DevTools access by bridging AI clients with a companion Chrome extension.9992Apache 2.0
- Flicense-qualityCmaintenanceMCP server that exposes the Pinchtab browser API for token-efficient web scraping, change detection, and automated testing workflows.15
- Alicense-qualityCmaintenanceEnables AI agents to control Chrome browser actions like navigation, clicking, form filling, screenshots, and console/network logging via an MCP server and Chrome extension.1,062MIT
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/domci/pinchtab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server