Token导航 LogoToken导航TokenDH.com
MCP Python Auditor logo
运维云端stdio官方级别未说明来源级核验

MCP Python Auditor

MCP Server

一个高性能的Python代码库审计和重构工具,集成了多种静态分析工具,提供统一的CLI、并行执行、智能缓存和AI驱动的分析功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python静态分析AI分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Amitro123

提供方

Amitro123

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

MCP Python审计员

为Python项目设计的高性能代码库审计和重构工具。它将多个静态分析工具(Ruff、Bandit、Vulture、Radon)集成到一个具有缓存、并行执行和AI驱动见解的统一管道中。

主要特点

  • 统一CLI:使用单个命令运行10多个工具(python audit.py .).
  • 并行执行:用途 AuditOrchestrator 以最大速度同时运行工具。
  • 智能缓存:缓存结果,以避免在未更改的代码上重新运行缓慢的工具。
  • 交互模式:具有表情符号支持、分数分解和人工智能分析集成的CLI。
  • 自动修复:可以自动修复常见的linting问题并升级易受攻击的软件包。
  • MCP集成:将审计功能作为模型上下文协议(MCP)工具公开。

技术栈

  • 语言:Python 3.11+
  • 核心:FastAPI,Pydantic
  • 静态分析:

- 拉夫:快速梳理和格式化 - 匪徒:安全扫描 - 秃鹫:死码检测 - :复杂性分析 - 检测秘密:秘密扫描 - pip审计:依赖性漏洞检查

  • 测试:Pytest,封面.py
  • 协议:模型上下文协议(fastmcp)

先决条件

  • python:3.11或更高
  • Git:用于文件更改检测

入门指南

1.克隆存储库

git clone https://github.com/Amitro123/mcp-python-auditor.git
cd mcp-python-auditor

2.创建虚拟环境

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3.安装依赖项

pip install -r requirements.txt

4.执行审计

最简单的开始方法是使用交互式CLI:

python audit.py

或者直接运行快速审计(跳过secrets/coverage等慢速工具):

python audit.py . --fast

使用指南

CLI选项

命令描述
python audit.py交互模式(默认)
python audit.py .对当前目录进行全面审核
`python audit.py
`审计特定目录
python audit.py . --fast快速审计(跳过覆盖率、机密、pip审计)
python audit.py . --pr仅审核更改的文件(PR模式)
python audit.py . --json-out以JSON格式输出结果
python audit.py . --skip-slow仅跳过非常慢的工具(秘密、覆盖范围)

交互式功能

在交互模式下运行时,您可以:

  1. 选择审核深度(完整与快速)
  2. 查看缓存状态的详细进度
  3. 获得分数(0-100)和等级(a-F)
  4. 请求 AI分析 (通过Groq或Ollama)解释问题
  5. 自动应用修复程序 常见问题(Ruff linting、升级、缓存清理)

建筑

该项目遵循为可扩展性和性能而设计的模块化架构。

目录结构

├── app/
│   ├── core/
│   │   ├── audit_orchestrator.py  # Main engine: manages tool execution & caching
│   │   ├── cli_adapter.py         # Adapts legacy CLI to orchestrator
│   │   ├── cache_manager.py       # Caching logic
│   │   └── report_generator.py    # Report generation logic
│   ├── tools/                     # Individual tool implementations
│   │   ├── bandit_tool.py
│   │   ├── fast_audit_tool.py     # Wraps Ruff (linting + complexity)
│   │   ├── deadcode_tool.py       # Wraps Vulture
│   │   └── ...
│   └── main.py                    # FastAPI entry point for MCP
├── audit.py                       # CLI entry point
├── pyproject.toml                 # Tool configuration (Ruff, Pytest, Bandit)
└── requirements.txt               # Project dependencies

核心组件

1.审计协调人(app/core/audit_orchestrator.py) 系统的大脑。它处理:

  • 并行化:使用以下命令同时运行独立工具 asyncio.
  • 缓存:检查文件哈希值以跳过冗余工作。
  • 文件发现:使用Git/文件系统高效地列出项目文件。

2.CLI适配器(app/core/cli_adapter.py) 连接面向用户的桥梁 audit.py 使用编排器编写脚本。它通过将旧工具名称映射到新架构并格式化结果来确保向后兼容性。

3.工具(app/tools/) 每个静态分析工具都封装在一个专用类中,该类继承自 BaseTool这使得在不接触核心引擎的情况下添加新工具变得容易。

评分系统

审核分数(0-100)的计算基于:

  • 安全性(-40分):Bandit、Secrets或Pip Audit发现的漏洞。
  • 质量(-35分):敲击错误(Ruff)、死代码、重复。
  • 分析(-25分):测试覆盖率低、复杂性高、打字问题。

测试

运行测试套件以确保审核员本身正常工作:

# Run all tests
pytest

# Run with coverage
pytest --cov=app

# Run specific test file
pytest tests/test_audit.py

故障排除

“秃鹫超时”

如果 deadcode 检查时间太长(>120秒),这通常意味着它递归扫描了太多文件。 修复:确保 file_discovery.py 正确识别项目文件并将其传递给工具(在v2.0+中修复)。

“找不到命令”

确保所有依赖项都已安装,并且您处于虚拟环境中。 修复: pip install -r requirements.txt

“WinError 206:文件名和扩展名太长”

这是由于在Windows上的单个命令行中传递了太多文件造成的。 修复:The BaseTool 自动处理分块,将大文件列表拆分为更小的批。

许可证

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

目录标签

目录标签

Python静态分析AI分析代码审计本地部署Python工具代码重构

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP