The owner is off duty; the agent runs the store, and proves every action in MongoDB. A multi-agent app built with Google ADK and Gemini 3 on Vertex AI over MongoDB Atlas, for the Google Cloud Rapid Agent Hackathon (MongoDB track).
Live demo — Owner Console / · Customer Counter /counter
More screens
Evidence drawer — trace any action back to the real MongoDB documents it touched

Grounding receipt — every answer links to the evidence it used

Review-to-Action — classify a review, match the product via Atlas Vector Search, route an action

MongoDB engine — the live aggregation pipeline and query plan

customer / owner -> supervisor (Gemini 3) -> ordering / inventory / vision / owner agent -> MongoDB Atlas
\-> MongoDB MCP server (live, read-only)
\-> agent_action_logs (evidence trail, by trace_id)
The supervisor delegates by intent, not keywords. Every read, write, and recommendation is auto-logged to agent_action_logs with a trace_id, so the owner can audit the whole chain back to the source documents.
- Streaming agent trace — the owner asks in plain language and watches the live delegation path, then gets a MongoDB grounding receipt linked to the exact evidence.
- Review-to-Action — one click reads a customer review, matches the product with Atlas Vector Search, checks live stock, drafts a reply, and routes an action.
- Store-State vision — a shelf photo, read by Gemini, matched to products in MongoDB.
- Human in the loop — every write waits in a "Needs you" inbox to approve, reject, or undo.
- Evidence drawer — any action traces back to the real MongoDB documents it touched.
- Daily report + reconciliation — an end-of-day summary plus six data-integrity checks.
| Capability | Where it runs |
|---|---|
Aggregation pipelines with explain query plans |
owner summary, digest, daily report, reconciliation |
Atlas Search ($search) + Vector Search ($vectorSearch, Gemini 768-dim) + RRF hybrid |
product matching in vision, ordering, review-to-action |
agent_action_logs evidence trail (trace_id + collection:id refs) |
Evidence drawer, grounding receipt |
| MongoDB MCP server, live and read-only, every call logged | POST /api/mcp-proof and the console button |
Reviewed against the Google Cloud Well-Architected Framework, Security pillar.
- Secrets out of code — no credentials in the repo or images;
.envis git-ignored, only*.env.exampleis committed. - Identity without keys — Vertex AI via Application Default Credentials, a service account scoped to
aiplatform.user. - Least privilege — the MongoDB user is scoped to the app database; the MCP server is read-only.
- Use AI responsibly — answers are grounded in tool results, every action is auditable by
trace_id, and every write is gated behind human approval.
# zero-setup: the whole app on canned data, no credentials
pip install -r app/requirements.txt
MOCK_MODE=true python -m uvicorn app.main:app --port 8080
# open http://localhost:8080 and http://localhost:8080/counter# live: MongoDB Atlas + Vertex
gcloud auth application-default login
cp app/.env.example app/.env # set MONGODB_URI
python scripts/reset_demo.py --snapshot
python -m uvicorn app.main:app --port 8080Reliability: python scripts/run_demo_checks.py (golden checks, 10/10). Eval pack: python scripts/run_eval_golden.py. See DEMO_SCRIPT.md for the 3-minute walkthrough.
app/ FastAPI + ADK agents (supervisor + ordering/inventory/vision/owner + mcp_agent)
core/ product_search ($search/$vectorSearch/RRF), audit (evidence trail), mcp
flows/ owner_read (summary/timeline/evidence/daily report/reconcile), review_to_action
static/ console.html (Owner Ops Console) · counter.html (Customer Counter)
scripts/ run_demo_checks.py · run_eval_golden.py · prepare_review_seed.py · reset_demo.py
tests/e2e/ Playwright suite for the web UIs
Dockerfile Cloud Run source build (Python + Node for the MongoDB MCP server)

