Build an Agentic Event Venue Operator with MongoDB Atlas, Voyage, and LangGraph
AI News Desk
·
MarkTechPost
··
8 min read
This tutorial starts where most agent demos stop: giving the agent persistent memory, operational context, and a place to write back what happened.
This tutorial starts where most agent demos stop: giving the agent persistent memory, operational context, and a place to write back what happened. An event operator does not just need an agent that can summarize a weather report or generate a generic plan. The operator needs an agent that can remember what happened at prior events, retrieve relevant visitor and venue context, respond to live operational changes, and write the outcome back as memory for the next similar situation.
We built this event-venue operator demo with MongoDB Atlas, Voyage AI embeddings, LangGraph, and optional Langfuse tracing. The demo scenario is the MongoDB Open, a fictional premium tennis tournament on Day 6 of play. Rain is approaching, covered hospitality capacity is constrained, and the operator has two different visitor journeys to protect: Mikiko, a first-time attendee trying to make the most of the grounds, and Nina, a premier guest with hospitality expectations and a history the agent can retrieve.
This is not a customer case study or a production deployment. It is a fictional builder scenario inspired by real event operations economics. Major tennis events show why these decisions matter: the 2025 US Open broke attendance, viewership, and digital reach records and offered $90 million in total player compensation; USTA has also said the three-week US Open drives more than $1.2 billion in annual economic impact for New York City. Premium fan expectations are high, too: PwC found that 60% of high-income U.S. sports fans would spend more than $250 for a special event, and 20% would spend more than $1,000. Weather adds another layer of risk, which is why the U.S. Census Bureau now tracks the monetary impact of extreme weather on business sales through its Business Trends and Outlook Survey.
The MongoDB Open demo agent is not just producing a plausible plan. It reads current venue state, retrieves prior event memory, distinguishes between visitor segments, and acts. At the same time, hospitality capacity is still available, and writes the outcome back so the next disruption can be handled with more context. Check out the full repo here .
By the end of the tutorial, you will have a FastAPI app backed by MongoDB Atlas that can run locally and deploy to Vercel.
The current repo should be treated as a reference demo, not a production platform. There is no production auth, no CI suite, and the full LangGraph agent remains a script-based validation path rather than a public hosted endpoint.
The architecture centers on MongoDB Atlas as both the operational and memory layer. Speed matters in the event venue operator scenario because the useful window for action is short. If rain is 20 minutes away and covered hospitality space is filling up, the operator does not need a post-event dashboard or a batch summary a few minutes later. The agent needs to read the current venue state, retrieve relevant memory, decide what to do, and write back the result while there is still capacity to protect the guest experience.
That is why the type of database and how it is used are critical system design choices. Operational records, semantic memory, vector embeddings, visual documents, and agent actions all live in the same data layer. The agent does not need to wait for a separate analytics pipeline, sync data into a second vector database, or reconcile what the memory layer says with what the operational system says. Atlas acts as both the system of record and the retrieval layer for the agent loop: perceive what changed, retrieve the right context, take action, and persist what happened for the next event.
This is also why the demo keeps memory in MongoDB rather than treating it as a sidecar. The agent is not just retrieving chunks; it is composing operational context. A useful decision may need visitor history, current venue status, hospitality inventory, prior rain-delay patterns, and relevant visual documents at the same time. With Atlas, those pieces can stay queryable together instead of being scattered across separate systems.
Clone the repo and install dependencies: GitHub repo
If you only want to inspect the app before setting up credentials, start with the live Vercel demo . The hosted demo uses the same UI and deployment shape as the repo, while local setup lets you run the full seed, smoke test, Vision RAG, and LangGraph paths yourself.
This script creates collections and starts the Atlas Vector Search index, then waits up to 60 seconds for the index to become READY.
In a second terminal, run the smoke test:
With the server running in another terminal, the smoke test checks MongoDB health, Atlas Vector Search, hybrid search, visual-document indexing, Vision RAG, optional Langfuse wiring, and collection stats.
The memory store lives in the memory_store collection. Each memory document includes a namespace, key, text payload, category metadata, and an embedding.
Namespaces let the app separate different kinds of memory:
This design choice streamlines the agent’s access to both operational data and its memory for its own operations. Agent memory in production has many facets: some memories belong to a person, some to a location, some to a business process, and some to reference documents. Atlas gives the app a single backend for all of them while still allowing scoped retrieval, thanks to its flexible data model .
At this point, the memory store has already been initialized and seeded. The memory_store collection contains embedded memory documents, and the Atlas Vector Search index is available.
This section shows how to query that memory store directly. You do not need to run these queries to create memory; they are validation calls that help you inspect how retrieval works before the agent uses the same backend path during the scenario.
The simplest retrieval endpoint is vector search:
This embeds the query with Voyage and searches Atlas for semantically similar memories.
The hybrid endpoint combines vector similarity with lexical scoring over memory text:
The response includes vector score, lexical score, and combined hybrid score. This is useful because event-operations queries often mix semantic intent with exact operational terms. “Rain delay,” “dinner reservation,” and “covered seating” are all meaningful as concepts, but exact words can still carry a strong signal.
In this implementation, hybrid search means Atlas Vector Search plus deterministic lexical scoring over memory text. It works with the existing vector index and seeded data, so readers do not need to create a separate Atlas Search text index for this tutorial. A natural extension would be to add a dedicated Atlas Search text index and combine those results with vector retrieval.
Operational knowledge is not always text. Accessibility maps, hospitality capacity charts, allergen matrices, weather-response sheets, and evacuation diagrams often exist as images or PDFs.
Each image is embedded with Voyage multimodal embeddings and stored in the memory collection. A text query can then retrieve the relevant visual document:
The endpoint retrieves the best-matching visual document from Atlas and sends it to Claude Vision with the user question. This turns static operational material into retrievable agent context.
The repo also includes a LangGraph proof-of-concept:
The graph follows the same tennis-event narrative as the guided UI, but runs it through the live agent path:
The generated output will vary because Claude is planning from retrieved memory, but the seeded memories and prompt are aligned to the tennis rain-delay scenario.
Langfuse is optional. If you add keys to .env, the app emits tracing around retrieval calls:
Check whether the running server is configured:
Run a retrieval request from the Live Backend tab or with /api/search and /api/hybrid-search, then check Langfuse for traces named api.search and api.hybrid_search.
The live LangGraph script also emits a run-level langgraph.run_agent observation when Langfuse keys are configured so that readers can validate observability for both the API layer and the agent path.
For a tutorial, this is a helpful way to show readers where observability fits without making it a hard setup requirement.
The repo includes a Vercel deployment path so the app can be shared as a public demo link. The deployment uses api/index.py as the Vercel ASGI entrypoint, and vercel.json to route requests to FastAPI. The repo includes .python-version for local Python 3.12 tooling; confirm the Vercel Python runtime is also set to 3.12 and that the build installs dependencies from pyproject.toml.
For the hosted demo, configure these environment variables in Vercel:
Langfuse keys are optional. Add ANTHROPIC_API_KEY only if you intentionally want hosted Vision RAG or other LLM-backed endpoints exposed. The full LangGraph path is still validated locally via scripts/run_poc.py rather than through a public, unauthenticated endpoint.
The UI is deterministic. It is useful for communicating the scenario, but it is not a full real-time operations console.
The seed data is synthetic. It is good enough to demonstrate retrieval patterns, but it should not be treated as representative production data.
The current project does not include production authentication, rate limiting, tenant isolation, secret management, or CI. Those would be required before adapting the pattern for a real operator-facing application.
You can run this tutorial on an Atlas Free cluster to test the Vector Search workflow. Free clusters are intended for small-scale development and testing; for serious prototyping or production workloads, use a dedicated Atlas tier sized for your data and query volume.
The demo keeps the useful parts of the agent stack in data: operational records, semantic memories, visual documents, checkpoints, and traces. MongoDB Atlas can hold those pieces together while still supporting vector search, multimodal retrieval, and application state in one place.
If you enjoyed this tutorial, feel free to create your own scenario and/or add features you think would make the demo more realistic.
If you want to learn more, check out our other tutorials in GenAI Showcase or learn more about agents and memory at MongoDB University .
Note:Thanks to the MongoDB team for the Technical Resources and promotional support for this article.
The post Build an Agentic Event Venue Operator with MongoDB Atlas, Voyage, and LangGraph appeared first on MarkTechPost .