A Note to the Reader
When I first started using Todo MCP, I was not sure if it was working correctly. Tool calls scrolled by in my terminal, but I did not know what patterns to look for or what might indicate a problem.
This guide shows you what effective usage looks like - the visible patterns in your terminal that tell you the system is working well. It also shows you warning signs that something might be off. Think of it as a field guide: here is what healthy looks like, and here is when to be concerned.
The Visible Workflow
What You Will See in Your Terminal
When Claude uses Todo MCP, you will see tool calls appear in your terminal. Each call looks something like:
● mcp__todo-mcp__todo_create(content: "Implement user logout", estimate_minutes: 30)
⎿ Task created: «#1» - Implement user logout (30m) 🟡medium The key elements:
●indicates a tool being calledmcp__todo-mcp__prefix identifies Todo MCP operations⎿shows the tool's response«#1»is the permanent task ID that never changes
Example Session: Building a Feature
Let us walk through what you would see when asking Claude to implement a multi-part feature.
Phase 1: Task Creation
You say: "Add user authentication with login, logout, and session management"
What you see:
● mcp__todo-mcp__todo_create(content: "Implement login functionality", estimate_minutes: 60, priority: "high")
⎿ Task created: «#1» - Implement login functionality (60m) 🔴high
● mcp__todo-mcp__todo_create(content: "Implement logout functionality", estimate_minutes: 30, priority: "high")
⎿ Task created: «#2» - Implement logout functionality (30m) 🔴high
● mcp__todo-mcp__todo_create(content: "Add session management", estimate_minutes: 45, priority: "high")
⎿ Task created: «#3» - Add session management (45m) 🔴high Claude is breaking down your request into trackable tasks with time estimates. Each task gets a permanent ID that persists across sessions.
Phase 2: Starting Work
● mcp__todo-mcp__todo_start(task_id: "#1")
⎿ Started task «#1» - Implement login functionality
Status: in_progress
Time tracking: started Claude is formally beginning work on a specific task. Only one task can be "in progress" at a time - this is enforced by the system.
Phase 3: Step-by-Step Breakdown
After starting an MCP task, you will see Claude break it into steps using TodoWrite:
● TodoWrite([
{content: "Create login form component", status: "in_progress"},
{content: "Add form validation", status: "pending"},
{content: "Connect to auth API", status: "pending"},
{content: "Handle login response", status: "pending"},
{content: "Store auth token", status: "pending"}
]) As Claude works, you will see steps completing:
● TodoWrite([
{content: "Create login form component", status: "completed"},
{content: "Add form validation", status: "completed"},
{content: "Connect to auth API", status: "in_progress"},
{content: "Handle login response", status: "pending"},
{content: "Store auth token", status: "pending"}
]) Key Insight: The TodoWrite steps are a breakdown of the current MCP task only - not a separate tracking system. When the MCP task completes, TodoWrite is cleared.
Phase 4: Work Being Done
Between TodoWrite updates, you will see normal Claude operations:
● Read(file_path: "/src/components/LoginForm.tsx")
⎿ [file contents...]
● Edit(file_path: "/src/components/LoginForm.tsx", old_string: "...", new_string: "...")
⎿ File updated successfully
● Bash(command: "npm test -- --grep Login")
⎿ PASS src/components/LoginForm.test.tsx
✓ renders login form (23ms)
✓ validates email format (12ms) Phase 5: Task Completion
When all steps are done:
● TodoWrite([])
⎿ Todo list cleared
● mcp__todo-mcp__todo_complete(task_id: "#1")
⎿ Completed task «#1» - Implement login functionality
Duration: 47 minutes
Status: completed TodoWrite is cleared because it only tracks the current task's steps. The MCP task is formally completed with time recorded.
Phase 6: Context Preservation
At significant points, you will see Claude save important learnings:
● mcp__todo-mcp__context_set(key: "lesson_auth_api", value: "Auth API requires refresh token in header for /me endpoint")
⎿ Context saved: lesson_auth_api
● mcp__todo-mcp__context_set(key: "workaround_cors", value: "Dev server needs proxy config for auth endpoints")
⎿ Context saved: workaround_cors Claude is preserving knowledge that will survive session restarts and help future work. This is how your AI assistant builds institutional knowledge about your codebase.
Phase 7: Moving to Next Task
● mcp__todo-mcp__todo_list()
⎿ 1. ● 🔴 Implement login functionality (60m) «#1» [COMPLETED]
2. ○ 🔴 Implement logout functionality (30m) «#2»
3. ○ 🔴 Add session management (45m) «#3»
● mcp__todo-mcp__todo_start(task_id: "#2")
⎿ Started task «#2» - Implement logout functionality Phase 8: Archiving Completed Work
After several tasks complete:
● mcp__todo-mcp__todo_archive()
⎿ Archived 3 completed tasks to: tasks/exports/archive_20250102_143022.md
Active tasks remaining: 0 Completed tasks are exported to markdown for records, then cleared from the active list. This keeps your task list clean and focused.
Session Recovery: Context Resume
When starting a new session or after an interruption, you will see:
● mcp__todo-mcp__context_resume()
⎿ === Context Resume ===
Current Tasks:
◐ «#5» Add password reset flow (in_progress)
Recent Context (last 24h):
lesson_auth_api: "Auth API requires refresh token in header for /me endpoint"
workaround_cors: "Dev server needs proxy config for auth endpoints"
task_#5_steps: "✓Step1|✓Step2|→Step3|Step4"
Recommendation: Resume task «#5» - currently at step 3 Claude knows exactly where it left off, including which task was in progress, what steps were completed, lessons learned in previous sessions, and what to do next. This is the power of persistent memory.
Signs of Effective Usage
You are seeing mastery-level usage when:
- Task IDs are used -
task_id: "#49"instead ofposition_id: 1. Permanent IDs are more reliable. - One task at a time - Only one
in_progresstask visible at any moment. - TodoWrite matches MCP - Steps relate to current MCP task only, not multiple tasks.
- Context is preserved - Regular
context_setcalls with meaningful keys after discoveries. - Archive happens -
todo_archivecalled after several task completions. - Recovery works -
context_resumecalled at session start.
The Healthy Rhythm
Effective Todo MCP usage follows this pattern:
Session Start:
context_resume → see where we are
For each task:
todo_start → begin work
TodoWrite → break into steps
[actual work] → reading, editing, testing
TodoWrite → update progress
todo_complete → finish task
context_set → preserve learnings (if significant)
Periodically:
todo_archive → clean up completed tasks Warning Signs: Ineffective Usage
Watch for these patterns that indicate something is wrong:
- Skipping start -
todo_completewithout priortodo_startwill cause errors. - Position confusion - Repeatedly using
position_idthat keeps changing as tasks reorder. - TodoWrite overload - Multiple MCP task IDs tracked in TodoWrite instead of just current task steps.
- No context saves - Long sessions without any
context_setcalls means knowledge is being lost. - No archiving - 10+ completed tasks sitting in the list cluttering the view.
- No recovery - Session starts without
context_resumemeans previous work might be forgotten.
Pro Tip: If you see these warning signs, Claude may not have the mastery patterns loaded. Check that your Todo MCP installation includes the mastery documentation.
Quick Reference
Tool Calls You Should See Regularly
context_resume- At session start for recoverytodo_create- When new work is requested for planningtodo_start- Before any work begins to start trackingtodo_complete- After work is done to end trackingcontext_set- After discoveries to preserve knowledgetodo_archive- After completions for cleanup
STF (Standard Task Format) Symbols
Status indicators:
○created◐in_progress⊘paused●completed
Priority indicators:
⚡critical🔴high🟡medium🟢low🔵backlog
Task ID Format
«#49»- Permanent ID that never changes, use this for reliabilityPosition 1, 2, 3- Ephemeral positions that change when list reorders
Summary
When Todo MCP is being used effectively, you will see a clear pattern:
- Tasks created with estimates and priorities
- One task started at a time
- TodoWrite steps for the current task only
- Actual work including file operations and tests
- Task completed with time recorded
- Context saved for important learnings
- Archive to clean up completed work
- Resume to recover state on new sessions
This rhythm ensures your work is tracked, recoverable, and your knowledge compounds across sessions rather than being lost to context window limitations. With Todo MCP, your AI coding assistant builds genuine institutional memory about your project.