add_episode
Add knowledge episodes to memory for AI learning, enabling the system to detect patterns from user corrections and update configuration files automatically.
Instructions
Add knowledge episode to memory
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Episode content | |
| name | Yes | Episode name | |
| source | No | Source of episode | user |
Implementation Reference
- src/mcp_standards/server.py:310-335 (handler)The core handler function that executes the add_episode tool logic: inserts the episode data into the SQLite 'episodes' table and updates the FTS search index.async def _add_episode(self, name: str, content: str, source: str = "user") -> Dict[str, Any]: """Add episode to memory""" try: with sqlite3.connect(self.db_path) as conn: cursor = conn.execute( "INSERT INTO episodes (name, content, source) VALUES (?, ?, ?)", (name, content, source) ) episode_id = cursor.lastrowid # Update search index conn.execute( "INSERT INTO episodes_search (rowid, name, content, source) VALUES (?, ?, ?, ?)", (episode_id, name, content, source) ) conn.commit() return { "success": True, "id": episode_id, "message": f"Episode '{name}' added successfully" } except Exception as e: return {"success": False, "error": str(e)}
- src/mcp_standards/server.py:134-142 (schema)JSON schema defining the input parameters for the add_episode tool, including name, content (required), and optional source.inputSchema={ "type": "object", "properties": { "name": {"type": "string", "description": "Episode name"}, "content": {"type": "string", "description": "Episode content"}, "source": {"type": "string", "description": "Source of episode", "default": "user"}, }, "required": ["name", "content"], },
- src/mcp_standards/server.py:131-143 (registration)Registration of the add_episode tool in the list_tools() handler, defining name, description, and schema.Tool( name="add_episode", description="Add knowledge episode to memory", inputSchema={ "type": "object", "properties": { "name": {"type": "string", "description": "Episode name"}, "content": {"type": "string", "description": "Episode content"}, "source": {"type": "string", "description": "Source of episode", "default": "user"}, }, "required": ["name", "content"], }, ),
- src/mcp_standards/server.py:245-251 (registration)Dispatch logic in the call_tool() handler that routes 'add_episode' calls to the _add_episode implementation.if name == "add_episode": result = await self._add_episode( arguments["name"], arguments["content"], arguments.get("source", "user"), ) return [TextContent(type="text", text=json.dumps(result))]
- Classification of add_episode as SIMPLE complexity task for model routing and cost optimization in enhanced server."add_episode": TaskComplexity.SIMPLE, "search_episodes": TaskComplexity.SIMPLE,