This project provides tools that expose Language Server Protocol (LSP) functionality as MCP (Model Context Protocol) tools. It enables AI agents to programmatically analyze and edit TypeScript/JavaScript code through standardized MCP tool calls.
tsconfig.json
detection).bun install
To use with Claude Desktop, add the server configuration to the Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
Add the following configurations to the mcp_servers
section of the config file:
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix",
"--mcp"
]
},
"vsc-mcp": {
"command": "bun",
"args": [
"/path/to/your/vsc-mcp/src/index.ts"
],
"env": {
"LOG_DIR": "/path/to/your/vsc-mcp/logs",
"ALLOWED_DIRECTORIES": "/path/to/your/vsc-mcp"
}
}
}
}
We need the repomix
mcp server dependency.
Replace /path/to/your/vsc-mcp
with the actual path to your vsc-mcp cloned directory.
The VSC-MCP tools include a security feature to restrict file operations to specific directories:
ALLOWED_DIRECTORIES: An environment variable that specifies a comma-separated list of directories where file operations are permitted.
Example:
ALLOWED_DIRECTORIES=/home/user/projects,/tmp/workspace
If this environment variable is not set, operations default to the current working directory only.
All file operations (read, write, edit) will check if the target path is within the allowed directories.
Attempting to access files outside allowed directories will result in an "Access denied" error.
This feature helps prevent unauthorized access to sensitive files and directories on the system.
Currently, the following tools are available:
editSymbol
: Edits a symbol (function, class, method, etc.) by name and type in a given file using LSP.
readSymbol
: Reads a symbol (function, class, method, etc.) by name and type in a given file using LSP.
readFile
: Reads the content of a file.
writeFile
: Creates a new file or overwrites an existing file with the provided content.
searchReplaceFile
: Searches for content in a file and replaces it with new content.
{
"mcpServers": {
"repomix": {
"env": {},
"args": [
"-y",
"repomix",
"--mcp"
],
"command": "npx"
},
"vsc-mcp": {
"env": {
"LOG_DIR": "/path/to/your/vsc-mcp/logs",
"ALLOWED_DIRECTORIES": "/path/to/your/vsc-mcp"
},
"args": [
"/path/to/your/vsc-mcp/src/index.ts"
],
"command": "node"
}
}
}
Seamless access to top MCP servers powering the future of AI integration.