mcpField
L
language-server-mcp MCP Server

language-server-mcp MCP Server

本地服务
github.com/alexwohletz开发工具2648 周前更新

关于 language-server-mcp MCP Server

language-server-mcp 是一个基于 TypeScript 的 MCP 服务,为代码编辑提供悬停信息、代码补全和诊断等语言功能。README 称目前仅在 TypeScript 上测试过,适合希望为 MCP 客户端补充代码分析能力的开发者。

主要功能

  1. 01提供符号的悬停信息
  2. 02提供代码补全建议
  3. 03报告错误和警告等诊断信息
  4. 04以 MCP 工具形式暴露语言功能

适用场景

  1. 01让 AI 助手在编辑时读取符号的悬停说明
  2. 02为 TypeScript 文件获取补全建议与诊断结果

MCP 相关

该项目是 MCP 服务,通过 get_hover、get_completions、get_diagnostics 等工具向 MCP 客户端暴露语言功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

language-server-mcp MCP 服务

一个为代码编辑提供语言支持的 Model Context Protocol (MCP) 服务。

这是一个基于 TypeScript 的 MCP 服务,旨在通过提供悬停信息、代码补全和诊断等功能来增强代码编辑体验。它通过以下方式展示了 MCP 的核心概念:

  • 用于代码分析和操作的特定语言工具
  • 与 Model Context Protocol 集成以实现无缝通信

language-server-mcp MCP server

功能

语言支持
  • 为代码中的符号提供悬停信息
  • 提供代码补全建议
  • 报告诊断信息(错误、警告)
  • 仅在 typescript 上测试过,理论上应支持 Python。希望能添加更多语言服务器,或尽可能做到更通用。
MCP 集成
  • 实现 MCP 协议以便与客户端通信
  • 将语言功能作为 MCP 工具公开
工具
  • get_hover:获取文档中某个位置的悬停信息
    • 需要 languageId、filePath、content、line 和 character 作为必需参数
  • get_completions:获取文档中某个位置的补全建议
    • 需要 languageId、filePath、content、line 和 character 作为必需参数
  • get_diagnostics:获取文档的诊断信息
    • 需要 languageId、filePath 和 content 作为必需参数

开发

安装依赖:

npm install

构建服务:

npm run build

用于自动重新构建的开发模式:

npm run watch

安装

要与 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 服务通过 stdio 通信,调试可能具有挑战性。我们建议使用 MCP Inspector,它作为包脚本提供:

npm run inspector

Inspector 将提供一个 URL,以便在浏览器中访问调试工具。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。