MCP Server
PinchTab includes a native Model Context Protocol (MCP) server that lets AI agents control the browser through MCP over stdio.
[!WARNING] The MCP server is part of PinchTab’s privileged control plane. It is intended for trusted operators and trusted agent systems only. Do not expose it to untrusted users, untrusted client systems, or the public internet. If you are unsure how to secure a non-local deployment, review Security and use the private security contact path in
SECURITY.mdbefore exposing the service.
[!CAUTION] By default, PinchTab’s IDPI posture is meant to keep MCP browsing local-only until you deliberately widen it. Expanding MCP use to non-local or non-trusted domains is a security-reducing choice.
When MCP tools read page content from wider domains, treat
pinchtab_snapshotandpinchtab_get_textoutput as untrusted data, not instructions. Hostile pages can contain prompt-injection content, poisoned text, or other material that should never be treated as operator guidance. Review Security before relaxing domain restrictions.
Quick Start
- Start PinchTab in server or bridge mode:terminal
pinchtab server# orpinchtab bridge
pinchtab server# orpinchtab bridge
- Start the MCP server in another terminal or from your MCP client config:terminal
pinchtab mcppinchtab mcp
The MCP server communicates over stdio using JSON-RPC, which is the standard MCP transport.
Client Configuration
Claude Desktop
{
"mcpServers": {
"pinchtab": {
"command": "pinchtab",
"args": ["mcp"]
}
}
}
VS Code / GitHub Copilot
{
"servers": {
"pinchtab": {
"type": "stdio",
"command": "pinchtab",
"args": ["mcp"]
}
}
}
Cursor
{
"mcpServers": {
"pinchtab": {
"command": "pinchtab",
"args": ["mcp"]
}
}
}
Environment
| Variable | Description |
|---|---|
PINCHTAB_TOKEN | Auth token for secured servers |
For remote servers, use the root --server flag:
pinchtab --server http://remote:9867 mcppinchtab --server http://remote:9867 mcp Available Tools
PinchTab currently exposes 34 tools:
- Navigation: 4
- Interaction: 8
- Keyboard: 4
- Content: 3
- Tab management: 5
- Wait utilities: 6
- Network: 3
- Dialog: 1
Navigation
pinchtab_navigatepinchtab_snapshotpinchtab_screenshotpinchtab_get_text
Interaction
pinchtab_clickpinchtab_typepinchtab_presspinchtab_hoverpinchtab_focuspinchtab_selectpinchtab_scrollpinchtab_fill
Keyboard
pinchtab_keyboard_typepinchtab_keyboard_inserttextpinchtab_keydownpinchtab_keyup
Content
pinchtab_evalpinchtab_pdfpinchtab_find
Tab Management
pinchtab_list_tabspinchtab_close_tabpinchtab_healthpinchtab_cookiespinchtab_connect_profile
Wait Utilities
pinchtab_waitpinchtab_wait_for_selectorpinchtab_wait_for_textpinchtab_wait_for_urlpinchtab_wait_for_loadpinchtab_wait_for_function
Network
pinchtab_networkpinchtab_network_detailpinchtab_network_clear
Dialog
pinchtab_dialog
Selector Model
For selector-based interaction tools, prefer selector. ref is still accepted as a deprecated fallback on the element-action tools.
Common selector forms:
e5#loginxpath://buttontext:Submitfind:login button
Practical Flow
The normal MCP browser loop is:
- Call
pinchtab_navigatewith aurl - Call
pinchtab_snapshotto inspect page structure and collect refs - Call
pinchtab_click,pinchtab_type, or other action tools with structured arguments - Call
pinchtab_wait_*orpinchtab_networkwhen needed
pinchtab_snapshot supports MCP-safe output controls:
compact=trueorformat="compact"for the most token-efficient text snapshotformat="text"for the full text snapshotnoAnimations=trueto reduce animation noise before capture
For full parameter details, see MCP Tool Reference.