遗留代码分析工具

该项目提供了一套服务器和工具,用于对遗留代码库(尤其是COBOL、CLIST等主机技术)进行静态分析,利用LLM提取程序流程、数据结构并进行文件分类,便于理解和现代化遗留系统。

  • by zthanos
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 zthanos/mcp_legacy_analysis

使用说明

MCP遗留分析

该项目提供了一个服务器和工具,用于对遗留代码库进行静态分析,特别是COBOL、CLIST和Python等大型机技术。它利用LLM来提取程序流、数据结构并执行文件分类,从而更容易理解和现代化遗留系统。

特性

  • 存储库获取: 克隆并注册COBOL/大型机存储库以进行分析。
  • 文件分类: 使用LLM自动检测编程语言或文件类型。
  • 数据结构提取: 提取COBOL数据结构并将其转换为人类可读的伪代码。
  • 程序流分析: 为COBOL、CLIST和Python代码生成基于JSON的控制流图。
  • 资源管理: 将分析结果注册并管理为资源,以供进一步处理。
  • C4模型生成: 根据分析的系统组件生成C4架构图。
  • FastMCP集成: 建立在 FastMCP 用于可扩展的模块化工具编排。

需求

  • Python 3.12+
  • 紫外线 (Python包管理器)
  • Node.js(用于MCP检查器,可选)
  • Git(用于存储库克隆)

安装

1.安装 uv 程序包管理器

uv 是一个快速的Python包管理器和虚拟环境工具。

# On Windows (PowerShell)
iwr https://astral.sh/uv/install.ps1 -useb | iex

# On macOS/Linux
curl -Ls https://astral.sh/uv/install.sh | sh

看 紫外线安装文档 更多选择。

2.设置项目

# Sync dependencies and create virtual environment
uv sync

# Run the main server
uv run main.py

用法

运行MCP服务器检查器

npx @modelcontextprotocol/inspector uv run python main.py

VS代码中的MCP服务器配置

将以下内容添加到MCP集成的VS代码设置中:

"servers": {
    "legacy-code-analyzer-server-v1-01": {
        "command": "uv",
        "args": [
            "run",
            "--with",
            "fastmcp>=2.8.0",
            "--with",
            "gitpython>=3.1.44",
            "--with",
            "mcp-llm>=0.1.0",
            "--with",
            "uvicorn>=0.34.3",
            "python",
            "G:\\source\\python\\mcp_legacy_analysis\\main.py"
        ]
    }
},
"chat.mcp.serverSampling": {
    "Global in Code: legacy-code-analyzer-server-v1-01": {
        "allowedDuringChat": true
    }
}

项目结构

  • main.py --FastMCP服务器的入口点。
  • legacy_analysis_server.py --注册用于分析的工具和资源。
  • analysis.py --文件内容检索和分类逻辑。
  • data_structure.py --COBOL数据结构提取和伪代码转换。
  • flow_analysis.py --COBOL、CLIST和Python的程序流提取。
  • sampling.py --LLM采样助手。
  • templates/ --各种分析任务的提示模板。
  • workspace/ --克隆的存储库和分析工件。

许可证

MIT许可证。看 许可证 了解详情。