language-server-mcp MCP Server

language-server-mcp MCP Server

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

Overview

基本能力

产品定位

language-server-mcp 是一个专为代码编辑提供语言支持的 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 进行调试。

使用教程

使用依赖

安装项目依赖:

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 了解完整条款。