@rsdoctor/mcp-server 是一个 MCP Server,旨在帮助用户更便捷地使用 Rsdoctor 的构建数据。它可以与 Rsdoctor 的本地构建分析数据配合使用,通过问答的形式,帮助你快速获取构建分析结果。
@rsdoctor/mcp-server 提供四大类核心分析能力:
通过提问 "Please help me to optimize the bundle or artifacts",工具会分析构建产物并给出优化建议。
示例视频:
通过提问 "Please investigate the referrer dependency of node_modules/dayjs/index.js",工具会分析指定模块的依赖关系。
示例视频:
通过提问 "Please help me find files or loaders with high compilation time and provide optimization suggestions",工具会分析编译耗时并给出优化建议。
示例视频:
需要使用以下 rsdoctor 插件(版本要求):
注意:请确保使用最新版本以获得最佳体验。
如果还没有添加 Rsdoctor 插件,那么需要在项目中配置,👉🏻 快速开始。
开启 Rsdoctor 的情况下,执行构建。不要使用 MCP Client 启动项目,因为 Rsdoctor 挂载的本地服务会卡住 MCP Client 的对话进程。
disableClientServer: true
,需要修改为 disableClientServer: false
,disableClientServer 默认是 false。.cursor/mcp.json
:在 claude_desktop_config.json
中添加配置:
在配置文件中添加:
参数 | 说明 | 默认值 | 示例 |
---|---|---|---|
compiler | 指定要分析的编译器名称 | 自动检测 | --compiler web |
port | 指定 MCP Server 端口 | 最新启动的端口号(写入到 ~/.cache/rsdoctor/mcp.json 中) | --port 1000 |
在多编译器项目中,每个编译器会有一份 Rsdoctor 构建分析数据。使用 --compiler
参数指定要分析的编译器:
工具 | 说明 | 参数 |
---|---|---|
get_chunks | 获取所有代码块信息 | - |
get_chunk_by_id | 获取特定代码块信息 | chunkId (Number) |
get_large_chunks | 获取体积过大的代码块 | - |
get_media_asset_prompt | 获取媒体资源优化建议 | - |
工具 | 说明 | 参数 |
---|---|---|
get_modules | 获取所有模块信息 | - |
get_module_by_id | 获取模块信息 | moduleId (Number) |
get_module_by_path | 根据路径获取模块 | modulePath (String) |
get_module_issuer_path | 获取模块来源路径 | moduleId (String) |
get_package_info | 获取包信息 | - |
get_package_dependencies | 获取依赖列表 | - |
get_duplicate_packages | 获取重复包列表 | - |
get_similar_packages | 获取相似包列表 | - |
工具 | 说明 | 参数 |
---|---|---|
get_loader_time_all_files | 获取文件 loader 耗时 | - |
get_loader_times | 获取编译目录 loader 耗时 | - |
get_rule_info | 获取构建规则扫描结果 | - |
问题: 无法连接到 Rsdoctor MCP Server 或没有成功返回数据
解决方案:
--port
参数,请确保 Rsdoctor 的启动端口配置正确。