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(版本与项目兼容)
- 纱线包装经理
设置
- 克隆存储库
- 安装依赖项:
yarn install- 复制示例配置文件:
cp .env.example .env- 更新
.env使用项目的tsconfig路径:
PROJECT_TSCONFIG_PATH=/path/to/your/project/tsconfig.json如何跑步
构建项目:
yarn build测试MCP服务器:
yarn test:mcp这将启动MCP兼容客户端可以连接的MCP服务器。
在Claude代码中安装
要在Claude Code中使用此MCP服务器:
- 构建服务器:
yarn build- 配置Claude代码:
- 复制
.mcp.example.json到.mcp.json(或使用MCP配置的内容更新现有配置) - 编辑您的
.claude/settings.local.json并添加MCP部分(如果您已经配置了一些MCP,则添加所需的子集)
“enableAllProjectMcpServers”: true,
“enabledMcpjsonServers”: [
“typescript-ast”
]- 启动克劳德代码
- 键入
/mcp命令并检查MCP是否已连接
发展
更新代码:
- 对中的TypeScript源文件进行更改
src/ - 构建项目:
yarn build- 测试更改:
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
许可证
麻省理工学院
