---
slug: "vscode-vscode-context-mcp"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/vilasone455/vscode-context-mcp@main/README.md"
repo: "https://github.com/vilasone455/vscode-context-mcp"
source_file: "README.md"
branch: "main"
---
# 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](https://github.com/vilasone455/vscode-context-mcp-extension/releases/download/1.0.2/vscode-context-mcp-extension-1.0.2.vsix)
- 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](https://github.com/vilasone455/vscode-context-mcp-extension)

### 2. Set Up and Run the MCP Server

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

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

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

```json
{
  "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 Name            | Description                                  |
|----------------------|----------------------------------------------|
| `get_vscode_context` | Retrieve complete VSCode context information |
| `get_attached_files` | Retrieve a list of files attached to the workspace |
| `get_project_path`   | Get current project root directory           |
| `get_current_file`   | Get details and content of the active file   |
| `get_open_tabs`      | List all open editor tabs                    |
| `get_problems`       | Retrieve diagnostics (errors/warnings)       |
| `get_terminal_content` | Get terminal output and history           |
| `run_command`        | Execute a shell command                      |
| `read_file`          | Read contents of a file                      |
| `read_multiple_files`| Read multiple files at once                  |
| `write_file`         | Create or overwrite a file                   |
| `edit_file`          | Make line-based edits to a file              |
| `create_directory`   | Create directory structure                   |
| `list_directory`     | List files and directories                   |
| `directory_tree`     | Get recursive directory structure            |
| `move_file`          | Move or rename files and directories         |
| `search_files`       | Find files matching a pattern                |
| `get_file_info`      | Get 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 [LICENSE](https://github.com/vilasone455/vscode-context-mcp/tree/HEAD/LICENSE) file for details.

