Skip to main content
Glama
taylorleese

mcp-toolz

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
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

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