
XMemo
Gives Claude and other AI agents a persistent, user-owned memory layer over remote MCP. The CLI handles OAuth login via xmemo.dev, writes config for Codex, Cursor, Copilot, Gemini, and Antigravity without embedding tokens, and optionally installs behavior profiles that nudge agents to search memory before starting work and save context after decisions. Uses streamable HTTP transport with stable agent instance IDs and zero telemetry. Reach for this when you want conversation history and project context to survive across sessions and tools without scattering state into each editor's isolated storage. The token flow supports both device login and manual credential injection.
- tools
- 49
- auth
- Secret needed
- transport
- STDIO, HTTP
- env vars
- 2
- last updated
- Sep 25, 2026
Tools
49 toolsPublic tool metadata for what this MCP can expose to an agent.
get_mcp_identityCheck XMemo connection status and the connected account/agent. Call this when the user asks whether XMemo is connected.
Check XMemo connection status and the connected account/agent. Call this when the user asks whether XMemo is connected.
No parameter schema in public metadata yet.
store_memoryLow-level memory write with full field control. Use only when a caller needs explicit field-level control; for normal conversational capture use remember.17 params
Low-level memory write with full field control. Use only when a caller needs explicit field-level control; for normal conversational capture use remember.
agent_idstringagent_instance_idstringbucketstringconfidencenumbercontentstringdevice_idstringdevice_labelstringembedding_jsonstringexpires_atstringimportancenumbermemory_typestringmetadata_jsonstringpathstringprovenance_jsonstringscopestringsemantic_keystringteam_idstringrememberSave a memory so it can be recalled in future conversations. Call this whenever the user states a durable fact, preference, instruction, identity or profile detail, project detail, or recurring workflow likely useful later — you do not need an explicit 'remember this'. Skip tr...19 params
Save a memory so it can be recalled in future conversations. Call this whenever the user states a durable fact, preference, instruction, identity or profile detail, project detail, or recurring workflow likely useful later — you do not need an explicit 'remember this'. Skip tr...
agent_idstringagent_instance_idstringbucketstringconfidencevaluecontentstringdedupebooleandevice_idstringdevice_labelstringembedding_jsonstringexpires_atstringimportancevaluememory_idstringmemory_typestringmetadata_jsonstringpathstringprovenance_jsonstringscopestringsemantic_keystringteam_idstringadd_expenseRecord one expense in the XMemo Ledger. Call this whenever the user states a concrete expense, purchase, income, or refund — for example, 'I spent 25 on lunch' or 'log this expense' — not only on an explicit 'record this'. Capture date, amount, currency, item, and merchant/cat...16 params
Record one expense in the XMemo Ledger. Call this whenever the user states a concrete expense, purchase, income, or refund — for example, 'I spent 25 on lunch' or 'log this expense' — not only on an explicit 'record this'. Capture date, amount, currency, item, and merchant/cat...
agent_idstringagent_instance_idstringamountnumberbucketstringcategorystringcurrencystringdevice_idstringdevice_labelstringitemstringmerchantstringnotestringpathstringpayment_methodstringscopestringteam_idstringtransaction_datestringupdate_stateSave the current working state during long-running work — active task, next action, or blocker — so future turns/sessions can resume. For durable user facts use remember.9 params
Save the current working state during long-running work — active task, next action, or blocker — so future turns/sessions can resume. For durable user facts use remember.
blocked_reasonstringbucketstringcontentstringcurrent_taskstringmetadata_jsonstringnext_actionstringscopestringstate_keystringttl_secondsintegersearch_memorySearch XMemo memories by natural-language query. Call this when the user asks about saved or past information, AND proactively before answering any question where prior preferences, facts, projects, decisions, or history could change the answer. To delete a memory, use forget.10 params
Search XMemo memories by natural-language query. Call this when the user asks about saved or past information, AND proactively before answering any question where prior preferences, facts, projects, decisions, or history could change the answer. To delete a memory, use forget.
agent_idstringagent_instance_idstringexplainbooleanlimitintegermemory_typestringpath_filterstringprefer_workingbooleanquerystringscopestringteam_idstringrecall_planPlan which memory searches to run before retrieval. Use only for complex tasks; for ordinary answers call recall_context or recall directly.8 params
Plan which memory searches to run before retrieval. Use only for complex tasks; for ordinary answers call recall_context or recall directly.
bucketstringmemory_typestringoutput_jsonbooleanpath_filterstringprefer_workingbooleanquerystringscopestringteam_idstringrecall_contextBuild a context pack from XMemo memories. Call this before answering or planning when the task could benefit from multiple saved memories — preferences, prior conversations, projects, decisions, TODOs, or long-running work.13 params
Build a context pack from XMemo memories. Call this before answering or planning when the task could benefit from multiple saved memories — preferences, prior conversations, projects, decisions, TODOs, or long-running work.
agent_idstringagent_instance_idstringbucketstringlimitintegermax_itemsintegermax_tokensintegermemory_typestringoutput_jsonbooleanpath_filterstringprefer_workingbooleanquerystringscopestringteam_idstringlist_ledger_transactionsShow XMemo Ledger records. Call this when the user asks about past expenses, purchases, or spending history, or before answering a finance question that depends on recorded transactions. For item searches use query and leave currency blank unless a currency was requested.13 params
Show XMemo Ledger records. Call this when the user asks about past expenses, purchases, or spending history, or before answering a finance question that depends on recorded transactions. For item searches use query and leave currency blank unless a currency was requested.
bucketstringcategorystringcurrencystringdate_fromstringdate_tostringlimitintegermax_amountvaluemin_amountvalueoffsetintegeroutput_jsonbooleanquerystringscopestringtransaction_typestringget_monthly_ledger_summarySummarize Ledger totals by month and currency. Call this when the user asks for monthly spending, income, refunds, net balance, budget review, or spending trends.6 params
Summarize Ledger totals by month and currency. Call this when the user asks for monthly spending, income, refunds, net balance, budget review, or spending trends.
bucketstringcurrencystringmonthsintegeroutput_jsonbooleanscopestringtransaction_typestringmark_memory_usedRecord that a recalled memory was used in the answer. Call this after a retrieved memory actually influenced your response (not for ignored results).5 params
Record that a recalled memory was used in the answer. Call this after a retrieved memory actually influenced your response (not for ignored results).
actionstringcontextstringmemory_idstringmetadata_jsonstringusage_tracking_idstringrecord_recall_eval_judgmentEvaluation only — record whether a returned memory was relevant for a query. Do not use in normal conversation.7 params
Evaluation only — record whether a returned memory was relevant for a query. Do not use in normal conversation.
expected_relevant_totalintegermemory_idstringmetadata_jsonstringpositionintegerquerystringreasonstringrelevantbooleanrun_recall_evalAdmin/evaluation only — aggregate stored recall judgments and optionally tune retrieval. Not for normal conversation.3 params
Admin/evaluation only — aggregate stored recall judgments and optionally tune retrieval. Not for normal conversation.
auto_tunebooleansincestringuntilstringrecord_recall_feedbackRecord recall corrections. Call this when the user says relevant context was missing or wrong, or supplies memories that should have been found.7 params
Record recall corrections. Call this when the user says relevant context was missing or wrong, or supplies memories that should have been found.
corrected_ids_jsonstringmetadata_jsonstringmissing_ids_jsonstringmissing_memories_jsonstringnotesstringquerystringreturned_ids_jsonstringget_recall_policyInspect XMemo retrieval policy (debug/admin). For actual recall use recall_context/recall/search_memory.
Inspect XMemo retrieval policy (debug/admin). For actual recall use recall_context/recall/search_memory.
No parameter schema in public metadata yet.
get_safety_policyShow the account safety policy. Useful before custom memory-writing that may include sensitive content; normal writes are already sanitized server-side.
Show the account safety policy. Useful before custom memory-writing that may include sensitive content; normal writes are already sanitized server-side.
No parameter schema in public metadata yet.
query_audit_eventsAdvanced audit query by action/time/target. For normal users prefer memory_activity.8 params
Advanced audit query by action/time/target. For normal users prefer memory_activity.
actionstringbucketstringlimitintegeroffsetintegerscopestringsincestringtarget_idstringuntilstringquery_consolidation_auditInspect consolidation/lifecycle/reflection audit records (admin). Not for normal recall/save.7 params
Inspect consolidation/lifecycle/reflection audit records (admin). Not for normal recall/save.
action_typestringbucketstringlimitintegeroffsetintegerscopestringsincestringuntilstringrecord_eventRecord a significant session event, milestone, decision, or handoff note useful for reconstructing recent work. Not for durable facts/preferences (use remember).6 params
Record a significant session event, milestone, decision, or handoff note useful for reconstructing recent work. Not for durable facts/preferences (use remember).
bucketstringcontentstringevent_typestringmetadata_jsonstringscopestringsession_idstringget_timelineShow recent events. Call this when the user asks what happened recently or when resuming work that may depend on recent events.5 params
Show recent events. Call this when the user asks what happened recently or when resuming work that may depend on recent events.
bucketstringevent_typestringlimitintegerscopestringsession_idstringcreate_reminderCreate a TODO item. Alias for create_memory_todo.5 params
Create a TODO item. Alias for create_memory_todo.
bucketstringcontentstringdue_atstringmetadata_jsonstringscopestringlist_remindersList TODO items. Alias for list_memory_todos.5 params
List TODO items. Alias for list_memory_todos.
bucketstringdue_beforestringitem_statusstringlimitintegerscopestringcomplete_reminderComplete a TODO item. Alias for complete_memory_todo.2 params
Complete a TODO item. Alias for complete_memory_todo.
notestringreminder_idstringcreate_memory_todoCreate a TODO/action item in XMemo with an optional due time. Call this when the user asks to save a task, follow-up, action item, or reminder-style item to revisit later.5 params
Create a TODO/action item in XMemo with an optional due time. Call this when the user asks to save a task, follow-up, action item, or reminder-style item to revisit later.
bucketstringcontentstringdue_atstringmetadata_jsonstringscopestringlist_memory_todosList open or completed TODO/action items. Call this when the user asks what tasks, follow-ups, or saved action items are pending or done.5 params
List open or completed TODO/action items. Call this when the user asks what tasks, follow-ups, or saved action items are pending or done.
bucketstringdue_beforestringitem_statusstringlimitintegerscopestringcomplete_memory_todoMark a TODO/action item completed. Call this when the user says a saved task is done, resolved, or no longer needed; use the exact reference from list_memory_todos.2 params
Mark a TODO/action item completed. Call this when the user says a saved task is done, resolved, or no longer needed; use the exact reference from list_memory_todos.
notestringtodo_idstringcreate_pending_decisionRecord an unresolved decision with its options to revisit later. Use for open choices, not ordinary TODOs.6 params
Record an unresolved decision with its options to revisit later. Use for open choices, not ordinary TODOs.
bucketstringcontextstringdue_atstringmetadata_jsonstringoptions_jsonstringscopestringlist_pending_decisionsList open/unresolved decisions. Call this when the user asks what decisions are pending, or before planning work that depends on unresolved choices.5 params
List open/unresolved decisions. Call this when the user asks what decisions are pending, or before planning work that depends on unresolved choices.
bucketstringdue_beforestringitem_statusstringlimitintegerscopestringresolve_decisionRecord the chosen option for a previously saved pending decision. Call this when the user states their decision.2 params
Record the chosen option for a previously saved pending decision. Call this when the user states their decision.
decision_idstringresolutionstringcreate_restart_snapshotSave active state, recent events, TODOs, and pending decisions for restart. Call this before handoff or when context may be lost.9 params
Save active state, recent events, TODOs, and pending decisions for restart. Call this before handoff or when context may be lost.
bucketstringdecision_limitintegermetadata_jsonstringreminder_limitintegerscopestringsession_idstringstate_keystringtimeline_limitintegerttl_secondsintegerrestore_restart_snapshotResume previous work from a saved snapshot. Call this when the user asks to resume/restart or after context loss.9 params
Resume previous work from a saved snapshot. Call this when the user asks to resume/restart or after context loss.
bucketstringrecord_restore_eventbooleanrestore_statebooleanscopestringsnapshot_idstringsource_session_idstringstate_keystringtarget_session_idstringttl_secondsintegerrecallRecall the few most relevant saved memories before answering, when prior preferences, known facts, past decisions, or project context may directly affect the response. Use recall_context when many memories are needed.8 params
Recall the few most relevant saved memories before answering, when prior preferences, known facts, past decisions, or project context may directly affect the response. Use recall_context when many memories are needed.
agent_idstringagent_instance_idstringexplainbooleanlimitintegermemory_typestringpath_filterstringprefer_workingbooleanquerystringupdate_memoryUpdate the content, location, or type of an existing memory. Call this only when the user explicitly asks to correct, revise, move, or reclassify a specific saved memory.18 params
Update the content, location, or type of an existing memory. Call this only when the user explicitly asks to correct, revise, move, or reclassify a specific saved memory.
bucketstringconfidencevaluecontentstringdetect_conflictsbooleanexpires_atstringimportancevaluememory_idstringmemory_typestringmerge_metadatabooleanmerge_provenancebooleanmetadata_jsonstringpathstringprovenance_jsonstringscopestringsemantic_keystringstatusstringsupersession_reasonstringteam_idstringforget_memoryDelete a memory (recoverable) by exact reference, when the user explicitly asks to remove or hide it. Use forget or delete_current_memory for permanent deletion.5 params
Delete a memory (recoverable) by exact reference, when the user explicitly asks to remove or hide it. Use forget or delete_current_memory for permanent deletion.
memory_idstringmetadata_jsonstringmodestringreasonstringreplacement_contentstringforgetPermanently delete one memory by natural target ('latest', 'current', or an exact ID). Call this only when the user explicitly asks to forget/delete a specific memory; search or check activity first if the target is ambiguous.2 params
Permanently delete one memory by natural target ('latest', 'current', or an exact ID). Call this only when the user explicitly asks to forget/delete a specific memory; search or check activity first if the target is ambiguous.
reasonstringtargetstringdelete_current_memoryPermanently delete the single active memory (no ID needed). Call this only when exactly one memory exists and the user explicitly asks to delete it; refused if zero or multiple match.1 params
Permanently delete the single active memory (no ID needed). Call this only when exactly one memory exists and the user explicitly asks to delete it; refused if zero or multiple match.
reasonstringmemory_overviewShow a summary of XMemo memories and recent activity. Call this when the user asks what XMemo remembers without a specific query.
Show a summary of XMemo memories and recent activity. Call this when the user asks what XMemo remembers without a specific query.
No parameter schema in public metadata yet.
memory_statsShow aggregate statistics for XMemo memories — counts by type, source, location, and optional time range. Call this when the user asks for counts, breakdowns, or distributions.8 params
Show aggregate statistics for XMemo memories — counts by type, source, location, and optional time range. Call this when the user asks for counts, breakdowns, or distributions.
group_bystringmemory_typestringoutput_jsonbooleanpath_filterstringscopestringsincestringtop_nintegeruntilstringmemory_activityShow recent memory activity — writes, deletions, TODO changes, ledger changes, and timeline events. Call this when the user asks what changed recently, or before deleting 'latest/recent' memory so the user can confirm the preview.6 params
Show recent memory activity — writes, deletions, TODO changes, ledger changes, and timeline events. Call this when the user asks what changed recently, or before deleting 'latest/recent' memory so the user can confirm the preview.
activity_typestringinclude_timelinebooleanlimitintegeroutput_jsonbooleansincestringuntilstringanalyze_memory_textCount a word or phrase across XMemo memories, optionally grouped by month, agent, location, or type. Call this when the user asks how often a word/topic appears.12 params
Count a word or phrase across XMemo memories, optionally grouped by month, agent, location, or type. Call this when the user asks how often a word/topic appears.
group_bystringinclude_examplesbooleanmatch_modestringmax_examplesintegermax_memoriesintegermemory_typestringoutput_jsonbooleanpath_filterstringphrasestringscopestringsincestringuntilstringrestore_memoryRestore a previously deleted memory. Call this only when the user explicitly asks to restore or undo a deletion.3 params
Restore a previously deleted memory. Call this only when the user explicitly asks to restore or undo a deletion.
memory_idstringmetadata_jsonstringreasonstringredact_memoryRedact sensitive content from a memory while keeping an audit trail. Call this only when the user explicitly asks to redact.4 params
Redact sensitive content from a memory while keeping an audit trail. Call this only when the user explicitly asks to redact.
memory_idstringmetadata_jsonstringreasonstringreplacement_contentstringexplain_memoryExplain why a memory exists or matched a query. Call this when the user asks why something was saved or why it was retrieved.4 params
Explain why a memory exists or matched a query. Call this when the user asks why something was saved or why it was retrieved.
include_embeddingbooleanmemory_idstringoutput_jsonbooleanquerystringlist_memory_versionsShow version history for a memory. Call this when the user asks for previous content or changes over time.2 params
Show version history for a memory. Call this when the user asks for previous content or changes over time.
memory_idstringoutput_jsonbooleanlist_memory_conflictsList conflicting/inconsistent memories. Call this when the user/admin asks to review unresolved conflicts.3 params
List conflicting/inconsistent memories. Call this when the user/admin asks to review unresolved conflicts.
limitintegeroutput_jsonbooleanunresolved_onlybooleanresolve_memory_conflictResolve a listed memory conflict. Call this only when the user/admin explicitly chooses a resolution strategy.5 params
Resolve a listed memory conflict. Call this only when the user/admin explicitly chooses a resolution strategy.
conflict_idstringmerge_contentstringmetadata_jsonstringresolution_strategystringwinning_memory_idstringrun_lifecycleMaintenance tool. Use only when the user/admin explicitly asks to expire, archive, decay, or dry-run lifecycle processing.8 params
Maintenance tool. Use only when the user/admin explicitly asks to expire, archive, decay, or dry-run lifecycle processing.
archivebooleanbucketstringdecaybooleandry_runbooleanexpirebooleanlimitintegerscopestringteam_idstringreflectMaintenance tool. Use only when the user/admin asks to summarize, promote, expire, decay, or archive via reflection. Prefer dry_run unless changes are explicitly requested.11 params
Maintenance tool. Use only when the user/admin asks to summarize, promote, expire, decay, or archive via reflection. Prefer dry_run unless changes are explicitly requested.
actions_csvstringbucketstringdry_runbooleanlimitintegerowner_filtervaluepath_filterstringscopevaluesincevalueteam_idstringtime_window_hoursnumberuntilvalueget_system_statsDetailed memory stats with filters and grouping. For a quick summary use memory_overview or memory_stats.11 params
Detailed memory stats with filters and grouping. For a quick summary use memory_overview or memory_stats.
group_bystringmemory_typestringoutput_jsonbooleanpath_filterstringscopestringsincestringsourcestringstatusstringteam_idstringtop_nintegeruntilstringSponsors
Configuration
XMEMO_KEYsecretBearer token issued by XMemo for the stdio proxy. Optional for discovery; required for tool execution.
XMEMO_URLOptional XMemo service base URL. Defaults to https://xmemo.dev.
Readme
Details
- Repository
- github.com/yonro/memory-os-cli
- Website
- xmemo.dev/product/mcp
- Category
- AI & LLM Tools
- Package
@xmemo/client- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active