Todoist Weekly Review MCP
The Todoist Weekly Review MCP server helps you conduct a structured weekly review of your Todoist tasks by surfacing problematic items and applying user-approved changes.
Read Capabilities
Get overdue tasks: Retrieve all overdue tasks with details like days overdue, times rescheduled, priority, project name, and due date.
Get stale tasks: Fetch tasks that haven't been touched in a configurable number of days (default: 60), surfacing neglected items.
Get projects: List all your Todoist projects, useful for checking existing project names before proposing moves.
Write Capabilities (user-approved batch via apply_changes)
Reschedule: Set a due date using
YYYY-MM-DDor natural language (e.g., "next monday").Set priority: Assign a priority from 1–4 (where 4 = highest/P1 in the UI).
Move to project: Move a task to a project by name — auto-creates the project if it doesn't exist (e.g., "Someday/Maybe").
Reword: Update a task's content/text.
Complete: Mark a task as done (advances recurring tasks to their next occurrence).
Apply a label: Add a label to a task if not already present.
Safety Guarantees
No changes are written without explicit user approval.
There is no delete action — tasks are retired via completion or project moves only.
A malformed change rejects the entire batch before anything is written.
Manage Todoist tasks, including overdue tasks, projects, and task modifications such as rescheduling, priority changes, and moving tasks between projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Todoist Weekly Review MCPrun my weekly review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Todoist Weekly Review MCP
An MCP server for doing a weekly review of your Todoist with Claude. It surfaces the three kinds of mess a task list collects — overdue pileups, stale tasks nobody has touched in months, and "hidden projects" (single tasks that are really whole projects) — with the signals that matter: days overdue, days since activity, priority, how often you've postponed each one. Claude suggests a fix per task, you approve or veto each one in chat, and only the approved changes are applied. The server decides nothing on its own and makes no LLM calls. Unofficial — not affiliated with Doist.
Design history and roadmap: PLAN.md, CONTEXT.md.
Quick start
npm install && npm run build
cp .env.example .env # paste your token from Todoist → Settings → Integrations → Developer
# (or create ~/.config/todoist-weekly-review/.env instead — see below)Open Claude Code in this folder, approve the todoist-weekly-review server when asked,
and say "run my weekly review".
Related MCP server: Todoist MCP Server Extended
Install as a Claude Code plugin
/plugin marketplace add yugmarwaha/todoist-weekly-review-mcp
/plugin install todoist-weekly-review@yugmarwaha-pluginsThen create ~/.config/todoist-weekly-review/.env containing
TODOIST_API_TOKEN=<your token> (or export that variable in your shell) and run
/todoist-weekly-review.
Tools
Tool | What it does |
| Read-only. Overdue tasks + signals. |
| Read-only. Tasks untouched for N days (default 60). |
| Read-only. Your projects. |
| The only write. Actions: |
Safety
Nothing is written without your explicit per-item approval in chat.
No delete exists. Tasks are retired by completing them or moving them to "Someday/Maybe" (created automatically if missing).
Token lives in the gitignored
.env(or~/.config/todoist-weekly-review/.env) — never logged, never committed.Read errors are loud (bad token, rate limit, etc.) — never a silent empty list.
A malformed change rejects the whole batch before anything is written.
Design notes
"Times rescheduled" comes from the task's
postponed_countfield, so the plan-gated activity log isn't needed. Omitted when Todoist doesn't return it.Priority is inverted in the API: 4 = highest (the UI's P1). Passed through as-is.
Endpoints verified against the live v1 OpenAPI spec. Two fixes vs. the draft plan: filtering is
GET /tasks/filter?query=…, and moving a task isPOST /tasks/{id}/move.Todoist quirk: a task due earlier today doesn't count as "overdue" until tomorrow.
Days overdue are computed in your Todoist account's timezone.
Recurring tasks are flagged
isRecurring— completing one advances it to the next occurrence instead of retiring it.Hidden-project detection is the client model's judgment call — the server just provides the
splitaction to break a task into sub-tasks.
Tests
npm test61 unit tests (API mocked, no live calls) plus a smoke test that boots the real server over stdio without any token.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yugmarwaha/todoist-weekly-review-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server