@taskinger/mcp
An MCP server for Taskinger: work in one workbook — its tasks and its notes — from Claude Desktop, Claude Code, Cursor or any other MCP client.
Tasks say what to do. Notes are where an assistant writes down what it learned, so the next session does not work it out again.
Setup
Mint a key in the app: Workbook settings → External API (Team plan). Give it the write scope if the assistant should create and edit things rather than only read them.
Claude Code:
claude mcp add taskinger -e TASKINGER_API_KEY=zad_… -e TASKINGER_WORKBOOK=… -- npx -y @taskinger/mcp
Claude Desktop (claude_desktop_config.json) or Cursor (mcp.json):
{
"mcpServers": {
"taskinger": {
"command": "npx",
"args": ["-y", "@taskinger/mcp"],
"env": {
"TASKINGER_API_KEY": "zad_…",
"TASKINGER_WORKBOOK": "the workbook id, as in https://taskinger.app/w/<id>"
}
}
}
}
| Variable | |
|---|---|
TASKINGER_API_KEY |
zad_<keyId>.<secret>, from Workbook settings → External API |
TASKINGER_WORKBOOK |
the workbook id from its address |
TASKINGER_API_BASE |
optional; defaults to https://taskinger.app/api |
Tools
Tasks — list_tasks, get_task, create_task, update_task,
complete_task.
Notes — list_notes, get_note, create_note, update_note. A note is
written prose; a list is ticked off. A list's lines are edited by name (add,
tick by line id, remove by line id), so an edit here never overwrites a line
somebody changed in the app meanwhile.
Lookups — get_workbook (including the house rules on task intake),
list_members, list_projects, list_labels.
Scope
One workbook per server process, named by the environment, so an assistant only ever sees and touches what the key was minted for — a key cannot reach another workbook. A read-only key gives a read-only assistant. Everything the server writes goes through the same API the app's own integrations use, so it lands in the activity log, pushes and webhooks like any other change, and the workbook's house rules are enforced.
Full API reference: taskinger.app/openapi.yaml.
License
MIT