language-server-mcp MCP Server

language-server-mcp MCP Server

site icon
2024.12.27 0
HTML代码编辑支持语言服务器开发效率
language-server-mcp 是一个基于 TypeScript 的 Model Context Protocol (MCP) 服务器,旨在通过提供悬停信息、代码补全和诊断等功能来增强代码编辑体验。它展示了核心 MCP 概念,提供语言特定的代码分析和操作工具,并与 MCP 协议集成以实现无缝通信。
View on GitHub

Overview

基本能力

产品定位

language-server-mcp 是一个为代码编辑提供语言支持的 MCP 服务器,专注于提升开发者的编码效率和体验。

核心功能

  • 语言支持
  • 提供代码中符号的悬停信息
  • 提供代码补全建议
  • 报告诊断信息(错误、警告)
  • 目前主要测试支持 TypeScript,理论上也支持 Python

  • MCP 集成

  • 实现 MCP 协议与客户端通信
  • 将语言功能作为 MCP 工具暴露

适用场景

  • 代码编辑器的语言支持增强
  • 开发环境中的代码分析和操作
  • 需要与 MCP 协议集成的开发工具

工具列表

  • get_hover: 获取文档中某个位置的悬停信息
  • 需要参数: languageId, filePath, content, line, character
  • get_completions: 获取文档中某个位置的补全建议
  • 需要参数: languageId, filePath, content, line, character
  • get_diagnostics: 获取文档的诊断信息
  • 需要参数: languageId, filePath, content

常见问题解答

  • 调试困难:由于 MCP 服务器通过 stdio 通信,建议使用 MCP Inspector 进行调试
  • 语言支持有限:目前主要支持 TypeScript,未来可能扩展更多语言

使用教程

使用依赖

npm install

安装教程

  1. 构建服务器
npm run build
  1. 为开发环境配置自动重建
npm run watch
  1. 在 Claude Desktop 中添加服务器配置
  2. MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "language-server-mcp": {
      "command": "/path/to/language-server-mcp/build/index.js"
    }
  }
}

调试方式

使用 MCP Inspector 进行调试:

npm run inspector

Inspector 将提供一个 URL 用于在浏览器中访问调试工具。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。