Lets Claude create, retrieve, update and manage Todoist tasks with natural-language commands.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add todoist-python --env TODOIST_API_TOKEN='<TODOIST_API_TOKEN>' -- uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist~/.codex/config.toml
[mcp_servers.todoist-python]
command = "uvx"
args = ["--from", "https://github.com/Johnxjp/todoist-mcp-python.git", "mcp-server-todoist"]
env = { TODOIST_API_TOKEN = "<TODOIST_API_TOKEN>" }
# codex mcp add todoist-python --env TODOIST_API_TOKEN='<TODOIST_API_TOKEN>' -- uvx --from https://github.com/Johnxjp/todoist-mcp-python.git mcp-server-todoist~/.cursor/mcp.json
{
"mcpServers": {
"todoist-python": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<TODOIST_API_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"todoist-python": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<TODOIST_API_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"todoist-python": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<TODOIST_API_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"todoist-python": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<TODOIST_API_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"todoist-python": {
"command": "uvx",
"args": [
"--from",
"https://github.com/Johnxjp/todoist-mcp-python.git",
"mcp-server-todoist"
],
"env": {
"TODOIST_API_TOKEN": "<TODOIST_API_TOKEN>"
}
}
}
}Environment variables
TODOIST_API_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.