Search or recall memories from memocore (the user's persistent memory, also called "mc") — their own private memos and every project they belong to. Every search is HYBRID: `query` (a natural-language description of what you seek) drives meaning-based vector recall, `keywords` (the distinctive terms) drives keyword matching against the heavily-weighted `meta` cues, then title, preview and content; the two rankings are fused. Both are required — write them as two views of the SAME need, not two different questions — except in a DATED listing. `date_from` (optionally `date_to`) keeps only the memos that have a date in that window: alone, with NO query/keywords, it lists them nearest first — e.g. what is coming up in the next 3 days; with query + keywords it searches inside the window — e.g. only the calls. Each item then carries its `dates`. Results are LIGHTWEIGHT: each item shows only `title`, the short public `preview` summary, a `has_files` boolean, and where it lives — `project` and `company` as { id, name } and `tags` as [{ id, name }], so you can name the source and reuse the ids without a second lookup — but NOT the full `content`, the `meta` search cues, or the file list. An item with `shared: true` was reached through a company-wide share, not membership: it is READ-ONLY for you (no update/delete/tagging), and its project is deliberately unnamed — tell the user it is "shared with you" in that company. Fetch the full content, meta and attachment list for the ids you need with get-memos. Returns `items` in relevance order plus a `recommendation` — READ THE RECOMMENDATION before trusting anything: it states how solid the results actually are, because a search ALWAYS returns a full page of nearest memos even when the memory holds nothing on the subject. It tells you which items (if any) both sides agreed on and are genuinely on topic, which merely share a word, and when the honest answer is that nothing was found and you should answer from scratch. Narrow with `scope` (private / shared / a specific project), `tags` (only memos carrying ALL given tags) and `exclude_tags` (drop memos carrying ANY of them). With no `scope`/`company` the search spans EVERYTHING you can access (your private memos + every project you belong to, personal and company, + memos shared company-wide from company projects you are NOT in); when you are confident which project or company holds the answer, pass its `scope` or `company` to focus there instead (more precise). Use to recall what the user or their projects previously stored.