TabzChrome MCP Tools
TabzChrome provides 71 MCP tools for browser automation via Chrome Extension APIs.
Quick Start
# Always check schema first (MANDATORY)
mcp-cli info tabz/tabz_screenshot
# Then call the tool
mcp-cli call tabz/tabz_screenshot '{}'
Tool Categories (71 Tools)
| Category |
Tools |
Purpose |
| Tab Management |
tabz_list_tabs, tabz_switch_tab, tabz_rename_tab |
Navigate tabs, accurate active detection |
| Tab Groups |
tabz_list_groups, tabz_create_group, tabz_update_group, tabz_add_to_group, tabz_ungroup_tabs |
Organize tabs into groups |
| Claude Group |
tabz_claude_group_add, tabz_claude_group_remove, tabz_claude_group_status |
Highlight tabs Claude is working with |
| Windows |
tabz_list_windows, tabz_create_window, tabz_update_window, tabz_close_window |
Manage browser windows |
| Displays |
tabz_get_displays, tabz_tile_windows, tabz_popout_terminal |
Multi-monitor layouts, tiling |
| Screenshots |
tabz_screenshot, tabz_screenshot_full |
Capture viewport or full page |
| Interaction |
tabz_click, tabz_fill, tabz_get_element, tabz_execute_script |
Click, fill forms, run JS |
| Downloads |
tabz_download_image, tabz_download_file, tabz_get_downloads, tabz_cancel_download, tabz_save_page |
Download files, save pages |
| Bookmarks |
tabz_get_bookmark_tree, tabz_search_bookmarks, tabz_save_bookmark, tabz_create_folder, tabz_move_bookmark, tabz_delete_bookmark |
Organize bookmarks |
| Network |
tabz_enable_network_capture, tabz_get_network_requests, tabz_clear_network_requests |
Monitor API calls |
| Inspection |
tabz_get_page_info, tabz_get_console_logs |
Debug, inspect pages |
| Debugger |
tabz_get_dom_tree, tabz_profile_performance, tabz_get_coverage |
DOM tree, metrics, coverage |
| Audio/TTS |
tabz_speak, tabz_list_voices, tabz_play_audio |
Text-to-speech, audio playback |
| History |
tabz_history_search, tabz_history_visits, tabz_history_recent, tabz_history_delete_url, tabz_history_delete_range |
Search and manage history |
| Sessions |
tabz_sessions_recently_closed, tabz_sessions_restore, tabz_sessions_devices |
Recover tabs, synced devices |
| Cookies |
tabz_cookies_get, tabz_cookies_list, tabz_cookies_set, tabz_cookies_delete, tabz_cookies_audit |
Debug auth, audit trackers |
| Emulation |
tabz_emulate_device, tabz_emulate_clear, tabz_emulate_geolocation, tabz_emulate_network, tabz_emulate_media, tabz_emulate_vision |
Responsive testing, accessibility |
| Notifications |
tabz_notification_show, tabz_notification_update, tabz_notification_clear, tabz_notification_list |
Desktop alerts with progress |
Visual Feedback
Interaction tools show visual feedback when targeting elements:
| Tool |
Glow Color |
tabz_click |
Green (action completed) |
tabz_fill |
Blue (input focused) |
tabz_get_element |
Purple (inspecting) |
Elements pulse twice and auto-scroll into view.
Getting CSS Selectors
Right-click any element on a webpage "Send Element to Chat" to capture:
- Unique CSS selector (with
:nth-of-type() for siblings)
- Tag, ID, classes, text content
- Useful attributes (
data-testid, aria-label, role)
Common Workflows
Screenshot a Page
mcp-cli info tabz/tabz_screenshot
mcp-cli call tabz/tabz_screenshot '{}' # Viewport
mcp-cli call tabz/tabz_screenshot_full '{}' # Full scrollable page
Fill and Submit Form
mcp-cli call tabz/tabz_fill '{"selector": "#username", "value": "user@example.com"}'
mcp-cli call tabz/tabz_fill '{"selector": "#password", "value": "secret"}'
mcp-cli call tabz/tabz_click '{"selector": "button[type=submit]"}'
Debug API Issues
mcp-cli call tabz/tabz_enable_network_capture '{}'
# Trigger the action
mcp-cli call tabz/tabz_get_network_requests '{}'
mcp-cli call tabz/tabz_get_network_requests '{"filter": "/api/users"}'
Organize Tabs into Groups
mcp-cli call tabz/tabz_create_group '{"title": "Research", "color": "blue"}'
mcp-cli call tabz/tabz_add_to_group '{"groupId": 123, "tabIds": [456, 789]}'
Text-to-Speech
mcp-cli call tabz/tabz_list_voices '{}'
mcp-cli call tabz/tabz_speak '{"text": "Build complete"}'
mcp-cli call tabz/tabz_speak '{"text": "Alert!", "priority": "high"}'
Download Images
mcp-cli call tabz/tabz_download_image '{"selector": "img.hero-image"}'
mcp-cli call tabz/tabz_download_image '{"url": "https://example.com/image.png"}'
Tab Targeting (Critical)
Chrome tab IDs are large integers (e.g., 1762561083), NOT sequential like 1, 2, 3.
Always List Tabs First
mcp-cli call tabz/tabz_list_tabs '{}'
Returns:
{
"claudeCurrentTabId": 1762561083,
"tabs": [
{"tabId": 1762561065, "url": "...", "active": false},
{"tabId": 1762561083, "url": "...", "active": true}
]
}
Use Explicit tabId
# DON'T rely on implicit current tab
mcp-cli call tabz/tabz_screenshot '{}' # May target wrong tab!
# DO use explicit tabId
mcp-cli call tabz/tabz_screenshot '{"tabId": 1762561083}'
Parallel Worker Isolation
When multiple Claude workers use tabz tools simultaneously, they MUST isolate tabs.
Required Pattern: Own Tab Group
# 1. Create unique group for this worker
SESSION_ID=$(tmux display-message -p '#{session_name}' 2>/dev/null || echo "worker-$$")
mcp-cli call tabz/tabz_create_group "{\"title\": \"$SESSION_ID\", \"color\": \"blue\"}"
# 2. Open tabs IN that group
mcp-cli call tabz/tabz_open_url '{"url": "https://example.com", "groupId": <group_id>}'
# 3. Always use explicit tabIds from YOUR group
Do's and Don'ts
| Do |
Don't |
| Create own tab group at start |
Use shared "Claude" group |
| Store your tabIds after opening |
Rely on active: true tab |
| Target tabs by explicit ID |
Assume current tab is yours |
| Clean up group when done |
Leave orphaned tabs/groups |
MCP Server Configuration
Add to .mcp.json:
{
"mcpServers": {
"tabz": {
"command": "/path/to/TabzChrome/tabz-mcp-server/run-auto.sh",
"args": [],
"env": { "BACKEND_URL": "http://localhost:8129" }
}
}
}
Limitations
tabz_screenshot cannot capture Chrome sidebar (Chrome limitation)
- Always call
mcp-cli info tabz/<tool> before mcp-cli call
- Tab IDs are real Chrome tab IDs (large integers)
- Debugger tools (DOM tree, coverage) show Chrome's debug banner
Reference Documentation
For detailed information:
references/mcp-tools.md - Complete tool reference
references/audio-tts.md - TTS voices, settings, API
references/api-endpoints.md - REST API reference
references/debugging.md - Troubleshooting guide
Related
| Resource |
Purpose |
tabz-expert agent |
Spawn for complex browser work (user-scope plugin) |
tabz-artist skill |
Generate images (DALL-E) and videos (Sora) - now in TabzChrome |
1---2name: tabz-mcp3description: Control Chrome browser via 71 MCP tools - screenshots, clicks, forms, downloads, network capture, TTS, history, cookies, emulation. Use when working with browser automation.4---56# TabzChrome MCP Tools78TabzChrome provides 71 MCP tools for browser automation via Chrome Extension APIs.910## Quick Start1112```bash13# Always check schema first (MANDATORY)14mcp-cli info tabz/tabz_screenshot1516# Then call the tool17mcp-cli call tabz/tabz_screenshot '{}'18```1920## Tool Categories (71 Tools)2122| Category | Tools | Purpose |23|----------|-------|---------|24| **Tab Management** | `tabz_list_tabs`, `tabz_switch_tab`, `tabz_rename_tab` | Navigate tabs, accurate active detection |25| **Tab Groups** | `tabz_list_groups`, `tabz_create_group`, `tabz_update_group`, `tabz_add_to_group`, `tabz_ungroup_tabs` | Organize tabs into groups |26| **Claude Group** | `tabz_claude_group_add`, `tabz_claude_group_remove`, `tabz_claude_group_status` | Highlight tabs Claude is working with |27| **Windows** | `tabz_list_windows`, `tabz_create_window`, `tabz_update_window`, `tabz_close_window` | Manage browser windows |28| **Displays** | `tabz_get_displays`, `tabz_tile_windows`, `tabz_popout_terminal` | Multi-monitor layouts, tiling |29| **Screenshots** | `tabz_screenshot`, `tabz_screenshot_full` | Capture viewport or full page |30| **Interaction** | `tabz_click`, `tabz_fill`, `tabz_get_element`, `tabz_execute_script` | Click, fill forms, run JS |31| **Downloads** | `tabz_download_image`, `tabz_download_file`, `tabz_get_downloads`, `tabz_cancel_download`, `tabz_save_page` | Download files, save pages |32| **Bookmarks** | `tabz_get_bookmark_tree`, `tabz_search_bookmarks`, `tabz_save_bookmark`, `tabz_create_folder`, `tabz_move_bookmark`, `tabz_delete_bookmark` | Organize bookmarks |33| **Network** | `tabz_enable_network_capture`, `tabz_get_network_requests`, `tabz_clear_network_requests` | Monitor API calls |34| **Inspection** | `tabz_get_page_info`, `tabz_get_console_logs` | Debug, inspect pages |35| **Debugger** | `tabz_get_dom_tree`, `tabz_profile_performance`, `tabz_get_coverage` | DOM tree, metrics, coverage |36| **Audio/TTS** | `tabz_speak`, `tabz_list_voices`, `tabz_play_audio` | Text-to-speech, audio playback |37| **History** | `tabz_history_search`, `tabz_history_visits`, `tabz_history_recent`, `tabz_history_delete_url`, `tabz_history_delete_range` | Search and manage history |38| **Sessions** | `tabz_sessions_recently_closed`, `tabz_sessions_restore`, `tabz_sessions_devices` | Recover tabs, synced devices |39| **Cookies** | `tabz_cookies_get`, `tabz_cookies_list`, `tabz_cookies_set`, `tabz_cookies_delete`, `tabz_cookies_audit` | Debug auth, audit trackers |40| **Emulation** | `tabz_emulate_device`, `tabz_emulate_clear`, `tabz_emulate_geolocation`, `tabz_emulate_network`, `tabz_emulate_media`, `tabz_emulate_vision` | Responsive testing, accessibility |41| **Notifications** | `tabz_notification_show`, `tabz_notification_update`, `tabz_notification_clear`, `tabz_notification_list` | Desktop alerts with progress |4243## Visual Feedback4445Interaction tools show visual feedback when targeting elements:4647| Tool | Glow Color |48|------|------------|49| `tabz_click` | Green (action completed) |50| `tabz_fill` | Blue (input focused) |51| `tabz_get_element` | Purple (inspecting) |5253Elements pulse twice and auto-scroll into view.5455## Getting CSS Selectors5657Right-click any element on a webpage **"Send Element to Chat"** to capture:58- Unique CSS selector (with `:nth-of-type()` for siblings)59- Tag, ID, classes, text content60- Useful attributes (`data-testid`, `aria-label`, `role`)6162## Common Workflows6364### Screenshot a Page6566```bash67mcp-cli info tabz/tabz_screenshot68mcp-cli call tabz/tabz_screenshot '{}' # Viewport69mcp-cli call tabz/tabz_screenshot_full '{}' # Full scrollable page70```7172### Fill and Submit Form7374```bash75mcp-cli call tabz/tabz_fill '{"selector": "#username", "value": "user@example.com"}'76mcp-cli call tabz/tabz_fill '{"selector": "#password", "value": "secret"}'77mcp-cli call tabz/tabz_click '{"selector": "button[type=submit]"}'78```7980### Debug API Issues8182```bash83mcp-cli call tabz/tabz_enable_network_capture '{}'84# Trigger the action85mcp-cli call tabz/tabz_get_network_requests '{}'86mcp-cli call tabz/tabz_get_network_requests '{"filter": "/api/users"}'87```8889### Organize Tabs into Groups9091```bash92mcp-cli call tabz/tabz_create_group '{"title": "Research", "color": "blue"}'93mcp-cli call tabz/tabz_add_to_group '{"groupId": 123, "tabIds": [456, 789]}'94```9596### Text-to-Speech9798```bash99mcp-cli call tabz/tabz_list_voices '{}'100mcp-cli call tabz/tabz_speak '{"text": "Build complete"}'101mcp-cli call tabz/tabz_speak '{"text": "Alert!", "priority": "high"}'102```103104### Download Images105106```bash107mcp-cli call tabz/tabz_download_image '{"selector": "img.hero-image"}'108mcp-cli call tabz/tabz_download_image '{"url": "https://example.com/image.png"}'109```110111## Tab Targeting (Critical)112113**Chrome tab IDs are large integers** (e.g., `1762561083`), NOT sequential like 1, 2, 3.114115### Always List Tabs First116117```bash118mcp-cli call tabz/tabz_list_tabs '{}'119```120121Returns:122```json123{124 "claudeCurrentTabId": 1762561083,125 "tabs": [126 {"tabId": 1762561065, "url": "...", "active": false},127 {"tabId": 1762561083, "url": "...", "active": true}128 ]129}130```131132### Use Explicit tabId133134```bash135# DON'T rely on implicit current tab136mcp-cli call tabz/tabz_screenshot '{}' # May target wrong tab!137138# DO use explicit tabId139mcp-cli call tabz/tabz_screenshot '{"tabId": 1762561083}'140```141142## Parallel Worker Isolation143144When multiple Claude workers use tabz tools simultaneously, they MUST isolate tabs.145146### Required Pattern: Own Tab Group147148```bash149# 1. Create unique group for this worker150SESSION_ID=$(tmux display-message -p '#{session_name}' 2>/dev/null || echo "worker-$$")151mcp-cli call tabz/tabz_create_group "{\"title\": \"$SESSION_ID\", \"color\": \"blue\"}"152153# 2. Open tabs IN that group154mcp-cli call tabz/tabz_open_url '{"url": "https://example.com", "groupId": <group_id>}'155156# 3. Always use explicit tabIds from YOUR group157```158159### Do's and Don'ts160161| Do | Don't |162|----|-------|163| Create own tab group at start | Use shared "Claude" group |164| Store your tabIds after opening | Rely on `active: true` tab |165| Target tabs by explicit ID | Assume current tab is yours |166| Clean up group when done | Leave orphaned tabs/groups |167168## MCP Server Configuration169170Add to `.mcp.json`:171172```json173{174 "mcpServers": {175 "tabz": {176 "command": "/path/to/TabzChrome/tabz-mcp-server/run-auto.sh",177 "args": [],178 "env": { "BACKEND_URL": "http://localhost:8129" }179 }180 }181}182```183184## Limitations185186- `tabz_screenshot` cannot capture Chrome sidebar (Chrome limitation)187- Always call `mcp-cli info tabz/<tool>` before `mcp-cli call`188- Tab IDs are real Chrome tab IDs (large integers)189- Debugger tools (DOM tree, coverage) show Chrome's debug banner190191## Reference Documentation192193For detailed information:194- `references/mcp-tools.md` - Complete tool reference195- `references/audio-tts.md` - TTS voices, settings, API196- `references/api-endpoints.md` - REST API reference197- `references/debugging.md` - Troubleshooting guide198199## Related200201| Resource | Purpose |202|----------|---------|203| `tabz-expert` agent | Spawn for complex browser work (user-scope plugin) |204| `tabz-artist` skill | Generate images (DALL-E) and videos (Sora) - now in TabzChrome |