Skip to main content
Glama

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

NameRequiredDescriptionDefault
todosYesList of todo items
project_pathNoProject path (defaults to current directory)
contextNoDescription of what you're working on
session_context_idNoLink to existing context ID

Input Schema (JSON Schema)

{ "properties": { "context": { "description": "Description of what you're working on", "type": "string" }, "project_path": { "description": "Project path (defaults to current directory)", "type": "string" }, "session_context_id": { "description": "Link to existing context ID", "type": "string" }, "todos": { "description": "List of todo items", "items": { "properties": { "activeForm": { "type": "string" }, "content": { "type": "string" }, "status": { "enum": [ "pending", "in_progress", "completed" ], "type": "string" } }, "required": [ "content", "status", "activeForm" ], "type": "object" }, "type": "array" } }, "required": [ "todos" ], "type": "object" }

Implementation Reference

  • 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})")]
  • 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"], }, ),
  • Registers the list_tools method which includes the todo_save Tool definition.
    self.server.list_tools()(self.list_tools) # type: ignore[no-untyped-call]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taylorleese/mcp-toolz'

If you have feedback or need assistance with the MCP directory API, please join our Discord server