Language Server MCP

项目简介

Language Server MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为代码编辑器和语言模型客户端提供代码语言相关的上下文信息和功能。它通过集成语言服务器(Language Server)并将其功能暴露为 MCP 工具,使得 LLM 应用能够利用代码编辑器的语言分析能力。

主要功能点

  • 代码悬停信息 (Hover Information): 提供代码符号的悬停提示信息,例如变量类型、函数签名等。
  • 代码补全 (Code Completion): 根据上下文提供代码补全建议,提高编码效率。
  • 代码诊断 (Code Diagnostics): 检测代码中的错误和警告,帮助开发者及时发现和修复问题。
  • 支持多种语言: 理论上支持多种编程语言,目前已测试 TypeScript,并可能支持 Python。可通过配置扩展支持更多语言。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm (Node Package Manager)。
  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/alexwohletz/language-server-mcp 克隆或下载代码。
  3. 安装依赖: 在仓库根目录下打开终端,运行命令 'npm install' 安装项目依赖。
  4. 构建项目: 运行命令 'npm run build' 构建项目,编译 TypeScript 代码到 'build' 目录。

服务器配置

要将 Language Server MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令。以下是一个配置示例,你需要根据你的实际安装路径进行调整。

{
  "mcpServers": {
    "language-server-mcp": {
      "command": "/path/to/language-server-mcp/build/index.js"
    }
  }
}

配置参数说明:

  • 'server name': 'language-server-mcp' (服务器名称,客户端配置中用于标识该服务器)
  • 'command': '/path/to/language-server-mcp/build/index.js' (服务器启动命令,指向构建后的 'index.js' 文件。请将 '/path/to/language-server-mcp' 替换为你的实际仓库路径)

Claude Desktop 配置路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

基本使用方法

  1. 启动 MCP 服务器: MCP 服务器通常由 MCP 客户端(例如 Claude Desktop)自动启动。在配置完成后,当客户端需要使用语言相关功能时,会自动连接并启动该服务器。
  2. 客户端请求工具: 客户端可以通过 MCP 协议调用服务器提供的工具,例如 'get_hover', 'get_completions', 'get_diagnostics'。
  3. 服务器响应: 服务器接收到客户端请求后,会调用相应的语言服务器功能,并将结果以 MCP 响应格式返回给客户端。

工具列表:

  • 'get_hover': 获取代码悬停信息。
  • 'get_completions': 获取代码补全建议。
  • 'get_diagnostics': 获取代码诊断信息。

注意: 你需要根据你想要支持的编程语言配置相应的语言服务器启动命令和参数。具体配置方法请参考仓库 'README.md' 或相关文档。

信息

分类

开发者工具