Language Server

by alexwohletz

24 stars
306 downloads
Not rated
GitHub

About

Integrates language server capabilities to provide code analysis, completion, and diagnostics for developing in various languages.

Details

Author
alexwohletz
Repository
alexwohletz/language-server-mcp
GitHub stars
24
Downloads
306
License
MIT License
Categories
Design, Developer Tools, AI, Frontend, Automation, Knowledge Base, Infrastructure, Other

- Provides hover information for symbols in code
- Offers code completion suggestions
- Reports diagnostic information (errors, warnings)
- Integrates with the Model Context Protocol
- Exposes language features as MCP tools
- Debuggable using the MCP Inspector

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Language Server
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 /path/to/language-server-mcp/build/index.js

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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"
    }
  }
}

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.

- 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

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "language server": {
            "cwd": "optional_directory_if_specified",
            "env": {},
            "args": [
                "/path/to/language-server-mcp/build/index.js"
            ],
            "shell": false,
            "command": "node"
        }
    }
}

Linux

{
    "cwd": "optional_directory_if_specified",
    "env": [],
    "args": [
        "/path/to/language-server-mcp/build/index.js"
    ],
    "shell": false,
    "command": "node"
}

Macos

{
    "cwd": "optional_directory_if_specified",
    "env": [],
    "args": [
        "/path/to/language-server-mcp/build/index.js"
    ],
    "shell": false,
    "command": "node"
}

Windows

{
    "cwd": "optional_directory_if_specified",
    "env": [],
    "args": [
        "/path/to/language-server-mcp/build/index.js"
    ],
    "shell": false,
    "command": "node"
}

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

<a href="https://glama.ai/mcp/servers/t4zp3tna7x">language-server-mcp MCP server</a>

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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.