Skip to main content

Status: live. Delhi --:-- IST · agents running · now buildingLumora

← Back to Work

CivicFlow: open-source WebMCP public-benefits portal where humans always submit

Open source
Role
Solo creator & architect
Timeline
Oct 2026 (OpenAI WebMCP Hackathon)
Status
Open source (MIT)
Stack
TypeScript · WebMCP · Schema-Validated Typed Tools · MIT License
Links
GitHub (opens in a new tab)Devpost (opens in a new tab)

Problem

Public health and benefits portals are hard to fill out during emergencies. Existing browser agents rely on brittle screenshot-and-click loops that break when UI layouts shift—or worse, risk submitting unverified government forms without the applicant checking them.

Get in touch

What I built

An open-source WebMCP public-benefits portal and evaluation suite where the website itself acts as the MCP server. A person and a browser agent share visible form state through 10 typed, schema-validated tools inside the signed-in browser tab—and only the human can press final submit.

Get in touch

Architecture diagram

Inside the signed-in browser tab, which itself acts as the WebMCP server, the browser AI agent reads and drafts fields through ten typed, schema-validated WebMCP read/write tools instead of DOM screen-scraping. Every tool call mutates the shared visible UI state so the applicant sees each change live on screen. Below the shared state sits the human submit gate: the agent is blocked from final form submission, which only the human can perform.

The signed-in browser tab is the WebMCP server: the agent drafts fields through 10 typed, schema-validated tools into shared visible UI state, while final submission stays behind a human-only gate.
Get in touch

Key decisions

  1. 01

    The website is the MCP server (10 typed tools vs. screenshot-and-click)

    Why: Exposed 10 explicit, schema-validated tools directly in the client tab instead of letting an agent guess coordinates from screenshots.

    Trade-off: Requires portal authors to define a tool contract upfront, but turns fragile UI automation into a deterministic API inside the user's active session.

  2. 02

    Shared visible state between human and agent

    Why: Every tool call immediately mutates the visible form state on screen so the user can watch and override any field in real time.

    Trade-off: Tighter coupling between tool handlers and React/UI state, but complete transparency for the applicant.

  3. 03

    Hard human-only submit boundary

    Why: Omitted a submit_application tool from the agent's write permissions; the agent can validate and pre-fill, but humans always submit.

    Trade-off: Cannot run 100% unattended background submissions, which is deliberate—legal and benefits forms should never be one bad tool call away from submission.

Get in touch

Result

Get in touch

Demo

Get in touch

Want to make your SaaS product agent-ready with WebMCP or typed tool contracts?

Get in touch