The user id being a compile-time constant rather than an environment variable means one build serves one person, and switching accounts means editing and rebuilding. Combined with the dependency on a local API at a fixed port, this reads as a personal setup rather than something to hand to a team. For its own purpose it is direct: one call, everything recorded, into the conversation.
A small MCP server that exposes the memories held in the Omi app for one specific user. It has a single tool and no arguments: the user id is fixed in the source, and the call returns that user's memories.
- `fetch-memories` — returns all memories for the configured user id, taking no arguments
Two things that are easy to miss. First, the user id is not configuration but source: open `src/server.ts` and set the `SPECIFIC_USER_ID` constant to the id from the Account section of the Omi app. Second, the server expects an Express API already running at `http://localhost:3000` — it reads from that, not directly from Omi's cloud. Then `npm install`, `npm run build`, and point the client at `dist/server.js`. Works with Claude Desktop and Cursor.
