TypeScript AST分析服务器

一个基于Model Context Protocol (MCP)的服务器,提供TypeScript抽象语法树(AST)分析功能,包括查找类和方法引用、分析组件树和依赖关系。

  • by jscoobyced
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jscoobyced/jsc-typescript-ast-mcp

使用说明

TypeScript AST MCP服务器

提供TypeScript AST(抽象语法树)分析功能的模型上下文协议(MCP)服务器。此服务器允许您使用ts-morph库查找类和方法的引用、分析组件树以及查找TypeScript代码中的依赖关系。

特性

  • MCP服务器:实现模型上下文协议以与AI助手集成
  • TypeScript分析:使用ts-morph进行强大的TypeScript AST解析和分析
  • 参考文献检索:在代码库中查找对给定类方法的所有引用
  • 依赖性查找:使用 find_dependency 列出导入指定库的所有文件的工具。
  • 组件树分析:使用 component_tree 用于分析代码库中React组件结构的工具。
  • 这些工具是MCP服务器的一部分,可以通过Claude Code或其他MCP客户端调用。

先决条件

  • Node.js(版本与项目兼容)
  • 纱线包装经理

设置

  1. 克隆存储库

  2. 安装依赖项:

    yarn install
    
  3. 复制示例配置文件:

    cp .env.example .env
    
  4. 更新 .env 使用项目的tsconfig路径:

    PROJECT_TSCONFIG_PATH=/path/to/your/project/tsconfig.json
    

如何跑步

构建项目:

yarn build

测试MCP服务器:

yarn test:mcp

这将启动MCP兼容客户端可以连接的MCP服务器。

在Claude代码中安装

要在Claude Code中使用此MCP服务器:

  1. 构建服务器:
    yarn build
    
  2. 配置Claude代码:
  • 复制 .mcp.example.json 到 .mcp.json (或使用MCP配置的内容更新现有配置)
  • 编辑您的 .claude/settings.local.json 并添加MCP部分(如果您已经配置了一些MCP,则添加所需的子集)
  “enableAllProjectMcpServers”: true,
  “enabledMcpjsonServers”: [
    “typescript-ast”
  ]
  • 启动克劳德代码
  • 键入 /mcp 命令并检查MCP是否已连接

发展

更新代码:

  1. 对中的TypeScript源文件进行更改 src/
  2. 构建项目:
    yarn build
    
  3. 测试更改:
    yarn test:mcp
    

环境变量

服务器使用以下环境变量:

  • PROJECT_TSCONFIG_PATH:用于项目分析的tsconfig.json文件的路径(默认为“tsconfig.json”)

配置文件示例

  • .env.example:示例环境变量文件
  • .mcp.example.json:MCP配置文件示例(如适用)

工具说明

服务器提供三个工具:

1. find_reference

在代码库中查找对给定类方法的所有引用。

  • 输入:
    • filePath:文件的路径
    • className:类的名称
    • methodName:方法名称
  • 输出:引用该方法的带行号的文件路径列表

2. find_dependency

列出导入指定库的所有文件。

  • 输入:
    • dependencyName:要搜索的依赖项的名称
  • 输出:导入指定依赖项的文件路径列表

3. component_tree

分析代码库中的React组件结构。

  • 输入:
    • entryFilePath:入口文件的路径
    • maxDepth:组件树的最大深度(默认值:3)
    • data-id (可选):要捕获的属性名称 TreeNode.dataId (例如: data-attribute-id)
  • 输出:组件树结构的JSON表示,包括可选元素元数据,如 props, dataId,以及 onClick

许可证

麻省理工学院