From 09429eec3a6016b2dd87da4d894be4f5dfc38165 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Thu, 19 Feb 2026 15:11:40 -0600 Subject: [PATCH] Auto-log episode entries on MCP memory_store (default true) MCP store was missing the --episode behavior that the CLI had, so episodes stopped being logged when sessions switched to using MCP tools. Now defaults to true with opt-out via episode=false. Co-Authored-By: Claude Opus 4.6 --- skills/cognitive-memory/mcp_server.py | 30 +++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/skills/cognitive-memory/mcp_server.py b/skills/cognitive-memory/mcp_server.py index 3cd5b48..06bdc1f 100644 --- a/skills/cognitive-memory/mcp_server.py +++ b/skills/cognitive-memory/mcp_server.py @@ -52,6 +52,10 @@ def create_tools() -> list: "type": "number", "description": "Importance score from 0.0 to 1.0 (default 0.5)", }, + "episode": { + "type": "boolean", + "description": "Also log an episode entry for this memory (default true)", + }, }, "required": ["type", "title", "content"], }, @@ -408,14 +412,32 @@ def handle_tool_call( try: if tool_name == "memory_store": + mem_type = arguments["type"] + title = arguments["title"] + tags = arguments.get("tags") memory_id = client.store( - type=arguments["type"], - title=arguments["title"], + type=mem_type, + title=title, content=arguments["content"], - tags=arguments.get("tags"), + tags=tags, importance=arguments.get("importance", 0.5), ) - return ok({"success": True, "memory_id": memory_id}) + # Auto-log episode entry (default true, opt-out with episode=false) + episode_logged = False + if arguments.get("episode", True): + client.episode( + type=mem_type, + title=title, + tags=tags, + ) + episode_logged = True + return ok( + { + "success": True, + "memory_id": memory_id, + "episode_logged": episode_logged, + } + ) elif tool_name == "memory_recall": results = client.recall(