AI platform · Los Angeles Superior Court · 2025 to 2026
One front door for the public, many specialist chatbots behind it, and what changed when the Model Context Protocol caught up with the design.
At a glance
CourtHelp is the Los Angeles Superior Court's single chat entry point for the public. One orchestrator reads each question and hands it to the right specialist chatbot: court FAQs, jury service, or hearings.
The full story
The Los Angeles Superior Court is the largest trial court in the country. Much of what the public asks it comes down to a handful of needs: where do I go, how do I pay this, what do I do with my jury summons. A well-organized website can answer some of those. Others are transactions, like registering for jury service, postponing it, or finding a hearing and checking in. We had chatbots that handled some of these on their own, and each one worked. But a member of the public shouldn't have to know which bot to talk to.
In early 2025 we set out to build a single entry point. CourtHelp would read each question and hand it to the right specialist: a knowledge chatbot that answered from the court's website and PDFs, a jury chatbot that could complete transactions, and more to follow. Internally we called it the "lord of all chatbots."
At the time, there was no settled standard for connecting an AI assistant to a set of tools. We evaluated open-source multi-agent frameworks and decided our needs were simple enough to build in-house. That meant building every piece of the plumbing:
CourtHelp launched alongside the court's new website in July 2025, and a hearings chatbot (find a hearing, set reminders, check in) was built next.
The design worked, but much of our engineering went into problems that had nothing to do with courts. The transaction lock was the hardest part. Every bot had to follow the same conventions, and a conversation that went sideways was painful to debug. Each new chatbot also meant custom integration work, which made it hard for other teams to build their own.
Meanwhile, the Model Context Protocol (MCP) matured into a widely adopted standard for connecting AI applications to tools. When we looked closely, it described almost exactly the architecture we had built by hand: a client that decides which tool to call based on the tool's description, and servers that declare what they can do. So the platform was rebuilt on it.
Custom orchestrator, hand-built plumbing
Each bot integrated by hand
Same design, standard protocol
MCP servers built from a shared template
| Version 1 (2025) | Today (MCP) | |
|---|---|---|
| Routing | Custom registry plus an LLM intent classifier | MCP client reads each tool's description |
| Multi-step tasks | Transaction lock: flags and session IDs | MCP elicitation: the server asks, then resumes |
| Memory | Condensed history packed into every prompt | Handled by the agent framework |
| Adding a bot | Custom integration work | Shared server template and registration |
MCP servers → court systems