AI assistants

Docket with AI assistants

Docket ships one connector, docket-mcp, that lets AI assistants read and change your tasks. It speaks the Model Context Protocol (MCP), so any MCP-capable assistant can use it, and it also offers the same tools as a plain REST API with an OpenAPI description for assistants that use "actions" instead.

Nothing the connector does can delete. None of its 26 tools delete, and the Vikunja token the setup scripts give it has no delete, sharing or team rights either. Deleting and sharing stay in the Docket apps, where you can undo them.

#Pick your setup

You useHow it connectsGuide
Claude Desktop, Claude CodeLocal (stdio), on the same computer as your Docket settingsClaude
claude.ai on the web or phoneRemote MCP over HTTPS, OAuth sign-inClaude
ChatGPTRemote MCP connector (developer mode) or a custom GPT with actionsChatGPT
Gemini CLI, Copilot, Cursor, VS Code, other MCP clientsLocal (stdio) or remote MCPOther MCP clients
LM Studio, Ollama, Jan, Open WebUI (local models)Local (stdio), fully offlineLocal models
Your own scripts or agentsREST, OpenAPI, MCP or the docket CLIDeveloper API

Using Claude? Add the Docket skill too: it teaches Claude how to use these tools well.

Note

This page is about assistants working on your tasks from their apps. To plan tasks with AI from inside the Docket apps (the /ai command), see AI planning in the app.

#The two ways to run the connector

Local (stdio). The assistant starts docket-mcp itself and talks to it over standard input/output. Nothing listens on the network. Use this for desktop apps on the computer where Docket is set up.

  • Windows: the installer (or deploy\windows\setup-tokens.ps1) puts it at %LOCALAPPDATA%\Programs\Docket\mcp\docket-mcp.exe and connects it for you. It reads your Docket settings.
  • macOS and Linux: download docket-mcp for your platform from the releases, then give it your Vikunja address and a token with environment variables (below).

Remote (HTTPS). docket-mcp --http serves MCP at /mcp, REST at /api/tools/{name}, an OpenAPI description at /openapi.json, and an OAuth sign-in at /oauth/*. Web and phone assistants (claude.ai, ChatGPT) need this, because they connect from the internet. The Docker server runs it behind HTTPS for you.

Remote clients prove who they are in one of two ways, both tied to your connector key (DOCKET_MCP_KEY):

  • Bearer key: send Authorization: Bearer <connector key>. For clients that let you set headers.
  • OAuth: for clients that only do OAuth (claude.ai, ChatGPT). They register themselves, open Docket's sign-in page, you type the connector key once, and they get tokens that refresh on their own. The sign-in page shows which address access will go to; only approve a connection you started yourself. Changing the key revokes every OAuth sign-in.

#Settings (environment variables)

VariableUsed byMeaning
DOCKET_VIKUNJA_URLbothYour Vikunja address, e.g. http://localhost:3456 or https://tasks.example.com
DOCKET_VIKUNJA_TOKENbothA Vikunja API token. Prefer one without delete rights (docket-mcp setup makes one)
DOCKET_VIKUNJA_TOKEN_FILEbothRead the token from this file instead (default: DOCKET_DATA_DIR/vikunja-token)
DOCKET_DEFAULT_LISTbothList id new tasks go to when none is named
DOCKET_DATA_DIRbothWhere the connector keeps state.json, oauth.json and the token file (default ./data)
DOCKET_MCP_KEYremoteThe connector key, 24+ characters (openssl rand -hex 32)
DOCKET_PUBLIC_URLremoteThe public HTTPS address, e.g. https://tasks.example.com, used in OAuth metadata
DOCKET_MCP_URLSremoteListen address (default http://127.0.0.1:8080; the Docker image uses 0.0.0.0:8080)
DOCKET_OAUTH_REDIRECT_HOSTSremoteHosts OAuth may send you back to. Default: claude.ai, claude.com, chatgpt.com, chat.openai.com, platform.openai.com (localhost is always allowed). Comma-separated; * allows any https host
TZbothTime zone for "today", due dates and reminders

On Windows, when the Vikunja variables aren't set, the connector uses the Docket settings file instead (%LOCALAPPDATA%\Docket\settings.json, protected with Windows DPAPI).

To make a token without the Docket app: docket-mcp setup asks for your Vikunja username and password once, creates a token called "Docket AI connector" with no delete rights, and saves it to the token file. Revoke it any time in Vikunja under Settings > API Tokens.

#Tools

ToolWhat it does
list_tasksTasks by view: today, upcoming, overdue, open, done, my_day, important, planned, all, completed; optional list and search
get_taskOne task in full: steps, notes, reminders, repeat, categories, files, board column, comments
add_taskAdd a task; the title can carry quick-add words (tomorrow, fri, in 3 days, 20/11, !1–!5)
update_taskChange title, due date, priority or list
complete_taskComplete or reopen tasks; repeating tasks move to their next date
move_taskMove to a Kanban column (Done completes it)
add_commentComment on a task
add_label / set_categoriesAdd one category, or replace them all
list_projects / get_boardLists with counts and columns; one list's board
create_project / create_listNew list, optionally inside a group
my_day / set_my_dayMy Day (with suggestions); add or remove tasks
set_importantStar or unstar
stepsAdd, complete, uncomplete or remove checklist steps
set_repeatdaily, weekdays, weekly, monthly, yearly, "every N days/weeks/months/years", none
set_reminderReplace reminders (tomorrow 9:00, in 2 hours, fri 5pm, ISO times)
set_notesReplace the notes, keeping steps
add_subtask / link_subtaskAdd a subtask, or put an existing task under another (several parents allowed)
task_treeA list nested, with subtasks under their parents
assign / peopleAssign a task to someone who can see its list; list the people you work with
overviewDashboard numbers: open, due today, overdue, next 7 days, done this week, by priority and list

Every result is readable text with task ids written as #123, which keeps small local models on track too. Every argument of every tool is in the tool reference; the full schema is also in /openapi.json on a running connector, or tools/list over MCP.

#Prompts that work well

  • "What's on my plate today? Put the three most urgent in My Day."
  • "Add 'Send the Q3 invoice' to Work, due Friday, high priority, remind me Thursday at 4pm."
  • "Break #42 into steps and estimate each."
  • "Everything overdue in Home: move it to next week."
  • "Make 'Water the plants' repeat every 3 days."