IDE-LSP for MCP
A VSCode extension that exposes IDE code intelligence capabilities through the MCP (Model Context Protocol).
As long as VSCode supports parsing a certain language, this extension can provide LSP services for that language to AI models.
中文: 中文版本
Features
- 16 MCP Tools covering common code intelligence operations
- Multi-window and multi-workspace support
- Pagination support to avoid large data transfers
- Code context information for AI understanding
- Debug panel for tool call logs
| Tool |
Description |
listOpenProjects |
List all open workspaces |
goToDefinition |
Navigate to symbol definition |
findReferences |
Find symbol references |
hover |
Get hover information |
getFileStruct |
Get file symbol structure |
searchSymbolInWorkspace |
Search symbols in workspace |
goToImplementation |
Find interface implementations |
incomingCalls |
Find methods that call this method |
renameSymbol |
Rename symbol |
getDiagnostics |
Get diagnostic information |
getDefinitionText |
Get definition text |
syncFiles |
Sync file changes |
searchFiles |
Search files |
moveFile |
Move file |
deleteFile |
Delete file |
getScopeParent |
Get parent scope symbol |
Requirements
- VSCode 1.85.0+
- Node.js 22.x
Usage
Installation
Install the extension from VSCode Extension Marketplace, or install from a local .vsix file
After installation, add the following configuration to your MCP configuration file (mcp.json):
{
"mcpServers": {
"ide-lsp": {
"url": "http://localhost:53221/mcp",
"type": "http"
}
}
}
Debug Panel
- Set
ide-lsp-mcp.enableDebug to true to enable the MCP debug panel in the debug sidebar, where you can view MCP tool calls and output parameters.
- The
listOpenProjects tool runs only on the MCP server side and will not appear in the debug panel.
Settings
| Setting |
Type |
Default |
Description |
ide-lsp-mcp.port |
number |
53221 |
MCP server port |
ide-lsp-mcp.autoStart |
boolean |
true |
Auto-start server on launch |
ide-lsp-mcp.pageSize |
number |
50 |
Page size |
ide-lsp-mcp.contextLines |
number |
2 |
Context lines |
ide-lsp-mcp.enableDebug |
boolean |
false |
Enable debug panel |
ide-lsp-mcp.allowMoveFile |
boolean |
false |
Allow MCP client to move files without confirmation |
ide-lsp-mcp.allowDeleteFile |
boolean |
false |
Allow MCP client to delete files without confirmation |
ide-lsp-mcp.enableCors |
boolean |
false |
Enable CORS for MCP server |
Architecture
┌─────────────────┐ HTTP/SSE ┌─────────────────┐
│ MCP Client │ ◄──────────────► │ MCP Server │
│ (AI Model) │ │ (Standalone Node.js) │
└─────────────────┘ └────────┬────────┘
│ WebSocket
┌─────────────────────────┼─────────────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Window 1 │ │ Window 2 │ │ Window 3 │
│ ExtHost │ │ ExtHost │ │ ExtHost │
└─────────────┘ └─────────────┘ └─────────────┘
Documentation
License
MIT
| |