Token导航 LogoToken导航

MCP Server · 开发工具

AI Code Review Agent

一个多代理AI系统,用于审查GitHub拉取请求,结合了LLM代理和Semgrep静态分析,以检测安全漏洞、性能问题、风格违规和测试缺口。

stdio官方级别未说明来源级核验工具 4
代码审查安全PythonClaude静态分析Claude DesktopCursor

快速开始

作者 / 组织
Siddhart-Yadav
提供方
Siddhart-Yadav
运行时
Python

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

AI Code Review Agent 属于开发工具类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

开发工具

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python backend/cli.py https://github.com/owner/repo/pull/123

客户端配置示例

{
  "mcpServers": {
    "ai-code-review-agent": {
      "command": "python",
      "args": [
        "backend/cli.py",
        "https://github.com/owner/repo/pull/123"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

AI代码审查代理

多代理人工智能系统,使用4个专门的LLM代理+并行运行的Semgrep静态分析来审查GitHub拉取请求,捕捉安全漏洞、性能问题、风格违规和测试差距——按严重程度和确切的行号分类。

为什么这很重要

手动代码审查受到审查员可用性和认知负荷的限制。该代理在30-90秒内审查PR,在安全性、性能、风格和测试方面具有一致的覆盖范围——由于时间压力,人工审查人员经常跳过或匆匆通过这些领域。

建筑

                          ┌─────────────────┐
                          │  Entry Points    │
                          │ Web UI │ CLI │   │
                          │ GitHub Action    │
                          │ MCP Server       │
                          └────────┬────────┘
                                   │
                          ┌────────▼────────┐
                          │    FastAPI       │
                          │  Backend API     │
                          └────────┬────────┘
                                   │
                   ┌───────────────▼───────────────┐
                   │     GitHub Service (PyGithub)  │
                   │     Fetch PR diff + metadata   │
                   └───────────────┬───────────────┘
                                   │
                   ┌───────────────▼───────────────┐
                   │     Diff Parser & Chunker      │
                   │  Smart splitting by function   │
                   │  boundaries + file priority     │
                   └───────────────┬───────────────┘
                                   │
              ┌────────────────────▼────────────────────┐
              │        LangGraph Orchestration           │
              │                                          │
              │  ┌────────────────────────────────────┐  │
              │  │  Semgrep MCP (deterministic SAST)  │  │
              │  │  Security scan → ground truth       │  │
              │  └──────────────┬─────────────────────┘  │
              │                 │                         │
              │  ┌──────────┐ ┌▼─────────┐ ┌──────────┐ │
              │  │ Security │ │  Perf    │ │  Style   │ │
              │  │  Agent   │ │  Agent   │ │  Agent   │ │
              │  │+Semgrep  │ └────┬─────┘ └────┬─────┘ │
              │  └────┬─────┘      │             │       │
              │       │  ┌─────────┴─────────────┘       │
              │       │  │  ┌──────────┐                 │
              │       │  │  │  Tests   │                 │
              │       │  │  │  Agent   │                 │
              │       │  │  └────┬─────┘                 │
              │       │  │       │                       │
              │  ┌────▼──▼───────▼────────────────────┐  │
              │  │           Aggregator                │  │
              │  │    Dedup + rank + cross-validate    │  │
              │  └──────────────┬─────────────────────┘  │
              │                 │                         │
              │       ┌────────▼────────┐                │
              │       │  Meta Reviewer  │                │
              │       │ Score & Verdict │                │
              │       └────────┬────────┘                │
              └────────────────┼─────────────────────────┘
                               │
              ┌────────────────▼────────────────┐
              │  PostgreSQL        Redis         │
              │  (review history)  (diff cache)  │
              └─────────────────────────────────┘

技术栈

层技术为什么
前端Next.js 14,TypeScript,顺风,shadcn/uiSSR,优秀的DX,现代组件库
后端FastAPI,Python 3.12,Pydantic异步原生,自动生成OpenAPI,强类型
代理框架LangGraph真正的并行扇出/扇入、条件路由、状态管理
LLM顶点AI(Gemini 3.1 Pro)直接SDK,保证结构化JSON的response_schema
静态分析Semgrep(通过MCP+CLI)确定性SAST——已知漏洞模式的零假阴性
结构化输出Pydantic模式+Gemini response_schema每次LLM调用都会返回经过验证的JSON;对格式错误的输出自动重试
MCPFastMCP服务器+Semgrep MCP客户端将代理作为工具公开,并通过模型上下文协议使用外部工具
GitPyGithubPR差异提取,评论发布
数据库PostgreSQL 16查看历史记录,通过asyncpg异步
缓存Redis 7跳过重新查看相同的差异(SHA-256哈希)
部署Docker Compose,Vercel全栈本地开发,前端部署

关键设计:混合分析管道

代理人结合 确定性的 和 概率性的 分析:

层工具强度弱点
确定性的Semgrep(3000多条规则)已知模式、精确的CWE/OWASP标签、精确的行无法推理业务逻辑或新的错误
概率性的Gemini LLM(4个代理)发现逻辑错误、设计问题、缺失的测试、上下文问题可能会产生幻觉或错过事情
混合Semgrep→ 安全代理Semgrep的发现作为基础事实注入,LLM验证+扩展两者兼而有之:覆盖范围和推理

结构化输出执行

每次LLM调用都使用三层保证:

  1. 双子座 response_schema --模型被迫输出与Pydantic模式匹配的JSON
  2. Pydantic验证 --使用严格类型解析和验证响应
  3. 自动重试 --验证失败时,错误将附加到提示中并重试(最多2x)

这完全消除了“有时LLM返回垃圾”的问题。

评估套件

8个已知错误的故意错误代码测试用例:

案例预期检测类别
通过f-string进行SQL注入SQL注入+参数化查询修复安全
硬编码API密钥+密码秘密检测安全性
ORM循环中的N+1查询查询优化性能
文件I/O+API上缺少try/except错误处理样式
零测试的支付处理商测试覆盖率差距测试覆盖
阻塞异步函数中的I/O异步+资源泄漏性能
XSS+pickle反序列化+CSRF多漏洞安全
O(n²)重复查找器算法优化性能

运行评估:

docker exec ai-code-review-agent-backend-1 python -m evals.runner
docker exec ai-code-review-agent-backend-1 python -m evals.runner --case sql_injection -v

结果: 100%检测率 在测试用例上(SQL注入、硬编码秘密、缺少测试)。

入口点

方法说明
网页用户界面将PR URL粘贴到 http://localhost:3000,获取视觉审查报告
命令行界面python backend/cli.py https://github.com/owner/repo/pull/123
GitHub行动PR打开/更新时自动触发,发布评论作为PR评论
MCP服务器从Claude Desktop或Cursor使用:“为我查看此PR”

技术决策

决策权衡基本原理
CrewAI上的LangGraph更陡峭的学习曲线通过 Send API,条件路由,一流的状态管理
平行扇出更复杂的图拓扑4个代理同时运行→ ~4x比顺序快
Semgrep+LLM混合动力车额外依赖(Semgrep)确定性SAST捕捉到LLM错过的东西;LLM能够理解规则无法表达的内容
Gemini响应_模式限制输出格式消除JSON解析失败;重试处理边缘情况
直接谷歌GenAI SDK无LangChain抽象更少的依赖关系,完全控制,立即支持最新模型
Redis差异哈希缓存额外的基础设施相同的差异会立即返回;SHA-256确保正确性
条件聚合跳过图中边缘稍多如果没有发现,直接跳到元审阅者以保存LLM调用
正则表达式差异解析器+智能分块不如Tree sitter AST精确处理所有语言,按函数边界拆分,感知令牌预算
MCP双向要维护的两个协议代理既是MCP服务器(可由IDE调用),也是MCP客户端(调用Semgrep)

快速开始

先决条件

设置

git clone 
cd ai-code-review-agent

cp backend/.env.example backend/.env
# Edit backend/.env — set GCP_PROJECT_ID or GEMINI_API_KEY

docker compose up -d

用法

Web用户界面: 打开 http://localhost:3000

CLI:

python backend/cli.py https://github.com/owner/repo/pull/123

评价:

docker exec ai-code-review-agent-backend-1 python -m evals.runner -v

MCP服务器(克劳德桌面):

# See mcp-config.example.json for configuration
python backend/mcp_server.py

API终点

方法端点描述
职位/api/v1/reviews提交PR以供审核
得到/api/v1/reviews列出审核历史记录
得到/api/v1/reviews/{id}获取评论详细信息
职位/api/v1/webhook/githubGitHub webhook接收器
得到/api/v1/health健康检查

MCP工具

工具方向描述
review_pull_request服务器(公开)按URL查看GitHub PR
review_diff服务器(暴露)查看原始git差异
get_supported_languages服务器(公开)列出可分析的语言
security_check客户端(已消耗)调用Semgrep MCP进行SAST扫描

代理

代理人职责关键检查
Semgrep确定性SASTCWE/OWASP基于规则的扫描,3000多种模式
安全漏洞检测(LLM)SQL注入、XSS、硬编码秘密、身份验证缺陷、SSRF+Semgrep上下文
演出效率分析N+1查询、内存泄漏、O(N²)算法、阻塞I/O
风格代码质量命名、DRY、SOLID、错误处理、可读性、类型注释
测试覆盖率测试差距缺失测试、边缘情况、断言质量
聚合器结果合并重复数据删除、优先级排序、误报删除
元审阅者最终判定总分(0-10)、推荐、风险评估

项目结构

ai-code-review-agent/
├── backend/
│   ├── app/
│   │   ├── agents/
│   │   │   ├── graph.py          # LangGraph pipeline (Semgrep → 4 agents → aggregator)
│   │   │   ├── llm.py            # Google GenAI SDK + structured output + retry
│   │   │   ├── schemas.py        # Pydantic response models for LLM output
│   │   │   └── prompts.py        # Agent system prompts
│   │   ├── api/routes.py         # FastAPI endpoints
│   │   ├── core/
│   │   │   ├── config.py         # Pydantic settings (Vertex AI / API key)
│   │   │   ├── database.py       # PostgreSQL async
│   │   │   └── cache.py          # Redis caching
│   │   ├── models/
│   │   │   ├── review.py         # SQLAlchemy models
│   │   │   └── schemas.py        # API Pydantic schemas
│   │   ├── services/
│   │   │   ├── github_service.py # GitHub API integration
│   │   │   ├── review_service.py # Review orchestration
│   │   │   └── semgrep_service.py# Semgrep MCP client + CLI fallback
│   │   ├── utils/code_parser.py  # Diff parsing & smart chunking
│   │   └── main.py               # FastAPI app
│   ├── evals/
│   │   ├── test_cases.py         # 8 known-bad code samples
│   │   └── runner.py             # Eval CLI with scoring metrics
│   ├── mcp_server.py             # MCP Server entry point
│   ├── cli.py                    # CLI entry point
│   └── Dockerfile
├── frontend/
│   ├── src/
│   │   ├── app/                  # Next.js pages
│   │   ├── components/           # React components + shadcn/ui
│   │   └── lib/api.ts            # API client
│   └── Dockerfile
├── mcp-config.example.json       # MCP client configuration
├── docker-compose.yml
└── README.md

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

代码审查Python本地部署静态分析GitHub集成AI代理安全扫描

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
AI Code Review Agent

MCP World · 本页

4stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

AI Code Review Agent 怎么安装?

公开资料给出的安装命令是 python backend/cli.py https://github.com/owner/repo/pull/123,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

AI Code Review Agent 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

AI Code Review Agent 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

AI Code Review Agent 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

AI Code Review Agent 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP