Back to MCP directory
publicPublicdnsLocal runtime

scast

SCAST是一个将代码转换为UML图和流程图的编程工具,支持多种语言,通过静态分析和可视化帮助理解代码结构。

article

README

🚀 🔱SCAST

🔱SCAST 是一个程序化工具,它能够将代码转换为 UML 图表和流程图,可用于静态代码分析与可视化,极大地方便开发者理解代码结构。

项目信息

  • 实现时间:2024/9/27
  • 实现者:DKZ
  • 项目图片GitHub Logo
  • 语言选择:English/中文

项目链接

✨ 主要特性

  • 多语言支持
    • javascript:使用 acorn 进行解析。
    • typescript:目前使用 typescript,后续将改用 estree
    • csharp:使用自定义解析器,未来不再支持。
    • python:暂未实现,计划中将使用 filbert
    • vue:后续实现。
  • 可视化原理:利用解析器将代码解析为抽象语法树(AST),然后进行静态分析,最后借助 MermaidD3 进行可视化。
  • 使用方式多样:可以在在线尝试,也可以下载此仓库并在浏览器中打开 SCAST.html;对于开发者,还能使用 npm run server 部署到服务器上,或作为 MCP 服务集成到 AI 客户端中。
  • 可视化示例scast_uml

🚀 快速开始

在线体验

您可以直接访问🔱SCAST 在线地址进行体验。

本地部署

MCP 部署步骤

  1. 使用 git clone https://github.com/davidkingzyb/SCAST.git 下载源代码。
  2. 执行 npm install 安装依赖。
  3. 在客户端进行如下配置:
{
  "mcpServers": {
    "scast":{
      "command":"node",
      "args":[
        "/YOUR_INSTALL_DIR/SCAST/mcp/index.js",
        "/YOUR_WORKSPACE/",
        "C:\\Users\\DKZ\\OTHER_ALLOWED_DIR\\",
      ]
    }
  }
}

工具使用说明

scast_analysis

SCAST 可帮助用户通过可视化分析和总结代码。只需提供代码所在的文件夹路径,它就能对代码进行静态分析,生成 AST 树以帮助用户理解代码结构并解释其功能。同时,它还能生成各种图表,如 UML 图、AST 树图表和 Mermaid 流程图。最后返回一个包含所有类和方法名称及其功能说明的关键词列表,并提供链接让用户可以在浏览器中查看图表详细信息。

scast_retriever

SCAST 可帮助用户分析和总结代码并提供可视化。您需要提供源代码文件夹的文件路径,它将对文件夹中的源代码进行静态分析,生成 AST 树以帮助用户理解代码结构并解释其功能。在分析完代码目录后使用 SCAT,您可以使用 AST 树中的关键词进行搜索,更好地利用 RAG 方法回答用户问题。此关键字可以是类名、方法名或字段名,SCAST 将找到其定义位置的源代码。

与 Ollama AI 集成

首先安装 ollama,查看 ai.js 了解更多细节。 ollama

ESTree 支持

符合 ESTree 规范的 AST 解析器。

Force Directed Graph 可视化

FDP

📚 详细文档

更新日志 - MCP

mcp 上述 MCP 部署步骤及相关工具使用说明可作为更新日志的一部分,若有后续更新将持续补充。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client