vscode-context-mcp

vscode-context-mcp

6

VSCode Context MCP is a server designed to enhance the interaction between AI assistants and the VSCode environment. It provides expanded capabilities like accessing current context and running filesystem operations to assist developers effectively. The server supports sophisticated integrations with AI models to boost productivity and facilitate complex coding tasks.

VSCode Context MCP

A Model Context Protocol (MCP) server that provides VSCode context and filesystem operations for AI assistants.

Overview

VSCode Context MCP creates a bridge between AI assistants and your VSCode environment. It enables AI models to:

  1. Access the current VSCode context (active files, tabs, terminal output)
  2. Perform filesystem operations with controls
  3. Execute shell commands in a controlled environment

This allows AI assistants to provide more relevant and context-aware help for software development tasks.

Features

VSCode Context Access

  • Get current project path
  • Retrieve active file contents and metadata
  • List open editor tabs
  • Access diagnostic problems (warnings/errors)
  • Retrieve terminal output
  • Access files attached to the workspace

Filesystem Operations

  • Read/write files
  • Edit files with line-based changes
  • Create directories
  • List directory contents
  • Generate directory trees
  • Search for files
  • Get file metadata
  • Move/rename files

Command Execution

  • Run shell commands with output capture
  • Controlled execution environment

⚠️ Security Warning

Be careful what you ask this server to run! In the Claude Desktop app, use Approve Once (not Allow for This Chat) so you can review each command, and use Deny if you don't trust the command. Permissions are dictated by the user running the server.

This tool does not yet implement comprehensive security measures, so treat it with caution.

Integration with AI Assistants

This MCP server is designed to work with Model Context Protocol-compatible AI assistants. It enhances their ability to:

  • Understand your code context
  • Make informed suggestions
  • Provide relevant examples
  • Help debug issues
  • Perform file operations on your behalf

1. Install the VSCode Extension

Note: Before installation, it's recommended to uninstall similar MCP servers such as filesystem MCP to avoid conflicts.

  • Download the VSIX package from here
  • Open VSCode
  • Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS) to open the command palette
  • Type "Extensions: Install from VSIX..." and select it
  • Navigate to the downloaded VSIX file and select it
  • Restart VSCode after installation

For more information, visit the VSCode extension repository

2. Set Up and Run the MCP Server

First, clone or download this repository. Then, install the dependencies and build the project:

cd path/to/vscode-context-mcp
npm install
npm run build

Once built, update your Claude Desktop configuration to use the MCP server:

{
  "mcpServers": {
    "vscode-context-mpc": {
      "command": "node",
      "args": [
        "C:\\path\\to\\vscode-context-mcp\\dist\\index.js"
      ]
    }
  }
}

Note: Make sure the file path in the args array matches your actual project location.

3. Test the Connection

To verify that everything is working correctly, try using this prompt in Claude:

Please check my current VSCode project and tell me what files I have open.

4. Add Files to Claude Context

You can add files to your Claude context in a few ways:

  • Press Ctrl+L (Windows/Linux) or Cmd+L (macOS) to add the current file
  • Press Ctrl+I or Cmd+I to add only the selected text
  • Open the command palette (Ctrl+Shift+P or Cmd+Shift+P) and search for:
    • "Add File to Context"
    • "Add Selection to Context"

Tool Reference

Tool NameDescription
get_vscode_contextRetrieve complete VSCode context information
get_attached_filesRetrieve a list of files attached to the workspace
get_project_pathGet current project root directory
get_current_fileGet details and content of the active file
get_open_tabsList all open editor tabs
get_problemsRetrieve diagnostics (errors/warnings)
get_terminal_contentGet terminal output and history
run_commandExecute a shell command
read_fileRead contents of a file
read_multiple_filesRead multiple files at once
write_fileCreate or overwrite a file
edit_fileMake line-based edits to a file
create_directoryCreate directory structure
list_directoryList files and directories
directory_treeGet recursive directory structure
move_fileMove or rename files and directories
search_filesFind files matching a pattern
get_file_infoGet detailed file metadata

Roadmap

  1. Make support for multiple VSCode projects
  2. Accept/Revert functionality when writing or editing files
  3. Redesign UI

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License – see the file for details.