📘 MCP存储库分析器–最终提交(README.md)
一个多语言、ML增强、Git支持的MCP服务器分析工具 作者:Mutaken
🚀 概述
这个项目是我实现的多语言MCP存储库分析器,其构建目的是读取:
GitHub/GitLab网址
ZIP文件
本地文件夹
…并自动检测模型上下文协议(MCP)特性。
分析器扫描不同编程语言的整个存储库,并输出一份完整的MCP JSON报告,其中包含:
传输类型
工具和说明
输入和输出模式
有效载荷形状
代码片段
系统调用
运行模板
置信度得分
该设计最初只支持ZIP文件,但我将其扩展为一个完整的Git存储库分析器,能够自动扫描大型精选集合,如Awesome MCP Servers列表。
🧠 动机
该任务要求构建一个机器学习驱动的系统,该系统:
✔ 读取整个代码库 ✔ 支持多种语言 ✔ 适用于Git存储库 ✔ 生成一个结构化的JSON输出 ✔ 完全提取MCP功能 ✔ 使用ML改进预测 ✔ 以批处理模式处理数百个存储库
我最初的解决方案只适用于ZIP文件,这需要手动下载每个存储库。为了解决这个问题,我将系统升级为:
支持存储库URL
自动克隆Git仓库
批量处理数百个回购
创建独立的输出文件夹
动态检测语言
自动切换提取器
这使得分析仪具有可扩展性、灵活性和完全自动化。
🏗️ 建筑 ┌──────────────────────────────┐ │ 多路分析器.py│ ← 主要统一入口点 └───────────────┬──────────────┘ │ ┌──────────┼─────────────┬───────────────────────────┐ │ │ │ │ ┌────▼─┐ ┌────▼────┐ ┌────▼────┐ ┌─────▼──────┐ │python│ │TS/JS│ │锈│ │Go/Java│ │提取器││提取器│ │提取器│ │提取器│ └────┬────┘└────┬─────┘ └────┬────┘ └─────┬──────┘ │ │ │ │ └──────────┴─────────────┴────────────────────────────┘ │ ▼ 静态分析 (工具、模式、有效载荷、系统调用、运行模板) │ ▼ ML细化层(可选) │ ▼ /输出/\/mcp_analysis_output_final.json
🌐 支持的输入 ✔ GitHub/GitLab URL
例子:
python多语言分析器.py https://github.com/modelcontextprotocol/python-sdk
✔ ZIP文件
例子:
python多语言分析器.py C: \\path\\to\\repo.zip
✔ 本地文件夹
例子:
python多语言分析器.py C: \\项目\\mcp服务器
🧩 多语言支持
分析器使用文件检查动态检测语言。
支持的语言:
语言提取器 Python模式提取器_v3.py Types/JavaScript ts_js_extractor.py Rust Rust_extractor.py 转到Go_extractor.py Java Java_extractor.py
每个提取器识别:
MCP工具
代码模式
函数签名
输入/输出模式
有效载荷形状
系统调用
运行命令
交通提示
🤖 ML细化(可选)
为了改进预测,我构建了一个轻量级的ML细化层:
优化架构字段
增强描述
推断缺失的细节
提高信心评分
此步骤是可选的,在低RAM系统上会自动跳过。
⚙️ 批处理分析仪:Auto Awesome MCP扫描仪
我构建的一个主要增强功能是Awesome MCP服务器列表的自动扫描程序。
使用:
python auto_awesome_analyzer.py
系统:
下载Awesome MCP降价列表
提取GitHub URL
验证存储库
使用GitHub PAT进行身份验证
克隆有效存储库
分析每个回购
将每个结果保存到自己的文件夹中
生成:
输出/ 报告_1/ 报告2/ 报告3/
这满足了在大型仓库生态系统上测试分析仪的任务要求。
📁 输出格式
每个分析的存储库都会生成一个文件夹:
输出// mcp-analysis_output_final.json mcp_final_report_readable.md syscall_report.json
主JSON文件包含:
交通预测
工具(名称、描述)
架构对象
请求/响应形状
检测到系统调用
运行模板
置信度得分
▶️ 如何使用 1.️⃣ 运行主分析器 python多语言分析器.py
输入可以是ZIP/URL/文件夹。
2.️⃣ 运行自动批处理(Awesome MCP) python auto_awesome_analyzer.py
3.️⃣ 运行ML精炼机(可选) python ml_refiner.py
📦 文件夹结构 代码/ 多路分析器.py auto_awesome_analyzer.py batch_analyzer.py schema_提取器_v3.py ts_js_提取器.py rust_extractor.py go_extractor.py java_extractor.py language_detector.py sync_payload_schemas.py syscall_scanner_v4.py generate_readable_report.py ml_refiner.py
输出/ / mcp-analysis_output_final.json syscall_report.json mcp_final_report_readable.md
报告/ 最终_MCP_分析仪_报告.pdf
🎯 我所做的关键改进
以下是我实现的所有增强功能的摘要:
✔ 最初仅限ZIP→ 现在支持Git URL ✔ 添加了多语言支持 ✔ 添加了完整的仓库自动克隆 ✔ 添加了语言检测 ✔ 新增批量分析仪 ✔ 添加了自动出色分析仪 ✔ 为每个仓库生成单独的文件夹 ✔ 添加了系统调用扫描 ✔ 添加了架构同步 ✔ 添加了ML细化 ✔ 已创建最终PDF报告 ✔ 清理仓库并创建README
这将该项目转变为一个完整的、可投入生产的MCP分析仪。
🛠️ 需求 Python 3.10+ pip安装-r要求.txt
重要提示: 不要将.venv/或outputs/提交到Git。
💡 未来的增强功能
添加更多ML细化模型
添加流分析
为JS/TS添加类型推理引擎
添加用于浏览结果的UI仪表板
