Voice-assistant sessions are effectively stateless: when the conversation ends, the context goes with it. Crew Memory for Alexa+ is a self-hosted MCP server that gives an assistant a persistent, shared crew memory instead. Three crew roles — Planner, Researcher, and Executor — read and write one memory graph with three layers: episodic (what happened), semantic (what is true), and procedural (how we do things). Anything one role learns is available to the others in the next session, including after a server restart, because memory lives in a persistent local graph store rather than in a process.

The server is the track artifact. It is built on the official MCP Python SDK and speaks MCP 2025-11-25 over Streamable HTTP, exposing eight tools: remember, remember_procedure, recall, crew_ask, handoff, open_handoffs, complete_handoff, and memory_stats. Retrieval is evidence-carrying by design: answers are composed only from graph contents and ship with the evidence path — the actual chain of graph nodes the answer came from. If memory has no support for a question, the crew says so instead of guessing. Roles hand work to each other through the graph, with the referenced memory nodes and their neighborhood attached as context, so a task started in one session can be picked up by another role in a different session.

The demo surface is a simulated Alexa+ web experience. The simulation is only the host: its intent routing is simple keyword matching, standing in for the Alexa+ runtime's own NLU. Everything below that line is real — the MCP initialize handshake, tool calls, memory writes, multi-hop traversal, evidence paths, handoff lifecycle, and restart persistence all execute for every message. If the MCP server is down, the UI says so; it never fakes an answer. The whole project runs locally with one command and no external accounts: a new SQLite backend implements the same graph interface as the original FalkorDB backend, which remains the documented production path.

Verification: the protocol-level test suite passes 12/12, including the real initialize handshake and tool list, remember→recall with evidence paths, multi-hop crew_ask plus an honest no-answer case, the full handoff lifecycle, and memory surviving a server-process restart. A clean-checkout judge run (fresh copy, README install path only) also passes 12/12, and a live smoke of the seeded demo returns the seeded allergy fact with its evidence paths over MCP 2025-11-25.

Built With

Share this project:

Updates

Submission history