Skip to main content
Glama

VSCode Helper

A command-line helper tool for controlling VSCode from the terminal and AI agents. This project provides both a standalone CLI interface and an MCP server for AI agent integration, enabling workspace management, file operations, and VSCode control.

Features

  • Smart Workspace Detection: Automatically detects active VSCode workspaces using VSCode's own status API

  • CLI Interface: Comprehensive command-line tool for VSCode control

  • JSON Output Support: Structured output for scripting and automation

  • File Operations: Open, create, and manage files in VSCode

  • Workspace Management: List, detect, and work with open VSCode workspaces

  • Terminal Integration: Execute commands in VSCode terminal

  • Search Capabilities: Search files and content across workspace

  • MCP Server: Full MCP server implementation for AI agent integration

Related MCP server: MCP Server for VS Code

Installation

From Source

npm install
npm run build
npm install -g .

Global Installation

npm install -g vscode-helper

Usage

CLI Commands

Workspace Management

# Show current active VSCode workspace
vscode-helper workspace

# List all open VSCode workspaces
vscode-helper workspaces

# Get workspace info as JSON
vscode-helper workspace --json
vscode-helper workspaces --json

File Operations

# Open a file in VSCode
vscode-helper open src/server.ts

# Open file at specific line
vscode-helper open src/server.ts --line 42

# Create a new file
vscode-helper create newfile.txt --content "Hello World"

# Select/highlight file in VSCode file explorer
vscode-helper select package.json

# Reveal file in VSCode file explorer
vscode-helper reveal src/server.ts
# Search for files
vscode-helper search package --type files

# Search file content
vscode-helper search "VSCode" --type content

# Get search results as JSON
vscode-helper search "error" --type content --json

# List workspace files
vscode-helper files
vscode-helper files --json

Terminal & Navigation

# Run a terminal command
vscode-helper run "npm install"

# Focus VSCode file explorer
vscode-helper focus-explorer

MCP Server

# Start MCP server for AI agent integration
vscode-helper server

Key Features

Smart Workspace Detection

The tool intelligently detects your active VSCode workspace by:

  1. Using VSCode's built-in code --status API to get currently open workspaces

  2. Prioritizing workspaces that contain your current working directory

  3. Falling back to workspace indicators (.git, package.json, etc.)

  4. Using VSCode's recent workspace storage as final fallback

Context-Aware File Operations

When you run vscode-helper select package.json from any terminal location, it will find and select the package.json file in your currently active VSCode workspace, not the terminal's current directory.

JSON Output Support

Most commands support --json flag for structured output:

  • --json flag provides machine-readable output for scripting

  • Regular output provides human-friendly formatting

  • Perfect for integration with other tools and scripts

MCP Server Integration

To integrate with AI agents like Claude Code, add this server to your MCP configuration:

{
  "mcpServers": {
    "vscode-helper": {
      "command": "vscode-helper",
      "args": ["server"]
    }
  }
}

MCP Tools Available:

  • open_file: Open files in VSCode

  • run_terminal_command: Execute terminal commands

  • create_file: Create new files

  • search_workspace: Search files or content

  • reveal_in_explorer: Reveal files in VSCode file explorer

  • focus_explorer: Focus the VSCode file explorer view

  • select_file_in_explorer: Select/highlight files in VSCode file explorer

MCP Resources Available:

  • vscode://workspace/files: List workspace files

  • vscode://editor/content: Current editor content (requires extension)

Architecture

The project consists of:

  • VSCode Controller (src/vscode-controller.ts): Core VSCode integration and workspace detection logic

  • CLI Interface (src/cli.ts): Command-line wrapper with argument parsing

  • MCP Server (src/server.ts): Handles MCP protocol communication for AI agents

Requirements

  • Node.js 18+

  • VSCode installed and accessible via code command

  • Linux/Ubuntu (primary target platform)

  • TypeScript for development

Development

# Install dependencies
npm install

# Build
npm run build

# Install locally for testing
npm install -g .

# Run in development
npm run dev

# Test CLI directly
npm run cli -- workspaces

Examples

Working with Multiple VSCode Windows

# List all open VSCode workspaces
$ vscode-helper workspaces
Open VSCode workspaces (3):
  project-a - /home/user/projects/project-a
  project-b - /home/user/projects/project-b
  project-c - /home/user/projects/project-c

# Get the active workspace (based on current context)
$ vscode-helper workspace
Active VSCode workspace: /home/user/projects/project-a

# Select a file in the active workspace from anywhere
$ cd /tmp
$ vscode-helper select src/main.py
Successfully selected src/main.py in VSCode file explorer (workspace: /home/user/projects/project-a)

JSON Integration

# Get workspace data for scripting
$ vscode-helper workspaces --json | jq '.[].name'
"project-a"
"project-b" 
"project-c"

# Search and process results
$ vscode-helper search "TODO" --type content --json | jq '.results'

Limitations

  • Primarily designed for Linux/Ubuntu environments

  • Some features require VSCode to be running

  • Terminal integration may vary by desktop environment

  • MCP server mode is designed for local usage only

Contributing

This project focuses on local VSCode automation and AI agent integration. Feel free to fork and adapt for your specific needs.

Available Tools

7 tools
create_fileB

Create a new file with content

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath for the new file
contentYesFile content

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the core action and does not disclose whether the tool overwrites existing files, creates parent directories, requires any permissions, or fails under certain conditions. For a mutation tool, this leaves important behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It is front-loaded with the action and object. It could perhaps add a brief behavioral note, but as a concise statement it is efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the schema covers both parameters, but with no annotations and no output schema, the description should at least clarify overwrite behavior, parent directory creation, or failure modes. These gaps matter for an agent choosing and invoking a file-creation tool safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both path and content are documented in the schema. The description adds no additional meaning beyond 'with content', so it does not improve on the schema, but it also does not need to. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create'), a clear resource ('a new file'), and states the primary purpose ('with content'). It distinguishes clearly from sibling tools like open_file, run_terminal_command, and search_workspace, none of which are about creating files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The wording implies this tool should be used for creating new files, and the sibling names make the contrast obvious. However, it does not explicitly state when to use this tool instead of open_file, nor does it mention what happens if the file already exists or whether it should be preferred over other write paths.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

focus_explorerB

Focus the VSCode file explorer view

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full responsibility for behavioral disclosure. It only states the action without mentioning side effects, preconditions, what happens if the explorer is hidden, or whether the view is opened or merely given focus. This is minimal behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no filler or redundant detail. It clearly states the action and target while remaining appropriately concise for such a simple operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description states the core action sufficiently. However, it lacks any context about expected conditions or how it relates to the explorer-focused sibling tools, leaving minor but real ambiguity in tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties and the description does not need to document parameter meanings. With no parameters to explain, the baseline of 4 applies because there is nothing missing on the parameter front.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Focus') and target resource ('VSCode file explorer view'). Although 'focus' closely mirrors the tool name, it names the exact UI component, making the action reasonably clear. It does not explicitly differentiate from sibling tools like reveal_in_explorer or select_file_in_explorer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives. Sibling tools such as reveal_in_explorer and select_file_in_explorer exist, but no conditions, exclusions, or alternative routing are provided, so the agent must infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_fileC

Open a file in VSCode

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNoOptional line number to jump to
pathYesPath to the file to open

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the core action and reveals nothing about edge cases — e.g., what happens if the path does not exist (error vs. new-file creation), whether VSCode receives focus, or whether this replaces the current editor tab. These are material behaviors left undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single tight sentence with no wasted words, appropriate for a simple two-parameter tool. It is slightly minimal — a short supporting clause distinguishing editor-open from explorer-reveal would strengthen it — but nothing present is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool whose schema fully documents both parameters, the description covers the core operation adequately. However, it omits edge-case behavior (nonexistent path), any output/return information (no output schema exists), and sibling-tool relationships, leaving moderate gaps for an agent deciding between open_file and explorer-focused siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — both 'path' and 'line' already have clear descriptions in the schema. The tool description adds no parameter-level detail beyond what the schema provides, which matches the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('open') and resource ('a file in VSCode'), clearly conveying the core action. It can be distinguished from siblings like create_file (creation vs opening), run_terminal_command (files vs commands), and search_workspace, though it does not explicitly differentiate from reveal_in_explorer / select_file_in_explorer, which also deal with showing files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description does not distinguish opening a file in the editor from revealing/selecting it in the explorer, nor does it mention any exclusions or conditions. An agent would have to infer usage purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reveal_in_explorerB

Reveal a file in VSCode file explorer

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file to reveal

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description plainly states what the tool does and there are no annotations to contradict. However, with no annotations present, the description carries the full burden and still omits behavioral context such as whether revealing the file also focuses the explorer, whether it opens the file, or what happens when the path is invalid or nonexistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler or redundant wording. It front-loads the verb and clearly identifies the target resource, making it appropriately concise for a one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, this description is nearly sufficient on its own. However, the presence of closely related sibling tools creates a real completeness gap: the description does not clarify how 'reveal in explorer' differs from 'select in explorer' or 'focus explorer,' which an agent would need to choose and invoke the right tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'path' parameter, and the schema already explains it as 'Path to the file to reveal.' The description adds no additional parameter semantics beyond that, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, 'Reveal,' and a clear resource, 'a file in VSCode file explorer.' It is not a tautology and communicates the core operation. However, it does not distinguish itself from the closely related sibling tool 'select_file_in_explorer,' which likely performs a similar or overlapping action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus siblings such as open_file, focus_explorer, or select_file_in_explorer. There are no exclusions, prerequisites, or alternative conditions stated, so the agent must infer usage entirely from the name and one-line description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_terminal_commandB

Execute a command in VSCode terminal

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory (optional)
commandYesCommand to execute

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description alone must disclose behavioral traits. It only states the operation; it does not mention whether execution is synchronous, how output/errors are returned, whether destructive actions are possible, or any prerequisites. The agent receives no behavioral insight beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It is appropriately sized for the tool's simple parameter surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema or annotations, and the description does not explain expected return values, terminal behavior, working-directory handling, or side effects. An agent cannot fully predict the outcome of invoking the tool, and sibling routing guidance is also absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both 'command' and 'cwd' have clear descriptions. The tool description adds no additional parameter meaning, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Execute') and a clear resource ('a command in VSCode terminal'), immediately identifying the tool's function. It also distinguishes it from the sibling file/explorer tools, which are clearly different operation types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool or name alternatives, but the phrase 'Execute a command in VSCode terminal' implies the usage scenario. There is no explicit exclusion or routing to sibling tools, but the intended context is inferrable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_workspaceA

Search for files or content in workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesSearch type: files or content
queryYesSearch query

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only, scoped search operation over the workspace, which is a useful signal. However, it does not reveal limitations such as whether content search is exact-match, whether file names only are searched, or what the result format looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action and target. There is no filler, redundancy, or unnecessary detail. Every word contributes to the agent's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema and no annotations, the description adequately covers the core purpose and aligns with the schema. The behavior—returning matching files or content—is largely self-evident from the word 'search'. It lacks explicit mention of result scope or formatting, but that is a minor gap for this simplicity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters with 100% coverage: `type` has a clear enum description with 'files' or 'content', and `query` is labeled 'Search query'. The description only loosely mirrors the `type` options ('files or content') and adds no new semantic meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('search') and names the resource ('files or content in workspace'), making its core function clear. It distinguishes itself from the sibling file-operation tools, none of which are search tools. The phrase 'files or content' is slightly ambiguous on its own, but the schema's `type` enum clarifies it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is given, and no alternative search tool appears among the siblings. The intended usage is implied by the name and description—when you need to locate files or content, invoke this tool—but the description does not state this prescriptively or mention exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_file_in_explorerB

Select/highlight a file in VSCode file explorer

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file to select

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the immediate UI effect. It does not disclose whether the explorer gets focused or auto-expanded, whether the action fails for nonexistent paths, or whether editor state is affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero filler. Every word contributes to stating the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one param, no output schema), so the description is nearly adequate. The main gap is unresolved ambiguity with reveal_in_explorer and no disclosure of failure behavior, which matters in a UI-state-changing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the path parameter's type, requirement, and meaning. The description adds no additional value such as absolute-vs-relative path expectations or whether folders are also selectable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('select/highlight') and resource ('a file in VSCode file explorer'), making the core operation clear. However, it does not explicitly differentiate from the near-sibling reveal_in_explorer, which overlaps heavily in meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as open_file, reveal_in_explorer, or focus_explorer. An agent has no stated basis for choosing this tool over its near-synonym reveal_in_explorer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.1.0
    • First observedcreate_file
    • First observedfocus_explorer
    • First observedopen_file
    • First observedreveal_in_explorer
    • First observedrun_terminal_command
    • First observedsearch_workspace
    • First observedselect_file_in_explorer

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but reveal_in_explorer and select_file_in_explorer overlap significantly since both involve highlighting/selecting a file in the explorer. focus_explorer is distinct enough, but the explorer-related trio creates minor ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (open_file, run_terminal_command, create_file, search_workspace). The explorer-related tools use a consistent verb_in_explorer style, making the naming predictable and coherent.

Tool Count5/5

Seven tools is well-scoped for a VSCode helper covering file operations, terminal execution, workspace search, and explorer interaction. Each tool earns its place without unnecessary redundancy or bloat.

Completeness4/5

The core VSCode helper workflows are covered: opening/creating files, running terminal commands, searching the workspace, and navigating the explorer. Minor gaps exist such as editing existing files or managing open editors, but these can be worked around and the toolset is coherent for its stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    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.
    10
    8
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with VSCode and its forks like Cursor and Windsurf, supporting file management (opening/closing files) and theme management.
    15
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Gives LLMs full control over VS Code — click UI elements, type code, run commands, take screenshots, read editor state, and record GIFs.
    12
    MIT

Latest Blog Posts

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/eyalev/vscode-self-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server