# Build and operate Public page: `/learn/operate` · Catalog: `GET /api/operate` Related: [`/learn/realflow`](/learn/realflow) · [`/docs/learn/mmry-api.md`](mmry-api.md) Flo and RealFlow are not only a conversational pipeline. Operators and agents also need **APIs**, **MCPs**, **plugins**, **skills**, and **CLIs**. This host documents the stack and ships the Remember slice. It does not run RealFuel, Flo’s WebSocket, or SensAffect regulation. ## Status words | Status | Meaning | |--------|---------| | **live** | Served or stored in this repository now | | **spec** | Written contract; not executed on this Express process | | **needed** | First-party surface still to build | | **operator** | Available in the human’s Cursor/tooling, not a product of this host | | **ancestor** / **thrpy** | Lives in Flo / THRPY trees | ## APIs - **This host (live):** session, CSRF, memories, FTS recall, authority, receipts, export, public catalogs. Client: `/sdks/mmry-js/`. Sheet: [`mmry-api.md`](mmry-api.md). - **SensAffect (spec):** `createSensAffectEngine` — ingest observations, fused `EmotionalState`, kinematics, `RegulationDecision`. File: [`/library/SensAffect_API_Spec.md`](/library/SensAffect_API_Spec.md). - **Flo (ancestor):** WebSocket `/ws/realflo-comm/{user_id}` in `Flo/flo/backend/realflo.py`. Bidirectional audio. Not this origin. - **RealAction (THRPY):** function-call schema in `thrpy.chat-v2/packages/core-engine/src/realActionTools.ts`. Cortex proposes; RealFlow carries time; RealAction/RealSafety bound the act. ## MCPs Agents should call the same contracts over MCP that apps call over HTTP. | Server | Status | Job | |--------|--------|-----| | MMRY / RealSeries operate MCP | **live** | Stdio `mcp/operate-server.mjs`. Health, catalogs, doctrine. Project `.cursor/mcp.json`. Plugin copy. | | SensAffect MCP | **needed** | `ingest` / `getSnapshot` / `reset` / `exportTimeline`. | | RealFlow MCP | **needed** | Turn phases + flow-native detectors (notice, never judge). | | Render MCP | **operator** | Deploy this host. `https://mcp.render.com/mcp`. | | Cloudflare / Stripe / Figma | **operator** | Edge, billing, design. Not memory SSOT. | A catalog MCP must not become a silent rewrite of `memories.content`. It does not search feeling. ## Plugins | Plugin | Status | |--------|--------| | RealSeries Cursor plugin | **live** — `~/.cursor/plugins/local/realseries-operate/` skills, `/operate`, `/realflow`, bundled MCP | | Akita / CursorPluginKits | **operator** — secrets, vault, PPI, toolbox. Licenses never in source | ## Skills (this repo and plugin) - `mmry-remember` — cite or abstain - `realflow-flo` — ancestor vs named spine vs RealAction tools - `sensaffect-operate` — which tool to reach for - `realfeel-ambient` — colour, animation, transition speed Operator-machine skills (not in this repo): Render family, vault, governed-delivery, Akita secret-scan. ## CLIs and gates - `npm run check` + `GET /api/health` (charter verify) - `npm run mcp:smoke` — operate MCP initialize + tools/list - `node scripts/sync-library.mjs` — refresh RealFlow packets - `npm run pack:omni` — Omni-CNN zip - `akita verify` before merge-ready claims - Render Blueprint `render.yaml` — web + Postgres G5 (hosted Render workspace list) remains a known operator blocker until MCP re-auth succeeds.