VSCode Automation MCP (Sukarth/vscode-automation-mcp) is an MCP server listed on the M8ven Trust Index. It scores 58 out of 100, grade D. It declares 61 tools. No publisher has claimed this listing.
Enables AI agents to programmatically control and automate VSCode by interacting with its UI, executing commands, and inspecting the DOM structure. It supports advanced workflows like UI testing, extension development, and debugging through a standalone VSCode instance.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
Sukarth
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
vscode_execute_commandExecute a VSCode command programmatically. Use this to trigger any command available in the Command Palette.
vscode_list_commandsList available VSCode commands. Optionally filter by a search string to find specific commands.
vscode_click_elementClick a UI element in VSCode by CSS selector, XPath, accessibility label, or text content. Supports single click, double click, and right click.
vscode_type_textType text into VSCode. Can type into the currently focused element or target a specific input by selector.
vscode_open_fileOpen a file in the VSCode editor. Optionally navigate to a specific line and column position.
vscode_take_screenshotTake a screenshot of the VSCode window. The screenshot is saved to a file and optionally returned as base64 data.
vscode_get_elementGet detailed information about a UI element including its text, visibility, enabled state, position, size, and attributes.
vscode_open_webviewOpen a webview panel by its title or command. Webviews are used by extensions for custom UI.
vscode_get_diagnosticsGet diagnostic messages (errors, warnings, info) from the Problems panel. Useful for checking compilation errors and linting issues.
vscode_get_domGet the full DOM structure of the VSCode window or a specific element. Returns the DOM tree in a format suitable for understanding the UI structure. Use this to discover element selectors for automation.
vscode_get_ui_structureGet the structure of a specific VSCode UI region (sidebar, editor, panel, etc.). Provides a focused, clean view of the requested UI area with semantic information.
vscode_query_elementsFind all elements matching a CSS selector and get information about each. Useful for discovering interactive elements, understanding repeated patterns, and building automation selectors.
vscode_get_accessibility_treeGet the accessibility tree of the VSCode window. Provides a semantic, role-based view of the UI that is often cleaner and more meaningful than raw DOM. Includes ARIA labels, roles, and states.
vscode_get_element_childrenGet the direct children (or descendants) of an element. Use this for incremental DOM exploration - start with a parent, then drill down into specific children.
vscode_get_element_parentsGet the parent chain (ancestors) of an element up to the body. Useful for understanding element context and building more specific selectors.
vscode_get_element_siblingsGet sibling elements at the same level as the target element. Useful for understanding list items, tabs, or other repeated elements.
vscode_find_interactive_elementsFind all interactive elements (buttons, inputs, links, tabs, etc.) within a container. Great for discovering what actions can be performed in a UI area.
vscode_search_domSearch the DOM for elements by text content, ID, class, aria-label, title, or role. Returns matching elements with their selectors.
vscode_dump_dom_to_fileDump the full DOM structure to a file (JSON, HTML, or tree format). The AI can then read sections of this file incrementally to explore large DOMs without overwhelming context.
vscode_execute_scriptExecute arbitrary JavaScript code in the VSCode window context (like DevTools console). Has full access to document, window, and all globals. Returns the result as JSON.
vscode_query_selectorDirect wrapper for document.querySelector() or querySelectorAll(). Simple and fast element lookup by CSS selector.
vscode_get_element_by_idGet an element by its ID (document.getElementById wrapper). Fast lookup for elements with known IDs.
vscode_get_elements_by_classGet all elements with a specific class name (document.getElementsByClassName wrapper).
vscode_get_elements_by_tagGet all elements of a specific tag type like "button", "input", "div" (document.getElementsByTagName wrapper).
vscode_get_editor_contentGet the full text content of the currently active editor along with metadata like file name, line count, and dirty state.
vscode_verify_elementVerify the presence and state of a UI element. Check if it exists, is visible, is enabled, or contains specific text.
vscode_assert_textAssert that specific text appears in the editor or a UI element. Supports exact match or contains check.
vscode_check_file_openCheck if a file with the specified name is currently open in the editor.
vscode_press_keysPress keyboard keys or key combinations (e.g., "ctrl+s", "ctrl+shift+p", "Enter", "Escape"). Supports modifiers and special keys.
vscode_focus_elementFocus a UI element by CSS selector. Optionally scrolls the element into view first.
vscode_scrollScroll an element or the page in a specified direction or to a position (top/bottom).
vscode_drag_dropDrag an element and drop it onto another element. Useful for reordering tabs, tree items, etc.
vscode_hoverHover over an element for a specified duration to trigger hover effects.
vscode_wait_for_elementWait for an element to appear or disappear. Useful for waiting for UI updates after actions.
vscode_wait_for_textWait for specific text to appear or disappear in an element or the page.
vscode_wait_for_idleWait for VSCode to become idle (no pending operations, document ready, no busy indicators).
vscode_get_notificationsGet all visible notifications with their type, message, actions, and source.
vscode_dismiss_notificationDismiss a notification by clicking its close button. Can target by index or message text.
vscode_handle_dialogHandle modal dialogs like InputBox, QuickPick, or confirmation dialogs. Can submit text or dismiss.
vscode_get_quick_pick_itemsGet items from the currently visible QuickPick/Command Palette.
vscode_select_quick_pick_itemSelect an item from the QuickPick by text or index.
vscode_trigger_hoverTrigger hover on an element and optionally wait for tooltip to appear. Returns tooltip content if found.
vscode_open_context_menuOpen a context menu (right-click menu) on an element.
vscode_get_menu_itemsGet items from a visible menu (context menu or dropdown).
vscode_click_menu_itemClick a menu item by its text label.
vscode_get_tooltipGet currently visible tooltip content. Optionally hover over an element first.
vscode_trigger_completionTrigger IntelliSense/code completion (Ctrl+Space) and optionally wait for items.
vscode_get_completion_itemsGet items from the currently visible IntelliSense/completion widget.
vscode_select_completion_itemSelect and accept a completion item by its label.
vscode_get_problems_panelGet problems/diagnostics from the Problems panel with severity, message, source, and location.
vscode_go_to_definitionTrigger Go to Definition (F12) on the current cursor position.
vscode_trigger_signature_helpTrigger signature help (Ctrl+Shift+Space) and get parameter info.
vscode_get_console_logsGet captured console logs (log, info, warn, error, debug). Logs are captured after first call.
vscode_clear_consoleClear captured console logs.
vscode_get_output_channelsGet list of available output channels in VSCode.
vscode_get_output_channel_contentGet content from a specific output channel.
vscode_get_performance_metricsGet performance metrics including memory, timing, DOM stats, and resource loading.
vscode_get_extension_logsGet extension-related console logs. Can filter by extension ID.
vscode_get_devtools_infoGet DevTools-style information about the window, document, navigator, and VSCode-specific APIs.
vscode_initializeInitialize the VSCode automation driver. This is called automatically on first tool use, but can be called explicitly to pre-warm the connection.
vscode_get_statusGet the current status of the VSCode automation driver.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
CHROME_DCHECK_ALWAYS_ONCHROME_DISABLE_GPUCHROME_DISABLE_GPU_COMPOSITINGDISABLE_GPUELECTRON_DISABLE_GPUELECTRON_NO_ATTACH_CONSOLEEXTENSIONS_FOLDERLIBGL_ALWAYS_SOFTWARETEST_RESOURCESVSCODE_AUTOMATION_LOG_LEVELLog level: trace, debug, info, warn, error infoVSCODE_AUTOMATION_OFFLINESet to true to use cached binaries only falseVSCODE_AUTOMATION_STORAGE_PATHDirectory to store VSCode and ChromeDriver System temp dirVSCODE_AUTOMATION_VERSIONVSCode version to download (e.g., 1.95.0, 1.85.0, or latest) latestVSCODE_IPC_HOOKVSCODE_PORTABLETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
61/61 tools missing one or more hints — vscode_execute_command (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); vscode_list_commands (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); vscode_click_element (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +58 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool inputs are validated
Only 0/61 tool handlers declare input schemas (0%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
Only 0/61 tool handlers wrap calls in try/catch (0%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
Production dependencies are patched
0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.0 (high), @modelcontextprotocol/sdk@1.12.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/sukarth/vscode-automation-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check