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)在没有磁盘访问的情况下单独分析一个文件。
