Skip to main content

Memory Tools

The hosted server returns only the tools allowed by the OAuth grant or MCP key. A local mcp-server-omi stdio process currently exposes the eight memory and conversation tools in the first two sections below; the additional tools are hosted-server tools.
Retrieve a list of user memories with optional filtering.Parameters:Returns: { "memories": [...], "returned_count": 25, "has_more": true, "offset": 0, "limit": 25, "sort": "created_desc" }The response may also include scan diagnostics such as scanned_count and scan_truncated.Example:
Memory categories: interesting, core, hobbies, lifestyle, interests, habits, work, skills, learnings, other
Semantic search across memories. Returns results ranked by relevance using vector similarity.Parameters:Returns: { "memories": [{ ..., "relevance_score": 0.92 }, ...] }Each result includes a relevance_score (0.0 to 1.0) indicating how well it matches the query.Example:
Create a new memory. Category is auto-detected if not provided.Parameters:Returns: { "success": true, "memory": { ... } }
Edit an existing memory’s content.Parameters:Returns: { "success": true }
Delete a memory by ID.Parameters:Returns: { "success": true }

Conversation Tools

Retrieve a list of conversations with optional date and category filtering.Parameters:Returns: { "conversations": [...] } — metadata only. Use get_conversation_by_id for full transcripts.Example:
Conversation categories: personal, education, health, finance, technology, business, work, social, travel, entertainment, sports, family, and more.
Semantic search across conversations. Returns results ranked by relevance using vector similarity.Parameters:Returns: { "conversations": [...] } — ranked by relevance to the query.Example:
Retrieve a single conversation by ID, including the full transcript with speaker segments.Parameters:Returns: Full conversation object with transcript segments, timestamps, structured summary, and metadata.

Profile, Imported Data, and Activity Tools

Dates use YYYY-MM-DD. get_screen_activity defaults to 200 raw rows; limit is ignored when summary is true. Screen summaries count synced observations, not elapsed app usage. OCR gating, frame deduplication, privacy exclusions, and sync compaction mean a row cannot be converted to a fixed number of seconds or treated as proof of the user’s intent. The same summary contract serves hosted MCP, REST MCP, and GET /v1/screen-activity/summary:
  • total_screenshots and per-app count count only the summarized rows.
  • coverage.source is synced_screen_activity; coverage.row_limit is 5000.
  • coverage.truncated is true only when a lookahead row proves more matching rows exist. Only the earliest 5000 rows contribute to the summary. Narrow the date range to inspect later observations.
  • coverage.first_observed_at and last_observed_at bound the summarized rows, in UTC (YYYY-MM-DD HH:MM:SS.mmm), and are null for an empty result. They do not establish continuous activity or the device’s latest capture time.
  • coverage.capture_completeness is unknown, even when truncated is false: the cloud query cannot attest to device capture status, excluded activity, retention, or pending sync. An empty result does not prove inactivity.
Window titles are samples, not a ranking by dwell time. Summaries remain derived views of screen evidence; they do not create or promote semantic memories.

Action Item Tools

Due dates accept YYYY-MM-DD or an ISO 8601 date-time where noted by the client schema.

Error Handling

All tools return JSON-RPC 2.0 errors when something goes wrong: Example error response:

Locked Content

Memories and conversations behind the paid plan are handled gracefully:
  • Memories: Content is truncated to 70 characters with ...
  • Conversations: Action items and events are hidden from the structured data
  • Direct access: Returns error -32002 with a clear message