MetaDock
OfficialAllows toggling ad-blocking and managing ad-block lists within MetaDock's browsers.
MetaDock MCP
Control the MetaDock desktop workspace over the Model Context Protocol.
MetaDock is a Windows power-user workspace that docks browsers and native apps side by side. Its built-in MCP server exposes everything you can do by hand as tools, so Claude — or any MCP client — can open and drive browsers, arrange layouts, manage bookmarks and downloads, search, and more.
Listed in the official MCP registry as app.metadock/metadock.
What you can do
The server exposes 178 tools across 11 groups — the full surface of what you can do in MetaDock by hand:
Group | Tools | Examples |
Browser | 93 | navigate, execute JavaScript, click, type, screenshot, cookies, zoom, device emulation, fingerprint |
Layout & Profiles | 25 | arrange/save/switch multi-browser layouts, per-profile proxy & settings |
Workspace | 11 | manage and switch whole workspaces |
Native Apps | 7 | mount/dismount and control docked native apps |
Ad-block | 9 | toggle lists and per-site overrides |
Bookmarks | 6 | read/write bookmarks and categories |
History | 5 | query and manage browsing history |
Downloads | 9 | start and manage downloads |
Search & Aliases | 5 | search + custom aliases |
Permissions | 4 | site permission control |
Settings | 4 | app settings |
Full tool list
browser_batch— Execute multiple browser operations in sequence on one or multiple browsers (100 operations per browser max)browser_clear_cache— Clear this browser's HTTP cache (CDP Network.clearBrowserCache)browser_clear_console— Clear console messages for the browserbrowser_clear_cookies— Clear all cookies for the browserbrowser_clear_device_emulation— Clear device emulation for the browserbrowser_clear_fingerprint— Disable all fingerprint spoofing for a browserbrowser_clear_geolocation— Clear geolocation override for the browserbrowser_clear_input— Clear an input fieldbrowser_clear_storage— Clear the page's localStorage or sessionStoragebrowser_click— Click an element by CSS selectorbrowser_click_at— Click at raw viewport pixel coordinates using a real (trusted) mouse eventbrowser_close— Close a browser instancebrowser_close_devtools— Close developer tools for the browserbrowser_create— Create a new browser instancebrowser_delete_cookie— Delete a specific cookie from the browserbrowser_drag— Drag from one element to another using real (trusted) mouse events: press at the source center, move in steps to the tar…browser_emulate_device— Enable device emulation for the browserbrowser_enable_devtools— Enable or disable developer tools for the browserbrowser_execute_js— Execute JavaScript code in browserbrowser_extract— Structured, schema-driven extractionbrowser_find— Find visible interactive elements whose role or accessible name matches a text querybrowser_get_all_cookies— Get all cookies for the browserbrowser_get_console— Get console messages from the browserbrowser_get_cookie— Get a cookie value from the browserbrowser_get_element_attribute— Get an attribute value of an element by CSS selectorbrowser_get_element_box— Get an element's bounding box (x/y/width/height/top/left/bottom/right) and key computed styles (display, visibility, opa…browser_get_element_text— Get the text content of an element by CSS selectorbrowser_get_fingerprint— Get current fingerprint spoofing configuration for a browserbrowser_get_forms— Enumerate forms and their fields {name, id, type, label, placeholder, required, options, selector}browser_get_last_dialog— Get the most recent JavaScript dialog captured for this browser (only captured while a non-default dialog policy is acti…browser_get_links— Extract all hyperlinks on the page as a compact list of {text, href, rel}browser_get_metadata— Get page metadata: title, description, canonical URL, author, published/modified dates, language, favicon, Open Graph + …browser_get_network— List the network requests the page has made (from the Resource Timing API): url, type, protocol, size, and duration, plu…browser_get_screenshot— Retrieve a saved screenshot by UUIDbrowser_get_source— Get raw page source HTMLbrowser_get_state— Get comprehensive browser statebrowser_get_storage— Read the page's localStorage or sessionStoragebrowser_get_tables— Extract HTML tables as markdown (default), CSV, or JSON rowsbrowser_get_title— Get current page titlebrowser_get_url— Get current URL of a browserbrowser_get_zoom— Get current zoom factor for the browserbrowser_go_back— Navigate browser back in historybrowser_go_forward— Navigate browser forward in historybrowser_history_go— Move within the browser's session history by a relative delta (e.gbrowser_hover— Hover the pointer over an element (dispatches pointer/mouse enter+over+move events), triggering hover menus and tooltipsbrowser_inject_css— Inject CSS into the pagebrowser_inject_script— Inject a script URL into the pagebrowser_is_element_visible— Check if an element is visible on the pagebrowser_navigate— Navigate a browser to a specific URLbrowser_open_devtools— Open developer tools for the browserbrowser_press_key— Send a real (trusted) key press to the focused element via native inputbrowser_print_pdf— Print page to PDFbrowser_read— Read the page as clean, LLM-friendly content instead of raw HTMLbrowser_reload— Reload the current pagebrowser_remove_header— Remove a previously-set custom request header from this browserbrowser_right_click— Right-click (context-menu) an element by dispatching mousedown/mouseup/contextmenu with the secondary buttonbrowser_screenshot— Take a screenshot of the page - returns base64-encoded PNG image databrowser_screenshot_element— Screenshot a single element (scrolls it into view, captures just its bounding box)browser_scroll_by— Scroll by offset amountbrowser_scroll_to— Scroll to specific coordinatesbrowser_set_cookie— Set a cookie for the browserbrowser_set_dialog_policy— Control how this browser handles JavaScript dialogs (alert/confirm/prompt/beforeunload)browser_set_fingerprint— Set fingerprint spoofing config for a browserbrowser_set_fingerprint_audio— Configure audio fingerprint spoofing for a browserbrowser_set_fingerprint_canvas— Configure canvas fingerprint spoofing for a browserbrowser_set_fingerprint_webgl— Configure WebGL fingerprint spoofing for a browserbrowser_set_geolocation— Set geolocation for the browserbrowser_set_header— Add or override a custom HTTP request header sent by this browser on subsequent requests (e.gbrowser_set_headless— Toggle headless mode for a browserbrowser_set_muted— Mute or unmute a single browser's audiobrowser_set_offline— Set offline mode for the browserbrowser_set_storage— Set a key in the page's localStorage or sessionStoragebrowser_set_user_agent— Set user agent for the browserbrowser_set_value— Set value of an input elementbrowser_set_viewport— Set viewport size for the browserbrowser_set_zoom— Set zoom factor for the browserbrowser_snapshot— Token-efficient interactive snapshot: a compact list of visible interactive elements (links, buttons, inputs, selects) e…browser_stop— Stop loading the current pagebrowser_submit_form— Submit a formbrowser_type— Type text at current cursor positionbrowser_upload_file— Attach files to a file elementbrowser_wait_for_element— Wait for an element to appear on the pagebrowser_wait_for_load— Wait for page to finish loadingbrowser_wait_for_network_idle— Wait until the page has finished loading and no new network requests have started for a quiet periodbrowsers_close_all— Close all browsersbrowsers_close_others— Close all browsers except onebrowsers_close_others_in_layout— Close all browsers in a layout except onebrowsers_create_multiple— Create multiple browsers with different configurationsbrowsers_execute_all— Execute JavaScript on all browsers and return each browser's resultbrowsers_get_urls— Get every open browser's uuid, url and title (copy all URLs)browsers_list— List all browsersbrowsers_navigate_all— Navigate all browsers to a URLbrowsers_reload_all— Reload all browsers
layout_close_all— Close all dock widgets of specified typeslayout_create— Create a new layout/docklayout_delete— Delete a layout/docklayout_equalize— Equalize the dock splitters so the tiled docks share space evenly (tidy up the layout)layout_get_apps— Get applications in a layoutlayout_get_browsers— Get browsers in a layoutlayout_get_info— Get information about a layoutlayout_list— List all available layouts/dockslayout_open_dock— Open a non-browser dock in the layout: a downloads panel, history panel, or new-window panellayout_rename— Rename a layout/docklayout_reset_resolution— Clear a custom layout resolution and return the window to free/auto sizinglayout_screenshot— Take a screenshot of the entire layout window at its exact dimensionslayout_set_locked— Lock or unlock a layoutlayout_set_mute_all— Mute or unmute all browsers in the layout at oncelayout_set_resolution— Set a fixed pixel resolution for the layout window (useful for consistent screenshots or device-size testing)layout_toggle_fullscreen— Toggle fullscreen mode for the layout windowprofile_create— Create a new browser profileprofile_create_temporary— Create a temporary browser profileprofile_delete— Delete a browser profileprofile_get_default— Get default browser profileprofile_get_proxy— Get the proxy address stored for a browser profileprofile_list— List all browser profilesprofile_rename— Rename a browser profile (automatically handles both regular and temporary profiles)profile_set_default— Set default browser profileprofile_set_proxy— Set the proxy address for a browser profile
workspace_create— Create a new workspaceworkspace_delete— Delete a workspaceworkspace_get_current— Get the currently active workspaceworkspace_get_info— Get information about a workspaceworkspace_get_layouts— Get all layouts associated with a workspaceworkspace_get_startup— Get the startup workspace informationworkspace_list— List all available workspacesworkspace_rename— Rename a workspaceworkspace_set_homepage— Set workspace homepage URLworkspace_set_startup— Set workspace as startup workspaceworkspace_switch— Switch to a different workspace
app_dismount— Dismount (unembed) a native app dock by UUIDapp_info— Get full info for a mounted native app by UUIDapp_list— List native app docks mounted in a layout (full JSON)app_list_processes— List running OS windows/processes that can be mounted as native app docksapp_lock— Lock or unlock a native app dockapp_mount— Mount a running native window as a dock in a layoutapp_set_title— Set the custom title of a native app dock
adblock_add— Add a new adblock filter list by URLadblock_enable— Enable or disable an adblock filter list by idadblock_get_override— Get a profile's adblock override (on/off/inherit) and the effective enabled stateadblock_list— List all adblock filter lists (id, name, url, enabled, rule_count, last_updated)adblock_remove— Remove an adblock filter list by idadblock_set_auto_update— Configure periodic auto-update of filter listsadblock_set_override— Set a profile's adblock overrideadblock_update— Trigger a refresh/download of a single filter list by idadblock_update_all— Trigger a refresh/download of all enabled filter lists
bookmark_create— Create a bookmarkbookmark_delete— Delete a bookmark by idbookmark_list— List bookmarks (id, name, url, category_id, tags)bookmark_list_categories— List bookmark categories (id, name, parent_id, color, path, depth)bookmark_open— Open a bookmark in a new browserbookmark_update— Update a bookmark's title, url, and/or category by id (unspecified fields keep their current value)
history_clear— Clear all browsing history across every profilehistory_delete_visit— Delete a single history visit by visit_idhistory_list— List/search browsing history visits (visit_id, uri, title, host, profile, visit_time, counts)history_profiles— List distinct profiles that have history visitshistory_remove_uri— Remove all history for a specific URL
download_cancel— Cancel an in-flight downloaddownload_clear_all— Remove every download (cancels in-flight first)download_clear_completed— Remove all completed/cancelled/failed downloadsdownload_get— Get one download by uuiddownload_list— List active/recent downloads (uuid, filename, url, status, bytes, speed)download_pause— Pause an in-flight downloaddownload_remove— Remove a download from the list (cancels first if active)download_resume— Resume a paused downloaddownload_start— Download a URL directly to the app's configured download directory
alias_delete— Delete a website aliasalias_list— List website aliases (short keyword -> URL shortcuts used in the omnibox)alias_resolve— Resolve a website alias to its URLalias_set— Create or update a website aliassearch— Run a search query in a new browser using the default (or specified) search engine
permission_clear— Forget every remembered permission decision for all hostspermission_list— List all remembered site permission decisions (host, permission_type, label, allowed)permission_remove— Forget one remembered permission decision for a hostpermission_remove_host— Forget every remembered permission decision for a host
settings_get— Get current values of application settings (the readable counterpart to settings_set) - behaviour/features, appearance, …settings_list_search_engines— List configured search engines (id, name, url)settings_list_themes— List available themes (id, name, is_dark, is_core)settings_set— Set an application setting by key
Related MCP server: computer-use-mac-mcp
Requirements
The MetaDock desktop app installed and running (Windows). Get it at metadock.app.
The MCP server enabled in MetaDock → Settings → API & Automation.
The server runs locally on your machine — stdio (metadock mcp) or loopback HTTP — so your data
never leaves your computer.
Install
Option A — from inside MetaDock (recommended)
Settings → API & Automation → Install to desktop tools, then pick your client (Claude Desktop, Claude Code, Cursor, VS Code, Codex, …). MetaDock writes the correct config and enables the endpoint for you.
Option B — Claude Desktop (.mcpb)
Download the latest metadock-<version>.mcpb from Releases, open it with Claude
Desktop, and confirm the path to metadock.exe when prompted.
Option C — manual (any stdio MCP client)
Add this to your client's MCP config, adjusting the path to where MetaDock is installed
(default %LOCALAPPDATA%\MetaDock\bin\metadock.exe):
{
"mcpServers": {
"metadock": {
"command": "C:\\Users\\YOU\\AppData\\Local\\MetaDock\\bin\\metadock.exe",
"args": ["mcp"]
}
}
}Option D — official MCP registry
Any registry-aware client can discover the server by name: app.metadock/metadock.
Privacy & safety
Everything runs on your machine. By design, the following are not reachable over MCP (or any automation surface): the Password Vault, the AI assistant, profile-bundle import/export, and the system clipboard.
Links
Website — https://metadock.app
MCP setup docs — https://metadock.app/docs/mcp
Support — https://metadock.app/support
Privacy policy — https://metadock.app/privacy
Notes
The
.mcpbin Releases is currently unsigned; Claude Desktop will note this on install.This bundle references your installed
metadock.exeand launchesmetadock mcp— the app itself is not bundled.
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
- FlicenseAqualityDmaintenanceMCP server for automating qutebrowser browser via CDP and IPC. Enables tab management, navigation, screenshots, JavaScript execution, and authenticated HTTP requests through the browser's session.Last updated16
- Flicense-qualityDmaintenanceMCP server for macOS desktop automation enabling screenshot, click, type, scroll, and more. Retina-aware, supports CJK text input and multi-monitor, works with any MCP client without API keys.Last updated3
- Flicense-qualityCmaintenanceEnables macOS control, web scraping, news fetching, and workspace automation through an MCP server.Last updated
- Alicense-qualityCmaintenanceEnables MCP clients to control a local TradingView Desktop instance, providing tools to read chart state, change symbols and timeframes, and fetch OHLCV data.Last updated200131MIT
Related MCP Connectors
Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
List, share, upload, and manage Slideless HTML presentations from any MCP host.
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/metadockapp/metadock-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server