Skip to main content
Glama
DeltaTask MCP Server

DeltaTask MCP Server

by brysontang

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

Related MCP server: Obsidian Tasks MCP Server

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

Available Tools

12 tools
create_subtasksC

Create multiple subtasks for a parent task with categories.

Inputs: task_id (required), subtasks (required). Returns: object

create_taskC

Create a new task.

Inputs: title (required), description, urgency, effort, +1 more. Returns: object

delete_taskC

Delete a task.

Inputs: task_id (required). Returns: object

finish_taskB

Mark a task as completed.

Inputs: task_id (required). Returns: object

get_all_tagsB

Get all unique tag names used in tasks.

Inputs: no named parameters. Returns: result

get_statisticsB

Get task statistics including completion rates and urgency distribution.

Inputs: no named parameters. Returns: object

get_subtasksB

Get subtasks for a given parent task ID.

Inputs: parent_id (required). Returns: result

get_task_by_idB

Get details for a specific task by ID.

Inputs: task_id (required). Returns: object

list_tasksB

List all tasks with optional tags, if you user asks for a tag, please provide it in the request.

Inputs: tags. Returns: result

search_tasksC

Search tasks by title, description, or tags.

Inputs: query (required). Returns: result

sync_tasksB

Sync tasks from Obsidian markdown into SQLite.

Inputs: no named parameters. Returns: object

update_taskC

Update an existing task.

Inputs: task_id (required), updates (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 12 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, create_task and create_subtasks handle different operations, while list_tasks and search_tasks offer complementary but non-overlapping ways to retrieve tasks. The descriptions clearly differentiate each tool's function.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as create_task, delete_task, and get_subtasks. This predictability makes it easy for an agent to understand and select the appropriate tool without confusion.

    Tool Count5/5

    With 12 tools, the server is well-scoped for task management, covering CRUD operations, subtasks, tags, statistics, and syncing. Each tool earns its place by addressing a specific need in the domain without being excessive or insufficient.

    Completeness5/5

    The tool surface provides complete CRUD and lifecycle coverage for task management, including creation, retrieval, updating, deletion, completion, subtasks, tags, search, statistics, and syncing. There are no obvious gaps that would hinder an agent's workflow.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers