todoist_get_task_filter_rulesLABSCO SUMMARY
It hands the assistant the manual before asking it to write a query.
Todoist's filter language is compact and easy to get subtly wrong — today & p1 and 7 days & @waiting are not things a model reliably invents. Shipping the rules and examples as a callable tool means the assistant can look them up mid-task, which is a better answer than either hardcoding a few patterns or hoping. The rest is a clean, complete task and project surface; being a Go binary, it also drops into a container or a laptop with nothing else installed.
What it is
A Todoist MCP server written in Go, distributed as a single binary or a container image. It covers task and project management, and it ships one unusual tool: a reference of Todoist's own filter rules and examples, meant to be read before the assistant tries to turn a plain-language request into filter syntax.
What you get
- Todoist's filter rules and worked examples, so a natural-language request can be translated into real filter syntax instead of guessed at —
todoist_get_task_filter_rules - Tasks listed, filtered by project id or by a Todoist filter query —
todoist_get_tasks - One task in detail by id —
todoist_get_task - A task created with content, description, project, parent task, order, priority from 1 to 4, and a due date given as natural language, a date or an RFC3339 timestamp —
todoist_create_task - An existing task changed, including its content, priority and due date —
todoist_update_task - A task marked complete —
todoist_close_task - A task deleted —
todoist_delete_task - Projects listed, or one project read in detail —
todoist_get_projects,todoist_get_project
Requirements
A Todoist API token, passed as TODOIST_API_TOKEN or with the --token flag. No runtime to install if you take a prebuilt binary from the releases page (Linux, macOS and Windows builds) or the container image ghcr.io/naotama2002/todoist-go-mcp-server; building from source needs Go 1.21 or later and make build. --mode stdio is what MCP clients use; --mode http with --addr :8080 runs it as an HTTP server instead. If a client cannot reach the container, --net=host is the documented fix.
Setup effort
One command plus a key — docker pull ghcr.io/naotama2002/todoist-go-mcp-server:latest, then supply credentials
USE CASES
Asking for tasks in plain language
Have the assistant read the filter rules, build the right query — today's high-priority items, things due in seven days with a label — and return the matching tasks.
Capturing a task while you are talking about it
Create it with a due date phrased naturally, a priority and a project, without switching apps.
Clearing what you finished
Find the task, close it, and move on — or delete the ones that stopped being relevant.
Reshuffling priorities after a change of plan
List the project's tasks, then update priorities and due dates in place.
9 tools
Listed in project docs. Your client may show a different list.
todoist_get_taskstodoist_get_tasktodoist_create_tasktodoist_update_tasktodoist_close_tasktodoist_delete_tasktodoist_get_projectstodoist_get_projectBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- Go 1.21 or later, only to build from source (not for the Docker image or a release binary)
- TODOIST_API_TOKEN in your environment
Where it runs
All 8 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
Build from source
git clone https://github.com/naotama2002/todoist-go-mcp-server.git && cd todoist-go-mcp-server
go mod download
make build
export TODOIST_API_TOKEN=<YOUR_TODOIST_API_TOKEN>Add the mcpServers block to your client config and restart it
docker
docker pull ghcr.io/naotama2002/todoist-go-mcp-server:latestMCP Clients
Claude Desktop — Docker, Cline — Docker, Other MCP clients — Docker
{
"mcpServers": {
"todoist": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"TODOIST_API_TOKEN=<YOUR_TODOIST_API_TOKEN>",
"ghcr.io/naotama2002/todoist-go-mcp-server:latest",
"--mode",
"stdio"
]
}
}
}Claude Desktop — binary, Cline — binary, Other MCP clients — binary
{
"mcpServers": {
"todoist": {
"command": "<YOUR_PATH_TO_TODOIST_MCP_SERVER>",
"args": [
"--mode",
"stdio"
],
"env": {
"TODOIST_API_TOKEN": "<YOUR_TODOIST_API_TOKEN>"
}
}
}
}VS Code — binary
{
"servers": {
"todoist": {
"command": "<YOUR_PATH_TO_TODOIST_MCP_SERVER>",
"args": [
"--mode",
"stdio"
],
"env": {
"TODOIST_API_TOKEN": "<YOUR_TODOIST_API_TOKEN>"
}
}
}
}VS Code — Docker
{
"servers": {
"todoist": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"TODOIST_API_TOKEN=<YOUR_TODOIST_API_TOKEN>",
"ghcr.io/naotama2002/todoist-go-mcp-server:latest",
"--mode",
"stdio"
]
}
}
}