Skip to main content
Glama

reviewzy

human-in-the-loop mcp review for user-facing text: agents file, a human approves, later sessions apply

bulk-audit and rewrite user-facing copy across CLIs, TUIs, web UIs, and websites; prose authorship stays human

license mcp


reviewzy is a self-hosted dashboard and mcp server for human-in-the-loop copy review. a coding agent files the exact strings it wants to write or rewrite. a human authors or approves each one on the dashboard. a later agent session fetches the approved words and applies them in place. no i18n keys, no content layer: each entry points at the string where it already lives.

file an entry:

{
  "project": "my-app",
  "entries": [
    {
      "repo": "https://github.com/me/my-app",
      "file": "src/cli/main.ts",
      "anchor_text": "error: something went wrong",
      "agent_draft": "error: could not reach the reviewzy daemon",
      "file_content": "#!/usr/bin/env bun\nconsole.error(\"error: something went wrong\")\n",
      "constraints": { "max_len": 48, "tone": "plain, lowercase" }
    }
  ],
  "filed_by": "help-text-audit"
}

the call answers with the entry as draft and a dashboard link for the batch:

{
  "batch_id": "01M060XY9GNK6ANVENN4Y4MK7N",
  "results": [
    { "id": "01M060XY9GNK6ANVENN4Y4MK7P", "status": "draft", "deduped": false, "updated": false }
  ],
  "dashboard_url": "http://127.0.0.1:3123/?project=my-app"
}

Why

  • file + snippet anchors, no i18n keys: apply-back is a targeted replace in place

  • humans author, agents apply: the status machine is server-enforced; only the dashboard reaches approved or rejected

  • per-project style guide as an mcp resource: merged with the global guide, embedded in fetch_approved

  • append-only revision history: every save is undoable; history survives archiving

  • ntfy and webhook notifications, archive retention: one ping per filing batch; applied entries archive after ARCHIVE_AFTER_DAYS

Related MCP server: approval-gate

How it works

stage

who

what happens

file

agent

file_entries through the stdio shim, which finds or spawns one shared daemon

notify

daemon

pings ntfy and/or the webhook with a dashboard link

author

human

edits, approves, or rejects on the dashboard; saving prose releases it as approved

fetch

agent

fetch_approved (or a blocking await_approved) returns text, anchor, constraints, and the merged style guide

apply

agent

replaces the anchor, reports through mark_applied

archive

daemon

applied entries past ARCHIVE_AFTER_DAYS move to the archive with their revisions

Install

bunx reviewzy@latest

requires bun >= 1.3 (the store is bun:sqlite, bun-only; no npx form). the shim spawns one shared daemon per machine on first use.

from a checkout:

bun install
bun run daemon

as a Claude Code plugin

the repo is a plugin: it registers the MCP server and adds a /reviewzy slash command plus the reviewzy skill.

/plugin marketplace add uwuclxdy/reviewzy
/plugin install reviewzy@reviewzy

same bun requirement as the npm form.

Usage

curl http://127.0.0.1:3123/health
{"name":"reviewzy","version":"0.1.0","pid":4172598,"nonce":"881f0e93-8dde-4c75-b559-d2e3d3b223f0","startedAt":"2026-08-16T19:31:28.640Z"}

open http://127.0.0.1:3123/ for the dashboard.

Configuration

copy .env.example to .env and edit. every key is optional; a bad value refuses startup.

key

default

what it does

REVIEWZY_PORT

3123

dashboard and mcp port; the bind is 127.0.0.1 always

REVIEWZY_DB

~/.local/share/reviewzy/reviewzy.db

sqlite file ($XDG_DATA_HOME respected)

REVIEWZY_BASE_URL

http://127.0.0.1:$REVIEWZY_PORT

dashboard url used in notification links

REVIEWZY_TOKEN

unset

bearer token guarding mcp; set it and it is required

DASHBOARD_PASSWORD

unset

dashboard login; set it and it is required

ARCHIVE_AFTER_DAYS

90

days an applied entry waits before archiving

NTFY_URL + NTFY_TOPIC

unset

ntfy server and topic; ntfy fires only when both are set

NTFY_PRIORITY

3

ntfy priority, 1 to 5

WEBHOOK_URL

unset

generic webhook; posts project, batch id, count, and a dashboard link

a credential left unset keeps that surface loopback-only with a startup warning.

Integrations

point an mcp client at reviewzy to start filing:

{
  "mcpServers": {
    "reviewzy": {
      "command": "bunx",
      "args": ["reviewzy@latest"]
    }
  }
}

the endpoint speaks the stateless 2026-07-28 mcp revision.

Comparison

reviewzy

Contentrain

gotoHuman

Ditto

authorship

human authors, agent files and applies

agent authors, human approves

human edits form fields

team edits a live library

code integration

anchors on live strings, no externalization

restructures the repo into a content layer

generic forms, no write-back

no code patch-back

hosting

self-hosted

self-hosted

saas only

saas only

queue

async queue plus blocking long-poll

queue, git/PR-first review

async queue

none

the blocking human-in-the-loop mcp family pops a dialog per call: no queue, no persistence, no dashboard.

FAQ

How do I approve AI-generated text before it lands in my code? the agent files strings as drafts, you author or approve them on the dashboard, the agent applies.

Can an AI agent rewrite my CLI help text without i18n keys? yes. entries anchor on the exact current strings; apply-back is a targeted replace.

How do I bulk-rewrite all user-facing copy in a codebase? file batches per project, group by project or batch on the dashboard, approve in bulk with a before/after diff, then let a later agent session fetch and apply.

How do I update the style guide my agents read? edit it on the dashboard at /style-guide. a saved edit reaches agents in up to 60 seconds.

Development

bun run check  # tsc --noEmit && bun test

License

AGPL-3.0. self-hosted stays self-hosted; a saas wrapping it publishes its changes.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    MCP server that provides human-in-the-loop approval for risky AI agent actions, with durable state and audit logs.
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server for in-loop design review of web previews. It enables agents to submit a preview URL, receive structured findings with suggested fixes, and recheck after applying changes, while never editing code itself.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that gives coding agents persistent, verified memory of codebase decisions, conventions, and skills, with evidence-based claims that are re-checked via git hooks and human-gated review. Enables memory search, propose/approve, chat harvesting, and critique across MCP-compatible tools.
    19
    42
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/uwuclxdy/reviewzy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server