todo_save
Save a snapshot of todo items with their status and context to persist task progress across development sessions.
Instructions
Save a new todo snapshot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| todos | Yes | List of todo items | |
| project_path | No | Project path (defaults to current directory) | |
| context | No | Description of what you're working on | |
| session_context_id | No | Link to existing context ID |
Implementation Reference
- src/mcp_server/server.py:489-507 (handler)Handler logic for todo_save tool: parses input arguments, creates TodoListSnapshot using models.Todo and models.TodoListSnapshot, saves it via storage, and returns confirmation.if name == "todo_save": from models import Todo, TodoListSnapshot todos_data = arguments["todos"] todos = [Todo(**todo) for todo in todos_data] project_path = arguments.get("project_path", os.getcwd()) context = arguments.get("context") session_context_id = arguments.get("session_context_id") snapshot = TodoListSnapshot( project_path=project_path, todos=todos, context=context, session_context_id=session_context_id, is_active=True, ) self.storage.save_todo_snapshot(snapshot) return [TextContent(type="text", text=f"✓ Todo snapshot saved (ID: {snapshot.id})")]
- src/mcp_server/server.py:250-284 (schema)Input schema definition for the todo_save tool, specifying required 'todos' array and optional fields.Tool( name="todo_save", description="Save a new todo snapshot", inputSchema={ "type": "object", "properties": { "todos": { "type": "array", "items": { "type": "object", "properties": { "content": {"type": "string"}, "status": {"type": "string", "enum": ["pending", "in_progress", "completed"]}, "activeForm": {"type": "string"}, }, "required": ["content", "status", "activeForm"], }, "description": "List of todo items", }, "project_path": { "type": "string", "description": "Project path (defaults to current directory)", }, "context": { "type": "string", "description": "Description of what you're working on", }, "session_context_id": { "type": "string", "description": "Link to existing context ID", }, }, "required": ["todos"], }, ),
- src/mcp_server/server.py:38-38 (registration)Registers the list_tools method which includes the todo_save Tool definition.self.server.list_tools()(self.list_tools) # type: ignore[no-untyped-call]