Rework
Click on "Install 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., "@ReworkDefine a new project for the PDF converter with strict acceptance criteria"
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.
What it is
When an AI agent works through a task list, "I finished X" is unverifiable by default — the agent could have written a tautological test (assert True), a test that never ran, or a test that passes regardless of whether the actual logic is correct.
Rework closes that gap. It forces every completion claim through automated proof — real FAIL_TO_PASS/PASS_TO_PASS verification plus mandatory mutation-checking — or an explicit, recorded human/AI judgment call when automated proof isn't possible. Different kinds of evidence (an automated proof, a judgment call, a fallback) are never blended into one deceptively simple percentage.
It exposes exactly 3 MCP tools:
Tool | Purpose |
| Turns a goal into interrogated, self-audited, traceable acceptance criteria |
| Runs real verification for one criterion — FAIL_TO_PASS/PASS_TO_PASS + mandatory mutation-checking |
| Read-only progress report, with each kind of evidence counted separately |
Related MCP server: AI Workbench MCP
The core loop
1. project_define(project_id, goal, dod, criteria_inputs)
Turns a vague goal into Given-When-Then acceptance criteria, but only after real interrogation:
Every criterion must trace back to something the user actually said (
groundingfield) — nothing is invented from nothing.Every criterion is self-audited on two axes before submission: how underspecified it is, and how gameable it is. Score too high on either and it's rejected.
If more than half the submitted criteria fail this audit, the whole batch is rejected — that signals the interrogation itself was too shallow, not that individual criteria need patching.
Given-When-Then text is scanned for unquantified adjectives ("secure," "fast," "robust," etc.) — rejected because they're not measurable, whole-word matched so it doesn't false-positive on things like "fastener."
Duplicate criterion IDs and empty submissions are rejected outright; malformed input produces a clean structured error, never a crash.
2. project_check(project_id, criterion_id, ...) — the load-bearing tool
Runs actual verification for one criterion, called once per criterion as real work happens:
FAIL_TO_PASS / PASS_TO_PASS verification (SWE-bench style): a test must be shown to have failed before the fix and pass after, either via a real pre-change command re-run, or an explicit (trusted, not verified) assertion.
Mutation checking is mandatory before a criterion's first real verification. Rework deliberately breaks the target code (flips a comparator, inverts a negation) and confirms the test actually catches the break. A test that can't catch a broken implementation isn't real verification — it might be tautological.
Works across languages: Python (
tokenize-based), JS/TS (hand-tuned tree-sitter, fully proven), and a generic tree-sitter-language-pack dispatcher for Go/Rust/Java/C/C++/C# (Java is fully proven end-to-end; the rest are structurally verified but not proof-of-execution verified — disclosed honestly, not oversold).Non-functional-risk gating: criteria flagged security/crypto/concurrency never pass on a plain green test alone — they require an explicit property test or human review.
Editing the test file itself to make it pass triggers an automatic fail — the classic way agents cheat verification.
When mutation-checking can't cleanly resolve, the tool doesn't guess — it routes to
human_revieworclaude_review.claude_reviewis a real evaluation, not a rubber stamp. It requires an actual verdict (trustworthy/not_trustworthy) plus specific written reasoning — not just a label. Atrustworthyverdict reaches its own status,verified_complete_reviewed, kept deliberately separate from automatedverified_completeso a judgment call is never confused with a proof.
3. project_status(project_id)
Read-only progress reporting. percent_complete is calculated strictly from automated verified_complete criteria — never blending in verified_complete_reviewed (judgment calls) or fallback_complete (env errors, human-approved fallbacks). All buckets are reported separately. Criteria with corrupted/unrecognized status values are surfaced with a warning instead of silently vanishing from the count.
Proven on real work
Tracked its own build, a bug-fix patch set, and a from-scratch PDF-to-Markdown converter built specifically to exercise the full loop end-to-end — including a real case where
claude_reviewcorrectly flagged a test gap asnot_trustworthybefore it was fixed and re-verified honestly.A fresh integration pass plus 10 simulated projects (26 assertions total) covering mixed outcomes, gating, fallback routing, rejection boundaries, and corrupted-data handling — all passed.
Setup
python -m venv venv
venv/Scripts/activate # or source venv/bin/activate on macOS/Linux
pip install -r requirements.txtRegister with Claude Code:
claude mcp add rework -- <path to venv python> <path to server.py>See AGENT.md for the full operating guide — how to interrogate a goal, drive project_check, resolve mutation-check failures, and the known limitations of each language checker.
Project structure
server.py MCP entrypoint (FastMCP), registers the 3 tools
core/ criteria schema/validation, mutation checkers (Python/JS-TS/generic), storage
tools/ project_define / project_check / project_status implementations
tests/ pytest suite
AGENT.md operating manual for an agent driving Rework
REF SHEET- WHEN UNSURE/ original design spec this implementsRunning tests
venv/Scripts/python -m pytest tests/Author
Built and maintained by Santhosh Stalin.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Verifies AI agent work end to end: real artifacts and outcomes checked, not self-reported success.
Watchdog for unattended AI agents: alerts, evidence checks and a verifiable proof per run.
Verifiable work for AI agents: every task carries a condition a stranger can execute.
Verified 2-3 step AI-agent missions with whole-transaction success-only charging.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnforces disciplined programming practices by requiring AI assistants to audit their work and produce verified outputs at each phase of development, following structured workflows for refactoring, feature development, and testing.203512MIT
- AlicenseCqualityCmaintenanceEnables acceptance gates for AI coding-agent runs by recording evidence, running deterministic validation, applying a quality gate, and rendering auditable outcomes.7Apache 2.0
- AlicenseNot gradedqualityBmaintenanceGives AI coding agents a closed-loop verification cycle for visual, audio, and video output, with enforcement hooks that make verification mandatory.Apache 2.0
- AlicenseAqualityCmaintenanceProvides AI agents with a lightweight task-management and self-verification layer to define goals, track checkpoints, detect scope drift, and verify completion against explicit done criteria.12MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Santhosh-Stalin/Rework'
If you have feedback or need assistance with the MCP directory API, please join our Discord server