TypeScript语言服务协议

一个基于TypeScript语言服务的MCP服务器,提供代码补全、定义跳转、类型信息、诊断等功能,适用于AI或IDE客户端。

  • by Chia1104
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Chia1104/tsserver-mcp-server

使用说明

tsserver mcp服务器

⚠️ 早期开发:该项目处于早期阶段,目前支持 只有一个TypeScript项目 一次。

基于TypeScript语言服务构建的MCP(模型上下文协议)服务器。它公开了用于完成、转到定义、类型信息、诊断等的工具,供AI或IDE客户端使用。

安装依赖项

bun install

跑

bun serve

在MCP客户端连接的stdio模式下运行。

工具

工具 说明
get_completions 在光标位置获取完成建议
get_definition 获取符号的定义位置(转到定义)
get_type_definition 获取类型的定义位置
get_quick_info 在光标处获取类型和文档(悬停)
get_signature_help 在函数调用时获取签名帮助(参数提示)
get_references 获取符号的所有参考位置(查找参考)
get_diagnostics 获取文件的语法和语义诊断(错误/警告)

输入参数(大多数工具共享)

  • 文件路径:文件路径(相对于项目根的绝对路径或相对路径)
  • 文件内容:文件内容(Types/JavaScript源代码)
  • 线 / 偏移:光标行和列(从1开始)
  • 项目路径 (可选):项目根目录(包含 node_modules / tsconfig).设置后,服务器从磁盘读取其他项目文件,以便导入(例如。 zod),转到“定义”,找到适用于整个项目的引用。如果省略,则只有内存中的 fileContent 使用。

光标MCP配置示例

添加到光标MCP设置中:

{
  "mcpServers": {
    "tsserver": {
      "command": "bun",
      "args": ["run", "/path/to/tsserver-mcp-server/index.ts"]
    }
  }
}

替换 /path/to/tsserver-mcp-server 与这个项目的实际路径。

技术说明

  • 使用TypeScript的内置 ts.createLanguageService;不依赖于单独的tsserver进程。
  • 项目模式:通行证 projectPath (您的repo根),以便主机从磁盘读取。然后 node_modules,跨文件定义和引用有效。
  • 单文件模式:省略 projectPath (或仅通行证 filePath + fileContent)在没有磁盘访问的情况下单独分析一个文件。