Labsco
MCP SERVER

DeltaTask

by brysontang

Local task management with urgency and effort scoring, subtask splitting, and two-way Obsidian sync.

Project & Task Management
Summary
Tasks the agent can edit and you can still read in Obsidian.

Two-way sync is what stops this being another silo: the model writes to SQLite, you edit the markdown, and `sync_tasks` reconciles. The urgency-and-effort pair is more useful than a flat priority field — it gives the sorting something to work with, and it makes "split this" a natural next step when the effort estimate is large.

What it is

A task system that stores everything locally in SQLite, keeps a structured Obsidian vault in sync with it in both directions, and exposes the whole API over MCP so an assistant can create, split, search and complete tasks.

What you get
  • Task operations — `create_task`, `list_tasks`, `get_task_by_id`, `update_task`, `delete_task`, `finish_task`
  • Search and organisation — `search_tasks` by title, description or tags, `get_all_tags`
  • Decomposition — `create_subtasks` splits a task into several, `get_subtasks` reads the children of a parent
  • Reporting and sync — `get_statistics` for metrics about tasks, `sync_tasks` to pull Obsidian markdown changes back into SQLite
  • Prioritisation is built in: tasks carry urgency on a 1-5 scale and effort on a Fibonacci 1-21 scale, and are sorted by both
  • The Obsidian vault gets task files with frontmatter, tag-based views and a statistics dashboard
Requirements

Python 3.10+ and SQLite3; Obsidian is optional and only needed for the markdown side. Clone the repo, create the environment with `uv venv`, install with `uv pip install -r requirements.txt`, then add the `uv --directory <path> run server.py` command to `claude_desktop_config.json` — use the full path to `uv` if the command is not found. All data stays local. Package version 0.1.0. MIT.