Inspiration
Contract review is where AI chat fails hardest: the model pastes a wall of suggested language into the sidebar while you’re staring at a different paragraph. The risk isn’t “bad writing” — it’s silent apply.
WebMCP lets the page expose review actions on the live document. Redline was built so ChatGPT can propose edits and flag risks as hunks you can see, while accept/reject stays a human gate. Propose ≠ commit.
What it does
Redline is agent-native contract review:
- Open a seeded SaaS MSA with numbered clauses
- Find clauses, propose replace/insert/delete hunks with rationale
- Flag risks and leave comments on the same doc
- Accept or reject hunks in the UI (applies to visible text)
- Summarize risks and export a redline summary
- Full human review UI without WebMCP; 17 site tools when ChatGPT is present
?demo=1happy path for judges and screencasts
How we built it
- Vite + React + TypeScript (
base: '/redline-webmcp/') - Zustand store shared by the document UI and every WebMCP
execute - Feature-detect
document.modelContext→navigator.modelContext(top-level) - readOnly tools for inspection;
accept_hunk/reject_hunk/clear_proposals/export_redlineas side effects - MIT, GitHub Pages — Built with Codex
Challenges we ran into
Modeling pending hunks vs applied text without corrupting clause anchors; making the safety story obvious in under three minutes; keeping the UI “legal product” rather than another kanban.
Accomplishments that we're proud of
A fourth WebMCP submission that makes the browser’s confirmation model the product: agent proposes on-canvas, human commits. Orthogonal to Nest, Frame, and Brief.
What we learned
The best WebMCP demos aren’t “agent can click.” They’re workflows where shared visual state + gated writes are the point. Redline is that pattern for documents.
What's next for Redline — Review with your agent
Real PDF/DOCX import, multi-party review, clause libraries, and deeper ChatGPT desktop testing with confirmation UX.
Built With
- codex
Log in or sign up for Devpost to join the conversation.