Install
$ agentstack add mcp-mikemc-todoist-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Todoist MCP Server (Python)
A Todoist MCP server written in Python, using the Todoist Python API. I first created the server by using Claude to translate this TypeScript Todoist MCP server to Python. I'm gradually changing and adding functionality to suit my workflow as I experiment with using Claude to help with task management.
Installation
Prerequisites
- Python 3.10+
- UV package manager (installation guide)
- Todoist API token
Getting a Todoist API Token
- Log in to your Todoist account
- Go to Settings → Integrations
- Find your API token under "Developer"
Configuration with Claude Desktop
Add the MCP server to your claudedesktopconfig.json,
{
"mcpServers": {
"todoist": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/mikemc/todoist-mcp-server",
"todoist-mcp"
],
"env": {
"TODOIST_API_TOKEN": "your_todoist_api_token"
}
}
}
}
Or, to run from a local copy,
{
"mcpServers": {
"todoist": {
"command": "uvx",
"args": [
"--from",
"/absolute/path/to/todoist-mcp-server",
"todoist-mcp"
],
"env": {
"TODOIST_API_TOKEN": "your_todoist_api_token"
}
}
}
}
Configuration with Goose (and a local LLM)
You can use Goose and a local LLM provider: LM Studio or Ollama.
Configure the LLM you want Goose to use:
$ goose configure
This command will ask you whether you want to use a local model or a cloud hosted model. Ensure your model provider is running your model first. Specify the address of the model API, and the model name. Many locally deployed LLMs use a format compatible with Ollama, so for both LM Studio or Ollama LLMs, select Ollama.
◇ Which model provider should we use?
│ Ollama
│
◇ Provider Ollama requires OLLAMA_HOST, please enter a value
│ localhost:1234
│
◇ Model fetch complete
│
◇ Enter a model from that provider:
│ phi-4
Then run the same command again to configure the Todoist MCP:
$ goose configure
This time it will ask about extensions:
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ todoist
│
◇ What command should be run?
│ uvx git+https://github.com/mikemc/todoist-mcp-server
│
◇ Please set the timeout for this tool (in secs):
│ 60
│
◇ Would you like to add a description?
│ No
│
◇ Would you like to add environment variables?
│ Yes
│
◇ Environment variable name:
│ TODOIST_API_TOKEN
│
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
│
◇ Add another environment variable?
│ No
│
└ Added todoist extension
Now you can run goose and ask it questions about your todo list, or make changes.
$ goose
starting session | provider: ollama model: phi-4
logging to ******
working directory: ******
Goose is running! Enter your instructions, or try asking what goose can do.
( O)> how many todo list tasks have I completed in the last 7 days
─── todoist_get_tasks | todoist ──────────────────────────
filter: last 7 days completed
...
*Ideally* You have been very busy this week. You have completed 15 tasks! Listed below are the tasks.
...
Available Tools
To see currently available tools, run
# With GNU grep installed as ggrep (as with `brew install grep` on Mac)
ggrep -Po '(?<=^mcp.tool\(\)\()([^)]+)' src/main.py
As of 2025-05-26,
- Projects
todoist_get_projectstodoist_get_projecttodoist_add_projecttodoist_update_projecttodoist_delete_project- Sections
todoist_get_sectionstodoist_get_sectiontodoist_add_sectiontodoist_update_sectiontodoist_delete_section- Tasks
todoist_get_tasktodoist_get_taskstodoist_filter_taskstodoist_add_tasktodoist_update_tasktodoist_complete_tasktodoist_uncomplete_tasktodoist_move_tasktodoist_delete_task- Comments
todoist_get_commenttodoist_get_commentstodoist_add_commenttodoist_update_commenttodoist_delete_comment
License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mikemc
- Source: mikemc/todoist-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.