使用说明
项目简介
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 进行代码分析和总结。
安装步骤
- 下载代码: 使用 Git 克隆 SCAST 仓库到本地:
git clone https://github.com/davidkingzyb/SCAST.git - 安装依赖: 进入 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 服务器访问的目录,目录之间用逗号分隔。这增加了服务器访问文件系统的安全性。
基本使用方法
-
启动 MCP 服务器: MCP 客户端根据上述配置启动 SCAST 服务器。服务器将在后台运行,并通过标准输入输出 (stdio) 与客户端通信。
-
客户端调用工具: 在 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" } -
查看分析结果: SCAST 服务器将返回一个包含预览链接的响应。复制链接到浏览器中打开,即可查看代码分析和可视化结果。您可以在可视化界面中进行交互,并使用 Ollama AI 进行进一步的代码分析。
注意: 请确保配置中 'args' 数组中的目录路径是您允许 LLM 客户端访问的目录。SCAST 服务器会进行路径安全验证,防止客户端访问未授权的目录。
信息
分类
开发者工具