TypeScript代码智能分析工具

一个为AI代理设计的TypeScript代码导航与分析服务器,提供符号导航、影响分析和JSDoc元数据等功能,替代传统grep搜索。

  • by woosgem-dev
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 woosgem-dev/ts-mcp

使用说明

ts mcp

用于AI代理的TypeScript MCP服务器。基于符号的代码导航、影响分析和JSDoc元数据——用IDE级智能取代grep。

先决条件

  • Node.js 22+
  • TypeScript项目 tsconfig.json

设置

npm install -g ts-mcp

增添 ~/.claude/mcp.json:

{
  "mcpServers": {
    "ts-mcp": {
      "command": "npx",
      "args": ["ts-mcp", "--workspace", "/path/to/your/project"]
    }
  }
}

选项

标志 描述
--workspace <path> TypeScript项目根路径(默认: cwd)
--no-cache 绕过符号索引磁盘缓存
--projects <paths> 逗号分隔的列表 tsconfig.json 多项目工作空间的路径
--watch 注意内存缓存中的文件更改和更新
--init 生成 .claude/CLAUDE.md 告诉代理更喜欢ts-mcp工具的代码段

工具

导航

  • goto_definition --按位置跳转到符号的定义
  • goto_type_definition --按位置跳转到符号的类型声明
  • find_references --按位置查找符号的所有用法
  • workspace_symbols --按确切名称在整个项目中查找符号
  • document_symbols --列出文件中定义的所有符号

影响分析

  • call_hierarchy --查找函数的调用者或被调用者
  • type_hierarchy --查找接口或子类的实现
  • impact_analysis --在修改符号之前评估爆炸半径

代码智能

  • get_type_info --获取已解析的类型、文档和JSDoc标签
  • signature_help --获取参数名称、类型和重载
  • rename_symbol --计算重命名符号所需的所有编辑
  • list_members --在某个位置列出某个类型的所有属性和方法

诊断

  • diagnostics --获取TypeScript错误和警告

多项目支持

ts mcp自动发现 tsconfig.json 工作区中的文件(最多3层深)。当找到多个时,每个都会根据文件路径获得自己的语言服务实例——工具路由到正确的项目。

要明确指定项目,请执行以下操作:

{
  "mcpServers": {
    "ts-mcp": {
      "command": "npx",
      "args": [
        "ts-mcp",
        "--workspace", "/path/to/monorepo",
        "--projects", "/path/to/monorepo/packages/app/tsconfig.json,/path/to/monorepo/packages/shared/tsconfig.json"
      ]
    }
  }
}

与一个单一 tsconfig.json (或没有),行为与以前相同。

脚本

  • npm run build --使用tsup构建
  • npm run dev --用tsx跑步
  • npm test --使用Vitest运行测试