language-server-mcp
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:
Build the server:
For development with auto-rebuild:
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
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
The Inspector will provide a URL to access debugging tools in your browser.
TypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.