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.pyVS代码中的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许可证。看 许可证 了解详情。
