ApprovalLens
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ApprovalLensReview this proposed file deletion against our policy and recommend approve or deny"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ApprovalLens — proof before permission
An independent review layer for agent tool requests. ApprovalLens compares the actual proposed action with developer-owned policy and available evidence before a human approves it.
Release preview · MIT · Node 24 · MCP + Cursor
Try it
Live product page · Judge guide · Download extension
MCP endpoint: https://approvallens-release.vercel.app/api/mcp
The hosted application provides a product page, judge guide and Streamable HTTP MCP endpoint at /api/mcp. It deliberately has no web execution dashboard. See deployment instructions and the judge walkthrough.
The public MCP uses an immutable synthetic fixture. It does not read your repository. Public requests run deterministic checks in RULES_ONLY mode. Configured judge credentials enable bounded Nebius review; missing configuration or exhausted budget fails closed.
For real native Cursor interception, install the local guard and extension together:
npm ci
npm run demo:ready -- /tmp/al-settings-demoThis creates a new disposable sample, installs the extension, starts the local checker and opens Cursor. It never approves an action. macOS/Linux and Node 24 are required; the destination must not exist. See native setup and removal.
Related MCP server: @palveron/mcp-server
What happens to a request
A transport receives the proposed tool call and explanation.
The shared engine checks operation/path grants, evidence coverage and protected JSON fields.
Hard denials and incomplete evidence skip model inference. Eligible configured LIVE requests use NVIDIA Nemotron 3 Super through Nebius Token Factory, with structured output validated locally.
MCP returns an advisory result. In native mode, eligible mutations wait for an explicit, one-time human decision; the guard rechecks file state before allowing the original call.
A plausible explanation cannot override policy. A model failure is not permission. An MCP recommendation is never execution authorization.
Repository map
Location | Responsibility |
| Tool contracts, effect analysis, evidence, deterministic decisions, model prompt and Nebius adapter |
| Transport-independent review service, policy and identity, local MCP transport |
| Cursor hooks service, local history, durable local budget, waiting approvals and diagnostics |
| Cursor sidebar, chat grouping, review dialogs and status presentation |
| Landing page, judge/privacy guides and hosted MCP route |
| Deliberate project setup and sample launchers |
| Core, guard, MCP, transport and spending-boundary regression tests |
| Synthetic development cases; not a held-out benchmark |
| Architecture, deployment, security boundaries and release plan |
No policy logic belongs in the extension or landing page. Changes to the shared engine reach both transports through imports, with contract tests protecting the boundary.
Development
npm ci
npm run typecheck
npm test
npm run build
npm run extension:package
npm run devOpen the local URL printed by Next.js. Do not put keys in the browser, extension settings, source control, or client MCP configuration. Optional server variables are documented in .env.example.
Limits, stated plainly
Hosted MCP is advisory and uses server-owned sample evidence. It cannot pause native Cursor tools.
Native protection covers supported hook-delivered operations only. Search, partial edits, manual edits, Tab, and parallel activity are not comprehensively covered. Unsupported delivered operations are logged and denied.
The local checker is not an operating-system sandbox. Same-user processes and writable project hooks remain in the trust boundary.
Rules-only output means semantic review was not measured. We make no new benchmark accuracy claim in this release.
The local stdio launcher is rules-only. LIVE is available through the configured native companion or hosted judge service.
Documentation
Architecture · Judge guide · Native setup · Deployment and publishing · Release plan · Contributing · Security · Provenance
The original development history and benchmark work remain in their existing repositories. This is a focused release extraction, not a claim that all the work was newly implemented here.
This server cannot be deployed
Maintenance
Related MCP Connectors
Human-in-the-loop review and approval for AI agents. Audit trail, approval policies, native MCP.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Human-in-the-loop for AI agents over MCP: durable approvals with a hosted review page & audit trail
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceWraps your existing MCP servers and checks each tool call against policy and live state before it runs. Allow, block, or require a refresh, with a reason the agent can act on.5-
- AlicenseAqualityBmaintenanceProvides advisory AI-governance checks for MCP hosts and coding agents, enabling policy verdicts, PII masking, and audit traces before executing tool calls.344 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides a human-in-the-loop approval gateway for AI agents, enforcing policies and audit logging for MCP-compatible tool calls.Apache 2.0

ERDL Guardofficial
AlicenseNot gradedqualityAmaintenanceEnforces deterministic policy decisions on AI agent tool calls, supporting allow, deny, correct, escalate, and human review actions with verifiable audit receipts.11 npmMIT