Week 4: Drafting and finalizing the Chat Interface Plan

by Armaan Gupta

week
gsoc
gsoc2026
McpServerAndAgent
week#4
Phase-2

Week 4 shipped less code than the previous three, and I flagged this in our meetings as it happened: I relocated to Bengaluru this week, and the move ate into the time I’d normally spend implementing. Rather than rush a half-finished feature into Phase 1 around a move, I used the week for something that needed unhurried thinking anyway: designing Phase 2, the /chat interface, before writing a line of its code.

With all seven Phase 1 tools done, the open question was what actually sits on top of them. I started from one fact that ended up shaping the whole design: CDLI wants to offer near-zero-cost, CDLI-funded LLM keys to logged-in users who don’t bring their own key, and a funded key shipped to the browser would get extracted and abused within hours. That single requirement ruled out the pure-browser widget from the original sketch, and meant we need a server we control to hold the key. So a dedicated Node chat backend, doubling as the MCP host, became the centerpiece of the design. From there I worked out the rest of the architecture around it:

The remaining piece, how the backend actually decides what to do with a query, and everything that has to hold up once it’s live, is what I carried into next week.