返回 MCP 目录
public公开dns本地运行

language-server-mcp

一个基于TypeScript的MCP语言服务器,提供代码编辑增强功能

article

README

🚀 语言服务器-MCP MCP 服务器

本项目是一个基于 TypeScript 的 MCP 服务器,专为代码编辑提供强大的语言支持。它通过一系列增强代码编辑体验的功能,如悬停信息展示、代码完成建议以及诊断信息报告,生动演示了核心 MCP 概念。同时,还提供了针对代码分析和操作的语言特定工具,并集成了 Model Context Protocol 以实现无缝通信。

✨ 主要特性

语言支持

  • 为代码里的符号提供详细的悬停信息,方便开发者快速了解符号详情。
  • 给出代码完成建议,提升代码编写效率。
  • 及时报告诊断信息,包括错误和警告,帮助开发者快速定位问题。
  • 已在 TypeScript 上完成测试,理论上也支持 Python。欢迎提出添加其他语言服务器的需求,或让其实现更加通用。

MCP 集成

  • 实现 MCP 协议,用于与客户端进行高效通信。
  • 将语言功能以 MCP 工具的形式公开,方便集成和使用。

工具

  • get_hover:用于获取代码中某个位置的悬停信息。
    • 必需参数包括语言 ID、文件路径、内容、行和字符。
  • get_completions:获取代码中某个位置的完成建议。
    • 必需参数包括语言 ID、文件路径、内容、行和字符。
  • get_diagnostics:获取文档的诊断信息。
    • 必需参数包括语言 ID、文件路径和内容。

📦 安装指南

开发环境依赖安装

npm install

服务器构建

npm run build

带自动重建开发

npm run watch

与 Claude Desktop 集成安装

要与 Claude Desktop 一起使用,需添加服务器配置:

  • 在 MacOS 上:配置文件路径为 ~/Library/Application Support/Claude/claude_desktop_config.json
  • 在 Windows 上:配置文件路径为 %APPDATA%/Claude/claude_desktop_config.json

配置内容如下:

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

调试说明

由于 MCP 服务器通过标准输入输出进行通信,调试可能存在一定挑战。我们推荐使用 MCP Inspector,它作为包脚本可用:

npm run inspector

Inspector 会提供一个可在浏览器中访问调试工具的 URL。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端