使用说明

项目简介

SCAST (Static Code Analysis and Visualization Tool) 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供强大的代码分析和可视化能力。通过 SCAST,LLM 可以调用工具分析代码仓库,理解代码结构和功能,并生成 UML 图、流程图等多种可视化图表,从而更好地辅助用户进行代码理解、文档生成等任务。

主要功能点

  • 资源 (Resources) 管理与访问: SCAST 服务器允许 LLM 客户端访问指定目录下的代码文件内容,作为上下文信息。
  • 工具 (Tools) 注册与执行: 服务器注册 'scast_analysis' 工具,允许 LLM 客户端通过调用该工具,对指定目录的代码进行静态分析,并返回分析结果的预览链接。
  • 数据可视化: SCAST 能够生成 UML 图、AST 树图、Mermaid 流程图等多种图表,直观展示代码结构和分析结果。
  • Ollama AI 集成: 支持与 Ollama AI 集成,允许用户在可视化界面中进一步利用 Ollama AI 进行代码分析和总结。

安装步骤

  1. 下载代码: 使用 Git 克隆 SCAST 仓库到本地:
    git clone https://github.com/davidkingzyb/SCAST.git
  2. 安装依赖: 进入 SCAST 目录,安装项目依赖:
    cd SCAST
    npm install

服务器配置

MCP 客户端需要配置 SCAST 服务器的启动信息,以便建立连接。以下是一个 JSON 格式的配置示例,请根据您的实际安装路径和工作区目录进行调整:

{
  "mcpServers": {
    "scast":{
      "command":"node",
      "args":[
        "/YOUR_INSTALL_DIR/SCAST/mcp/index.js",  // 修改为 SCAST 安装目录下的 mcp/index.js 路径
        "/YOUR_WORKSPACE/",                      // 修改为您的代码工作区根目录路径
        "/OTHER_ALLOWED_DIR/"                     // (可选)其他允许访问的目录路径
      ]
    }
  }
}

参数说明:

  • 'command': MCP 服务器启动命令,固定为 '"node"'。
  • 'args': 启动参数,为一个字符串数组,包含以下内容:
    • '"/YOUR_INSTALL_DIR/SCAST/mcp/index.js"': 必须修改。替换为 SCAST 仓库在您本地文件系统中的绝对路径。
    • '"/YOUR_WORKSPACE/"': 必须修改。替换为您希望 SCAST 服务器能够访问的代码工作区根目录的绝对路径。LLM 客户端调用 'scast_analysis' 工具时,目录参数必须是该目录或其子目录。
    • '"/OTHER_ALLOWED_DIR/"': 可选。您可以添加其他允许 SCAST 服务器访问的目录,目录之间用逗号分隔。这增加了服务器访问文件系统的安全性。

基本使用方法

  1. 启动 MCP 服务器: MCP 客户端根据上述配置启动 SCAST 服务器。服务器将在后台运行,并通过标准输入输出 (stdio) 与客户端通信。

  2. 客户端调用工具: 在 LLM 客户端中,可以使用 'scast_anaylisis' 工具,并提供代码目录路径作为参数。例如,在 MCP 客户端中,可以使用如下请求调用代码分析工具:

    {
      "jsonrpc": "2.0",
      "method": "MCP.CallTool",
      "params": {
        "serverName": "scast",
        "request": {
          "name": "scast_anaylisis",
          "arguments": {
            "dir": "/YOUR_WORKSPACE/YOUR_CODE_DIR"  // 替换为您的代码目录,必须是配置中允许的目录或子目录
          }
        }
      },
      "id": "123"
    }
  3. 查看分析结果: SCAST 服务器将返回一个包含预览链接的响应。复制链接到浏览器中打开,即可查看代码分析和可视化结果。您可以在可视化界面中进行交互,并使用 Ollama AI 进行进一步的代码分析。

注意: 请确保配置中 'args' 数组中的目录路径是您允许 LLM 客户端访问的目录。SCAST 服务器会进行路径安全验证,防止客户端访问未授权的目录。

信息

分类

开发者工具