项目简介
MCP TypeScript代码分析器是一个功能强大的工具,它通过Model Context Protocol (MCP) 标准,为LLM(大型语言模型)客户端提供深入的TypeScript代码分析能力。利用'ts-morph'库,它能帮助您理解TypeScript代码库的结构、依赖、符号信息和潜在问题。
主要功能点
- 文件分析: 快速提取TypeScript文件的所有符号、导入和导出信息。
- 符号分析: 获取函数、类、接口和类型等特定符号的详细信息,包括参数、返回类型、成员等。
- 引用查找: 在代码库中追踪一个符号的所有使用位置,帮助理解代码的调用模式。
- 编译错误检测: 无需构建项目即可获取TypeScript编译诊断信息和潜在错误。
- 文件树生成: 可视化目录结构,并显示每个文件的导入、导出和关键符号,便于总览项目结构。
安装步骤
- 安装依赖并构建项目:
在您的项目根目录(或您计划运行此服务器的目录)中,打开终端并执行:
npm install # 安装项目依赖 npm run build # 构建TypeScript项目 - 安装到MCP客户端:
您可以选择安装到所有支持的MCP客户端,或指定安装到某个客户端:
- 安装到所有客户端:
npm run install-server - 安装到特定客户端:
# 生产环境客户端 (使用npm包) npm run install-cursor # Cursor IDE (~/.cursor/mcp.json) npm run install-desktop # Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json) npm run install-code # Claude Code CLI (~/.claude/mcp.json) # 开发/测试用途 npm run install-mcp # 本地开发 (.mcp.json, 在项目根目录)
- 安装到所有客户端:
服务器配置
MCP客户端需要配置服务器的启动命令和参数才能连接。以下是此MCP服务器的典型配置信息,您通常无需手动编辑,安装脚本会为您完成。但如果您需要手动配置,请参考以下结构:
{ "mcpServers": { "static-analysis": { "command": "npx", "args": ["-y", "@r-mcp/static-analysis@latest"] // "env": { /* 可选: 如果有.env.local中的环境变量,会在这里列出 */ } } } }
- '"static-analysis"': 这是MCP服务器在客户端中的名称,用于标识该服务。
- '"command"': 启动MCP服务器的命令,这里是 'npx'。
- '"args"': 传递给 'command' 的参数,用于执行 '@r-mcp/static-analysis' 的最新版本。
- '"env"': (可选)如果您的项目根目录有 '.env.local' 文件,其中的环境变量会作为键值对在此处配置,供MCP服务器运行时使用。
基本使用方法
安装并重启您的MCP客户端后(例如Cursor IDE, Claude Desktop),您就可以在客户端中通过调用相应的工具来利用此分析器。例如,在一个支持MCP的LLM对话中,您可以这样请求分析:
- 分析文件:
mcp.analyze_file({ filePath: "./src/index.ts", analysisType: "all" }) - 获取符号详情:
mcp.analyze_symbol({ symbolIdentifier: { filePath: "./src/services/user.ts", symbolName: "UserService", line: 25 } }) - 查找符号引用:
mcp.find_references({ symbolIdentifier: { filePath: "./src/api/users.ts", symbolName: "getUserById", line: 42 } }) - 检查编译错误:
mcp.get_compilation_errors({ path: "./src", verbosity: "normal" })
信息
分类
开发者工具