VibeLint MCP 服务端
使用说明(Markdown格式)
-
项目简介
- VibeLint 是一个面向 AI 代码生成的安全网关,采用 MCP 协议实现服务器端功能,能够接收客户端发来的代码块,执行安全检测,并在需要时提供自动修复建议和修复后的代码。
-
主要功能点
- 提供一个 MCP 服务器入口,处理客户端对工具的调用与请求响应。
- 注册一个必选的安全检查工具(security_check),对待写入磁盘的代码块进行安全评估,返回是否通过、违规详情、以及可选的修复后的代码。
- 通过 core/scanner 将多种检测器联合执行,包括 secrets、auth、injection、missing_auth、cors、semgrep、prompt_injection 等,提供详细的违规信息与分数统计。
- 支持自动修复:对某些可自动修正的违规(如硬编码密钥)进行环境变量替换,并在复杂风险处添加警告注释。
- 具备本地日志审计(SQLite)与简单遥测上报(可选)。
- 通过 stdio 传输实现与客户端的通信,便于在 IDE/工具中嵌入使用。
-
安装步骤
- 克隆仓库并安装依赖(Python 3.8+):
- 安装依赖:pip install -r requirements.txt
- 启动 MCP 服务器:
- 运行命令:python server.py
- 启动后你应看到服务器信息输出,表示已就绪接收 MCP 客户端请求。
- 将服务器接入客户端:
- MCP 客户端需要在配置中指向该服务器,具体格式请参考下面的配置示例。
- 克隆仓库并安装依赖(Python 3.8+):
-
服务器配置(MCP 客户端用于连接该服务器的配置信息,格式为 JSON,说明字段含义)
- name: 配置的服务器名称
- command: 启动服务器的命令(通常是 Python 解释器)
- args: 启动服务器所需的参数(通常包含脚本路径,如 server.py)
- cwd: 服务器工作目录,MCP 客户端需要用来定位服务器文件与工作环境
- 示例字段说明(非代码展示,用文字描述字段含义):{ "name": "vibelint", "command": "python", "args": ["server.py"], "cwd": "/absolute/path/to/vibelint" }
- 说明:以上配置信息用于 MCP 客户端在其本地环境中找到并启动服务器。请将 cwd 替换为服务器实际部署路径。该配置不需要客户端直接暴露实现细节,只用于建立连接。
-
基本使用方法
- 客户端通过 MCP 调用 tool 名为 security_check,传入完整的待写代码、目标文件名和语言信息(code、filename、language)。
- 服务器返回一个结构化的结果,包含:
- approved:是否通过检测(无违规即通过)
- filename、language、violations、remediated_code、summary、stats 等字段
- 如存在可自动修复的违规,remediated_code 会给出修复后的代码版本,供开发者审阅后应用。
- 开发者可以据此决定是否将 remediated_code 写回磁盘,或在需要时采用警告注释形式提示需要人工干预。
-
备注
- 该实现通过多种检测器组合实现较全面的安全检查,并提供简单的自动修复能力与可追踪的日志。
- 如需更换传输方式(如 SSE/WebSocket),当前实现提供了可扩展的接入点,满足 MCP 服务器的基本需求。