MCP ExplorerExplorer

Language Server Mcp

@alexwohletzon a year ago
23 MIT
FreeCommunity
AI Systems
language-server-mcp 是一个基于 TypeScript 的模型上下文协议服务器,增强代码编辑功能,提供悬停信息、代码补全和诊断等特性。它支持 TypeScript,并旨在与其他语言兼容,使用 MCP 集成实现无缝通信。

Overview

What is Language Server Mcp

language-server-mcp is a Model Context Protocol (MCP) server that provides language support for code editing, enhancing the coding experience with features like hover information, code completion, and diagnostics.

Use cases

Use cases include enhancing code editing in TypeScript projects, providing real-time feedback and suggestions to developers, and potentially supporting other languages like Python in the future.

How to use

To use language-server-mcp, install the dependencies with ‘npm install’, build the server using ‘npm run build’, and configure it in the Claude Desktop settings. For debugging, utilize the MCP Inspector.

Key features

Key features include hover information for code symbols, code completion suggestions, diagnostic reporting (errors and warnings), and integration with the MCP protocol for seamless communication.

Where to use

undefined

Content

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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers