Back to Directory/Developer Tools

io.github.yifancong/rsdoctor

An MCP server that provides build analysis and optimization recommendations for Rspack projects.

Developer ToolsTypeScriptv0.1.0

Rsdoctor

English | 简体中文

Rsdoctor is a build analyzer tailored for the Rspack ecosystem and fully compatible with the webpack ecosystem.

Rsdoctor is committed to being a one-stop, intelligent build analyzer that makes the build process transparent, predictable, and optimizable through visualization and smart analysis, helping development teams precisely identify bottlenecks, optimize performance, and improve engineering quality.

Rsdoctor supports all tools and frameworks based on Rspack or webpack, such as: Docusaurus, Rspeedy (Lynx), Storybook, Next.js, Nuxt, Re.Pack, Modern.js, Rsbuild, Rspress and Rslib.

https://github.com/user-attachments/assets/b8bb4ebf-b823-47bc-91ab-2d74f0057ef7

🔥 Features

  • Compilation Visualization: Rsdoctor visualizes the compilation behavior and time consumption, making it easy to view build issues.

  • Multiple Analysis Capabilities: Rsdoctor supports build artifact, build-time analysis, and anti-degradation capabilities:

    • Build artifact support for resource lists and module dependencies, etc.
    • Build-time analysis supports Loader, Plugin, and Resolver building process analysis
    • Build rules support duplicate package detection and ES Version Check, etc.
  • Support Custom Rules: In addition to built-in build scan rules, Rsdoctor also supports users adding custom component scan rules based on the build data of Rsdoctor.

  • Support MCP Server: Rsdoctor also provides an MCP server for build analysis through a question-based approach.

📚 Getting started

To get started with Rsdoctor, see the Quick Start.

🤝 Contribution

New contributors welcome!

Please read the Contributing Guide.

🧑‍💻 Community

Come and chat with us on Discord! The Rstack team and users are active there, and we're always looking for contributions.

🦀 Rstack

Rstack is a unified JavaScript toolchain centered on Rspack, with high performance and consistent architecture.

NameDescriptionVersion
RspackBundlernpm version
RsbuildBuild toolnpm version
RslibLibrary development toolnpm version
RspressStatic site generatornpm version
RsdoctorBuild analyzernpm version
RstestTesting frameworknpm version
RslintLinternpm version

🙌 Code of conduct

This repo has adopted the ByteDance Open Source Code of Conduct. Please check Code of Conduct for more details.

🙏 Credits

Some of the implementation of Rsdoctor refers to the excellent projects in the community, and we would like to thank them:

  • bundle-stats is an excellent tool for analyzing build artifacts, and Rsdoctor is inspired by it in terms of build analysis.
  • webpack-bundle-analyzer is a classic tool for analyzing Webpack, and Rsdoctor is inspired by it in terms of build artifact analysis. Rsdoctor also uses its classic treemap visualization.
  • Statoscope is an excellent tool for analyzing build artifacts, and Rsdoctor is inspired by it in terms of build analysis.
  • Webpack Team and Community have created an excellent bundling tool and a rich ecosystem.
  • vite-plugin-inspect has inspired Rsdoctor's exploration of build process analysis.

This Rsdoctor website is powered by Netlify.

📖 License

Rsdoctor is licensed under the MIT License.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @rsdoctor/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-yifancong-rsdoctor": {
      "command": "npx",
      "args": [
        "-y",
        "@rsdoctor/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@rsdoctor/mcp-servernpm

Compatible MCP Clients

io.github.yifancong/rsdoctor works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More