Architecture — Maya → Anamaya MCP → OMS
Preferred live path when MAYA_OMS_VIA_MCP=true.
Channels never call OMS or providers directly.
End-to-end pathChannels → maya-api → MCP → OMS
What lives whereMemory vs live inventory
Two MCP servicesOMS gateway vs persona
MisconceptionsWhat MCP is not
End-to-end request path
Preferred spine
Forbidden: WhatsApp / agent → provider or OMS HTTP without Domain API + MCP
flowchart LR T[Traveler] --> CH[Channel
WhatsApp / Web / iOS / Android] CH --> API[maya-api
Conversation + Agent] API --> NR[Live NRCP pack
SPEC-017 voice] API --> MCP[maya-anamaya-mcp
OMS gateway] MCP --> OMS[Anamaya OMS] OMS --> BT[Biztrip / OTA
aggregation]
What lives where
Yogi’s reading for inventory is correct: offers always come from OMS. MCP exposes the capability; it is not the source of truth for fares or rooms.
| Concern | Where it lives | Does MCP store it? |
|---|---|---|
| User intent, slots, trip summary | maya-api conversation state + memory | Session / behaviour — yes |
| Chosen flight / hotel in this chat | maya-api session state | Choice context — yes |
| Reply style / NLU pack | Natural Reply Capability Pack (SPEC-016/017) | No — pack store / control plane |
| Live flight offers & prices | OMS POST /flight/search/* |
No — queried each search |
| Live hotel discovery / rates / photos | OMS hotel discovery / room-rate / property | No — queried each search |
| Policy, ESPPD, approvals, e-ticket | OMS booking / policy APIs | Proxied on demand — not an inventory DB |
Empty hotel list after training usually means OMS discovery empty for that geo,
DNS split-brain, or conversation focus bug — not a missing MCP hotel cache.
Two different MCP services
“MCP” in chat is easy to conflate. There are two sibling gateways.
flowchart TB
subgraph Channels
WA[WhatsApp]
WEB[Web PoC]
APP[iOS / Android]
end
subgraph Maya
API[maya-api]
NRCP[NRCP behaviour pack]
MEM[Session memory
intent · picks · prefs]
end
subgraph Gateways
AMCP[maya-anamaya-mcp
OMS tools]
PMCP[maya-travel-ai-mcp
persona / CI]
end
subgraph Backbone
OMS[Anamaya OMS]
CP[Control plane specs]
end
WA --> API
WEB --> API
APP --> API
API --> NRCP
API --> MEM
API --> AMCP
AMCP --> OMS
PMCP --> CP
| Service | Role | Typical surface |
|---|---|---|
maya-anamaya-mcp |
OMS capability gateway for chatbot + agents | maya.suherman.net/mcp/anamaya |
maya-travel-ai-mcp |
Persona / SPEC / CI triggers — not inventory | maya.suherman.net/mcp |
Misconceptions to avoid
| Misconception | Reality |
|---|---|
| MCP is a database of flights/hotels | MCP is a tool/REST facade over live OMS. Inventory stays dynamic in OMS/Biztrip. |
| Maya AI → OMS directly | Preferred path is Maya → Anamaya MCP → OMS. Direct OMS is fallback for paths MCP does not expose yet. |
| Empty hotel list means MCP “forgot” hotels | Usually OMS empty geo, DNS, or focus bug — not an MCP inventory miss. |
| Behaviour pack = booking rules | NRCP controls how Maya speaks. Book / pay / cancel stay hard-gated in tools (CONFIRM). |