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 39 tools:
- Navigation: 5
- Interaction: 9
- Keyboard: 4
- Content: 3
- Site: 1
- Tab management: 5
- Wait utilities: 6
- Network: 5
- Dialog: 1
Navigation
pinchtab_navigatepinchtab_snapshotpinchtab_framepinchtab_screenshotpinchtab_get_text
Interaction
pinchtab_clickpinchtab_typepinchtab_presspinchtab_hoverpinchtab_focuspinchtab_selectpinchtab_scrollpinchtab_scroll_into_viewpinchtab_fill
Keyboard
pinchtab_keyboard_typepinchtab_keyboard_inserttextpinchtab_keydownpinchtab_keyup
Content
pinchtab_evalpinchtab_pdfpinchtab_find
Site
pinchtab_scrape— crawl a site to markdown (HTTP-first, browser-enrich thin/JS pages). Usepreview=truefor a cheap outline, then expand chosen URLs withonly.
Tab Management
pinchtab_list_tabspinchtab_close_tabpinchtab_healthpinchtab_cookies(requiressecurity.allowCookies)pinchtab_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_clearpinchtab_network_routepinchtab_network_unroute
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.