servers / vscode-mcp
vscode-mcp
communitystdiolocalwrite capablehealthy
MCP server for Claude Code/VSCode/Cursor/Windsurf to use editor self functionality. ⚡ Get real-time LSP diagnostics, type information, and code navigation for AI coding agents without waiting for slow tsc/eslint checks.
01Tools · 8
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| health_check Test connection to VSCode MCP Bridge extension. Troubleshoot when other VSCode MCP tools return connection errors or timeouts | unknown | unknown | unknown |
| get_diagnostics Get diagnostic information from vscode language servers.
Ideal quality-check tool for AI coding agents, much faster than 'tsc --noEmit' and 'eslint .'
**Parameter Examples:**
- Check modified files: workspace_path: '/path/to/open-vscode-workspace', __NOT_RECOMMEND__filePaths: [] (auto-detects git changes, including submodules)
- Check submodule files explicitly: keep workspace_path at the open VSCode workspace root and pass file paths relative to that root, for example ['submodule/path/src/file.ts']
- Filter to ESLint findings only: sources: ['eslint']
- Errors only (rarely useful): __NOT_RECOMMEND__severities: ['error']
**Return Format:**
Structured diagnostic results with severity levels, positions, and detailed error messages.
Severity levels: 0=ERROR, 1=WARNING, 2=INFO, 3=HINT (matches VSCode DiagnosticSeverity enum)
**Note:**
- workspace_path selects the VSCode instance/socket, not the repository whose files you want to inspect. Use list_workspaces if unsure, and do not pass a child project or submodule path unless VSCode is opened there.
- In most cases, pass __NOT_RECOMMEND__filePaths: [] to auto-detect git modified files. If the open workspace contains git submodules, modified files inside those submodules are included.
- __NOT_RECOMMEND__severities defaults to all four levels. Narrowing it almost always hides real ESLint/TS findings (many rules surface at info or hint) — leave it alone unless you have a specific reason.
| read | false | unknown |
| get_symbol_lsp_info Retrieve comprehensive LSP information for a symbol, including type definitions, documentation, and usage details.
Essential for fixing type errors and understanding symbol declarations.
Typical use cases:
- Fix TypeScript type checking errors
- Extract function parameters and return types from symbols when encapsulating code blocks into functions
- Obtain variable types from nearby code symbols when declaring variables or type assertions, avoiding the use of 'any'
| unknown | unknown | unknown |
| get_references Find all reference locations of a symbol (variable, function, class, etc.) across the codebase
**Return Format:**
Array of reference locations with file paths and exact positions
| read | false | unknown |
| execute_command Execute VSCode commands with arguments
**Common Use Cases:**
- Format code: 'editor.action.formatDocument' with args: '[]'
- Open files: 'vscode.open' with args: '["file:///absolute/path/to/file.ts"]'
- Save all files: 'workbench.action.files.saveAll' with args: '[]'
- Auto-fix issues: 'editor.action.fixAll' with args: '[]'
- Restart TypeScript: 'typescript.restartTsServer' with args: '[]'
- Restart ESLint: 'eslint.restart' with args: '[]'
**Important Notes:**
- Commands and arguments may change with VSCode updates, it's recommended to search in the VSCode official repository to confirm the command and arguments are correct before use
- Commands like 'reloadWindow', 'reloadExtensionHost' will interrupt conversation
- ⚠️ WARNING: May cause irreversible changes, use with caution
| write | true | unknown |
| open_files Open files in vscode | unknown | unknown | unknown |
| rename_symbol Rename a symbol with VSCode F2 ability
Advantages over search and replace:
- Faster
- More accurate
- Automatically updates imports and reference locations
**Important Notes:**
- Some symbols may not be renameable (e.g., built-in types, external libraries) | write | true | unknown |
| list_workspaces List all available VSCode workspaces that can be connected to use vscode mcp tools
**Return Format:**
Array of workspace objects with paths, names, status, and optional details.
Includes summary statistics about discovered workspaces.
**Important Notes:**
- **Active status** means successfully connected and verified
- **Available status** means socket exists but not tested | read | false | unknown |
02Install & source
npx -y @vscode-mcp/vscode-mcp-server@latest
npxnpx -y @vscode-mcp/vscode-mcp-cli
npx- repohttps://github.com/tjx666/vscode-mcp
- licenseNOASSERTION
- adoption92 stars · 16 forks
03Access granted
Manage GitHub · writeExecute code · write
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-07-04 07:48Z
next_check2026-07-05 12:29Z
cadenceevery 29h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex — 9 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/vscode-mcp)
Next step
Want agents that act within guardrails? Apex is the live governed-agent product — paced, capped, and fully-logged actions with approval queues before anything runs.
Explore Apex →