language-server-mcp
The language-server-mcp is a TypeScript-based MCP server designed to enhance the coding experience with features such as hover information, code completion, and diagnostics, particularly for TypeScript and potentially other languages. It integrates seamlessly with the Model Context Protocol for efficient communication with client applications.
language-server-mcp MCP Server
A Model Context Protocol (MCP) server providing language support for code editing.
This is a TypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics. It demonstrates core MCP concepts by providing:
- Language-specific tools for code analysis and manipulation
- Integration with the Model Context Protocol for seamless communication
Features
Language Support
- Provides hover information for symbols in code
- Offers code completion suggestions
- Reports diagnostic information (errors, warnings)
- Only tested with typescript, theoretically should support Python. Would love to add additional language servers or be more agnostic if possible.
MCP Integration
- Implements the MCP protocol for communication with clients
- Exposes language features as MCP tools
Tools
get_hover
: Get hover information for a position in a document- Takes languageId, filePath, content, line, and character as required parameters
get_completions
: Get completion suggestions for a position in a document- Takes languageId, filePath, content, line, and character as required parameters
get_diagnostics
: Get diagnostic information for a document- Takes languageId, filePath, and content as required parameters
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"language-server-mcp": {
"command": "/path/to/language-server-mcp/build/index.js"
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.