DeltaTask logo

DeltaTask

by brysontang

DeltaTask is a powerful, locally-hosted task management application with Obsidian integration and a Model Context Protocol (MCP) server. It allows users to efficiently manage tasks with features like prioritization, decomposition, and tagging.

View on GitHub

Last updated: N/A

DeltaTask - Advanced Task Management System

A powerful, locally-hosted task management application with Obsidian integration and a Model Context Protocol (MCP) server.

Features

  • Smart Task Management: Create tasks with urgency levels and effort estimates
  • Prioritization Engine: Automatically sorts tasks by urgency and effort
  • Task Decomposition: Split larger tasks into manageable subtasks
  • Tagging System: Organize tasks with custom tags
  • Local Storage: All data stored locally in SQLite database
  • Obsidian Integration: Bi-directional sync with Obsidian markdown files
  • MCP Server: Full API access through Model Context Protocol

Technical Details

Data Model

  • Tasks: Core task entity with properties:
    • Title and description
    • Urgency (1-5 scale, 5 being highest)
    • Effort (1-21 scale, following Fibonacci sequence)
    • Completion status
    • Parent-child relationships for subtasks
    • Tags for categorization

Database Schema

The application uses SQLite with the following tables:

  • todos: Stores all task items and their properties
  • tags: Stores unique tag names
  • todo_tags: Junction table for many-to-many relationship between tasks and tags

Obsidian Integration

DeltaTask creates and maintains a structured Obsidian vault:

  • Task files with frontmatter metadata
  • Tag-based views for filtering tasks
  • Statistics dashboard
  • Bi-directional sync between Obsidian markdown and SQLite database

MCP API Endpoints

The MCP server exposes the following operations:

  • get_task_by_id: Get a specific task by ID
  • search_tasks: Find tasks by title, description, or tags
  • create_task: Create a new task
  • update_task: Update a task's properties
  • delete_task: Remove a task
  • sync_tasks: Sync tasks from Obsidian markdown into SQLite
  • list_tasks: List all tasks
  • get_statistics: Retrieve metrics about tasks
  • create_subtasks: Split a task into multiple subtasks
  • get_all_tags: Get all unique tag names
  • get_subtasks: Get subtasks for a given parent task
  • finish_task: Mark a task as completed

Getting Started

Prerequisites

  • Python 3.10+
  • SQLite3
  • Obsidian (optional, for markdown integration)

Installation

  1. Clone this repository

  2. Set up the Python environment using uv:

    # Create and activate the virtual environment
    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
    # Install dependencies
    uv pip install -r requirements.txt
    

Running the MCP Server

The DeltaTask MCP server can be used with Claude for Desktop:

  1. Configure Claude for Desktop:

    • Open or create ~/Library/Application Support/Claude/claude_desktop_config.json
    • Add the DeltaTask server configuration:
    {
      "mcpServers": {
        "deltatask": {
          "command": "uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/DeltaTask",
            "run",
            "server.py"
          ]
        }
      }
    }
    
    • Restart Claude for Desktop

If you run into issues or want more details, check out the Docs for the MCP.

For instance from the docs:

You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS/Linux or where uv on Windows.

  1. Use the DeltaTask tools in Claude for Desktop by clicking the hammer icon

Model Context Protocol (MCP)

This application implements a Model Context Protocol approach for task management:

  1. Structured Data Model: Clearly defined schema for tasks with relationships
  2. Priority Calculation: Intelligent sorting based on multiple factors
  3. Hierarchical Organization: Parent-child relationships for task decomposition
  4. Tagging System: Flexible categorization for better context
  5. Statistics and Insights: Data aggregation for understanding task patterns
  6. Obsidian Integration: Markdown-based visualization and editing

License

MIT License