TypeScript语言服务
基于 TypeScript 的 MCP 服务器,通过提供悬停信息、代码补全和诊断等功能,旨在增强代码编辑体验。
可用工具 (3 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_hover 6 个参数 需填 6 项
Get hover information for a position in a document
必填参数:languageId、filePath、content、line、character、projectRoot
get_completions 6 个参数 需填 6 项
Get completion suggestions for a position in a document
必填参数:languageId、filePath、content、line、character、projectRoot
get_diagnostics 4 个参数 需填 4 项
Get diagnostic information for a document
必填参数:languageId、filePath、content、projectRoot
服务介绍
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 服务器通过标准输入输出进行通信,调试可能会比较困难。我们推荐使用 MCP Inspector,它作为一个包脚本可用:
npm run inspector
Inspector 将提供一个 URL,以便您可以在浏览器中访问调试工具。