Token导航 LogoToken导航TokenDH.com
code-review-with MCP logo
开发工具stdio官方级别未说明来源级核验

code-review-with MCP

MCP Server

一个基于FastAPI的安全、合规的代码审查服务器,为托管合规平台(MCP)环境提供自动化代码分析和策略执行。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
代码审查FastAPI开发工具

安装说明

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

作者 / 组织

m-irfan-arshad

提供方

m-irfan-arshad

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

MCP代码审查服务器

一个基于FastAPI构建的安全、以合规为重点的代码审查服务器,为托管合规平台(MCP)环境提供自动化的代码分析和策略执行。

🏗️ 解决方案概述

这个MCP代码审查服务器实现了一个安全、注重合规性的代码审查流程,该流程在严格的安全控制下,连接了GitHub与AI驱动的分析功能。

架构组件

  1. GitHub — PR(拉取请求)和仓库事件的真相来源
  2. MCP 服务器 — 连接GitHub和大型语言模型(LLM)的中间件服务,负责执行安全、数据净化和策略检查
  3. MCP客户端 + 大语言模型(LLM) — 分析代码差异、风格指南并生成审查反馈的“大脑”
  4. AI GitHub 用户 — 发布AI生成的评论的机器人账号

安全优先设计

这种架构确保大型语言模型(LLM)从不直接与GitHub通信,而是通过强制执行安全和合规性的MCP服务器进行交互。MCP服务器作为安全的中间件层,起到以下作用:

  • 验证并清理所有传入的请求
  • 在处理前强制执行策略合规性
  • 在GitHub与AI系统之间提供了一个受控的接口
  • 维护审计追踪和安全控制
GitHub → MCP Server → MCP Client + LLM → AI GitHub User
           ↓
    Security & Compliance
    Policy Enforcement
    Data Sanitization

📊 表格/数据图表 查看详细架构图 - 系统组件和数据流的可视化表示

✨ 特点

  • 自动化代码分析检测常见的代码问题,如打印语句和TODO注释
  • 安全合规内置的消毒和验证功能,防止敏感数据泄露
  • 政策执行可配置规则以阻止不符合规范的代码提交
  • RESTful API(Representational State Transfer(表述性状态转移)应用程序编程接口)基于FastAPI的简洁接口,便于轻松集成
  • Docker 支持采用容器化部署并遵循安全最佳实践
  • 结构化回应带有详细审阅意见的打字回复

🚀 快速入门

先决条件

  • Python 3.11或更高版本
  • Docker(可选)

本地开发

  1. 克隆仓库
   git clone 
   cd code-review-with-mcp-server
  1. 安装依赖项
   pip install -r requirements.txt
  1. 运行服务器
   uvicorn app.server:app --host 0.0.0.0 --port 8000 --reload
  1. 测试健康检查端点
   curl http://localhost:8000/health

Docker 部署

  1. 构建镜像
   docker build -t mcp-code-review-server .
  1. 运行容器
   docker run -p 8000:8000 mcp-code-review-server

📚 API 参考

终点(或:终点指标)

GET /health

健康检查端点。

回应:

{
  "status": "ok"
}

POST /review

提交代码以进行审查和分析。

请求体:

{
  "repo": "org/repository-name",
  "pr_id": 123,
  "author": "developer@example.com",
  "file_path": "src/main.py",
  "code": "print('Hello, World!')",
  "metadata": {}
}

回复:

{
  "repo": "org/repository-name",
  "pr_id": 123,
  "file_path": "src/main.py",
  "comments": [
    {
      "line": 1,
      "comment": "Avoid using 'print' in production code.",
      "severity": "WARNING"
    }
  ],
  "sanitized": false,
  "original_length": 25
}

数据模型

代码审查请求

  • repo (字符串,必填):仓库标识符
  • pr_id (整数,可选):拉取请求ID
  • author (字符串,可选):作者用户名/电子邮件
  • file_path (字符串,必填):正在审查的文件路径
  • code (字符串,必填):文件内容或差异片段
  • metadata (对象,可选):额外的元数据

代码审查回复

  • repo (字符串):仓库标识符
  • pr_id (整数,可选):拉取请求ID
  • file_path (字符串):正在审查的文件路径
  • comments (数组):评论列表
  • sanitized (布尔值):代码是否已清理
  • original_length (整数):原始代码长度

评论/评审意见

  • line (整数):行号
  • comment (字符串):评论文本
  • severity (字符串): 严重程度级别 (INFO, WARNING, ERROR)

🔒 安全功能

代码消毒(或代码净化)

服务器在处理代码之前会自动清除敏感信息:

  • 电子邮件地址(内容)已做模糊处理 [REDACTED_EMAIL]
  • API密钥和令牌已作模糊处理/已删除/已省略 [REDACTED_SECRET]
  • AWS访问密钥已作模糊处理(或:已隐去) [REDACTED_AWS_KEY]
  • 长十六进制令牌(内容)已做遮蔽处理,如 [REDACTED_TOKEN]
  • 包含禁用关键词的行(内容)已作模糊处理 [REDACTED_LINE]

政策验证

请求根据安全策略进行验证:

  • 禁用关键词包含敏感词的代码块
  • 尺寸限制通过设置1MB的有效载荷限制来防止DoS攻击
  • 模式检测识别常见的秘密模式

禁用关键词

以下关键词会触发政策违规:

  • passwordpasswd
  • secretapi_key
  • private_keyconfidential

🛠️ 代码分析工具

内置分析器

  1. 打印语句检测器

- 识别出 print() 生产代码中的陈述(或:生产代码中的语句) - 严重性:警告

  1. TODO/FIXME 扫描器

- 查找未解决的 TODO 和 FIXME 注释 - 严重程度:信息(或“一般”)

扩展分析

MCPTools 该类提供了一个框架,用于添加自定义分析工具:

class MCPTools:
    @staticmethod
    def custom_analyzer(code: str) -> List[ReviewComment]:
        # Your custom analysis logic here
        return comments

📁 项目结构

mcp-server/
├── app/
│   ├── __init__.py          # Package initialization
│   ├── server.py            # FastAPI application and routes
│   ├── handlers.py          # Code analysis orchestration
│   ├── compliance.py        # Security and policy enforcement
│   └── models.py            # Pydantic data models
├── requirements.txt         # Python dependencies
├── Dockerfile              # Container configuration
└── README.md               # This file

🧪 测试

运行测试套件:

pytest

🔧 配置

环境变量

  • LOG_LEVEL设置日志级别(默认:INFO)
  • MAX_PAYLOAD_SIZE最大请求大小(以字节为单位)(默认:1,000,000)

定制化

  • 修改 compliance.py 添加自定义验证规则
  • 扩展 handlers.py 添加新的分析工具
  • 更新 models.py 修改请求/响应模式

🚀 生产环境部署

安全考虑因素

  • Docker 镜像以非 root 用户身份运行mcpuser
  • 多阶段构建最小化攻击面
  • 内置的有效载荷大小限制可防止DoS攻击

扩展/缩放

  • 无状态设计支持水平扩展
  • 如有需要,考虑使用 Redis 进行会话管理
  • 在生产环境中使用反向代理(nginx)进行部署

🤝 贡献

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支
  3. 进行你的更改
  4. 为新功能添加测试
  5. 提交拉取请求

📄 许可证

这个项目遵循MIT许可证授权——详见 许可证 详情请参阅文件。

🆘 支持

对于问题和疑问:

  1. 检查一下 问题 页面
  2. 创建一个包含详细信息的新问题
  3. 包含日志和复现步骤

______________________________________________________________________

这是一个最小可行性产品(MVP)的实现。对于生产环境使用,请考虑添加:

  • 认证和授权
  • 速率限制
  • 更复杂的代码分析
  • 与外部安全扫描器的集成
  • 审计日志记录和监控

目录标签

目录标签

代码审查FastAPI开发工具Python本地部署安全合规自动化分析策略执行

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP