返回市场
语言服务器MCP

语言服务器MCP

作者:alexwohletz25 星标更新:2024-12-19

项目介绍

language-server-mcp MCP服务器

这是一个基于模型上下文协议(MCP)的语言服务器,旨在提供代码编辑支持。

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

  • 针对特定语言的代码分析和操作工具
  • 与模型上下文协议集成以实现无缝通信

功能

语言支持

  • 为代码中的符号提供悬停信息
  • 提供代码补全建议
  • 报告诊断信息(错误、警告)
  • 目前仅在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服务器通过标准I/O进行通信,调试可能会比较困难。我们推荐使用MCP Inspector,该工具作为一个包脚本提供:

npm run inspector

Inspector会提供一个URL,您可以通过浏览器访问调试工具。