viberevert
Local MCP server for AI agents and vibe coding safety: deterministic risk checks (payments, auth, database, secrets, infrastructure), sessions, checkpoints, policy inspection, and fix prompts. Runs over stdio against a local git repository; no language model judges risk.
README
<p align="center"> <img src="docs/assets/brand/viberevert-mark.png" alt="VibeRevert logo" width="120"> </p>
<h1 align="center">VibeRevert</h1>
<h3 align="center">AI broke your project? Undo the session, not your week.</h3>
<p align="center"><strong>Record · Check · Fix · Restore.</strong></p>
VibeRevert records an AI coding session, flags risky changes with deterministic rules, and can restore your project files to exactly how they were before it started, including work you hadn't committed.
No AI judges the AI: risk findings are reproducible, explainable, and based on rules you can inspect.
Keep using your coding agent. VibeRevert adds the safety layer around the session — with Claude Code, Cursor, and other coding-agent workflows.
<p align="center"> <a href="https://www.npmjs.com/package/viberevert"> <img src="https://img.shields.io/npm/v/viberevert/beta?label=npm%20beta&logo=npm&color=cb3837" alt="npm beta"> </a> <a href="https://github.com/madeinplutofabio/vibe-revert/actions/workflows/ci.yml"> <img src="https://github.com/madeinplutofabio/vibe-revert/actions/workflows/ci.yml/badge.svg" alt="CI"> </a> <img src="https://img.shields.io/badge/node-%E2%89%A522-brightgreen?logo=node.js&logoColor=white" alt="Node 22+"> <a href="LICENSE"> <img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="Apache-2.0"> </a> </p>
See it work
<p align="center"> <img src="docs/assets/how-it-works.png" alt="How VibeRevert protects an AI coding session: capture the project's starting file state, record the AI session, flag risky changes across payments, database, and infrastructure, preview the rollback, and restore the project files to their pre-session state — external effects are out of scope" width="900"> </p>
The actual CLI, condensed from a real beta payment run — check flags it, and rollback previews what it will change before you --apply:
$ viberevert check
risk: CRITICAL · payments
app/api/checkout/route.ts payments (critical)
app/api/webhooks/stripe/route.ts payments (critical)
$ viberevert rollback <session> # preview — nothing changed yet
package.json tracked_restored
app/page.tsx tracked_restored
app/api/checkout/route.ts untracked_deleted
app/api/webhooks/stripe/route.ts untracked_deleted
lib/stripe.ts untracked_deleted
.gitignore README.md (your uncommitted work) skipped_unchanged
Proof, not promises
3 real AI coding sessions. 3 exact project-file restorations. Payments, database migrations, and deployment infrastructure — all with pre-existing uncommitted work preserved. Read the beta report →
Quickstart
Works inside a Git repository and requires Node.js 22+. VibeRevert keeps its records on your machine and requires no VibeRevert account or hosted service.
npm install -g viberevert@beta
viberevert init # one-time setup in your project
viberevert run <your-agent> # records the session and saves your files' starting state
viberevert check # see what changed and what looks risky
viberevert rollback <session> # preview putting your files back; add --apply to restore
What it protects you from
You let an AI agent work across your project, and it touched more than you expected — maybe payment code, a database migration, a deploy file — while your own half-finished work was sitting right there uncommitted. VibeRevert captures your project's starting file state first, so a session you don't like doesn't cost you your afternoon.
What VibeRevert does
Around each AI coding session, VibeRevert:
- Checkpoints your project first — working tree, staged changes, and untracked files, including work you haven't committed.
- Records the session and the project files that changed while it ran.
- Flags risky edits — changes touching auth, payments, databases, secrets, dependencies, or infrastructure (risk taxonomy).
- Writes an agent-ready fix prompt from those findings, to paste into your next iteration.
- Restores your files to the checkpoint when you need it.
It warns you; it does not silently block your work. An optional pre-commit hook can reject a commit above your configured risk threshold — opt-in, tunable, and bypassable like any local Git hook.
Rules decide. Agents fix.
VibeRevert does not ask another language model whether your agent's changes look risky. Its checks are deterministic: the same inputs and configuration produce the same findings, with an inspectable reason for every flag.
When something needs attention, VibeRevert can turn those findings into an agent-ready fix prompt. The rules decide what to flag; you decide what happens next.
What rollback restores — and what it doesn't
viberevert rollback restores your local project files — tracked, staged, and untracked, including uncommitted work — to how they were when the session started. It previews by default; --apply writes the change, and every apply first saves an emergency checkpoint.
It does not reverse effects outside your project files. Deployments, database writes, third-party API calls, payments, and sent emails need their own recovery. Rollback is state-based rather than atomic, and it's a safety net around AI sessions, not a replacement for tests or review. Read what rollback can and can't restore before you rely on it.
One recovery layer across your coding agents
Keep using the coding tools you prefer. VibeRevert can wrap command-line agent sessions (viberevert run <your-agent>) and integrates with tools such as Claude Code and Cursor through its installers.
Built-in checkpoints live inside the agent's workflow. VibeRevert stays with the project.
It captures your project's starting state — including uncommitted work — then records the session, flags risky changes, previews the rollback, and keeps that recovery path outside the agent itself.
Use Claude Code today, Cursor tomorrow, or wrap another terminal agent: the safety layer stays with your project.
Wire it into your tools
VibeRevert installs non-destructively and can be removed cleanly. It integrates with Claude Code and Cursor (MCP server and hooks); every install previews its changes and keeps a recovery journal. See getting started.
An experimental terminal bridge (--pty) can intercept commands inside an interactive agent shell; it's best-effort and documented as such in the PTY contract.
Platforms
Linux, macOS, and Windows, on Node.js 22+. CI runs the suite across all three on Node 22 and 24; see compatibility for exactly what each platform is tested to do.
Learn more
- Getting started · Commands · Configuration
- What rollback can and can't restore · Risk taxonomy
- Security policy · Threat model · Contributing
Support VibeRevert
VibeRevert is Apache-2.0 open source. Sponsoring funds continued cross-platform testing, security work, rollback and recovery testing, and helping pay for independent review. Sponsorship does not influence risk findings or release decisions. → Sponsor VibeRevert · what your support funds
License
Apache-2.0. See NOTICE and the license audit.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。