TaskTracker MCP Server
A DAG-based task tracking MCP server for structured bug analysis and investigation workflows, with dependency management, priority-based execution, and automatic circular dependency detection.
README
TaskTracker MCP Server
A DAG-based task tracking server for bug analysis and investigation workflows, built as a Model Context Protocol (MCP) server.
Features
- DAG-based task dependencies — declare dependencies for structured investigation workflows
- Circular dependency detection — automatic validation prevents invalid chains
- Priority-based execution — tasks sorted by high/medium/low priority
- Atomic bulk operations — add entire investigation plans in one call
- Rich status tracking —
pending→in_progress→completed/skipped/blocked - Evidence-based resolution — every resolved task requires a finding
- Analysis gate —
conclude_analysis()blocks until all tasks are resolved
Installation
Option 1 — npx (no install needed)
npx tasktracker-mcp
Option 2 — Global install
npm install -g tasktracker-mcp
tasktracker-mcp
Option 3 — From source
git clone https://github.com/letscodekrkumar/tasktracker-mcp.git
cd tasktracker-mcp
npm install
npm run build
npm start
MCP Server Configuration
Claude Desktop
Edit claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Using npx (recommended):
{
"mcpServers": {
"tasktracker": {
"command": "npx",
"args": ["tasktracker-mcp"]
}
}
}
Using global install:
{
"mcpServers": {
"tasktracker": {
"command": "tasktracker-mcp"
}
}
}
Using local source build:
{
"mcpServers": {
"tasktracker": {
"command": "node",
"args": ["/absolute/path/to/tasktracker-mcp/dist/index.js"]
}
}
}
Claude Code (CLI)
claude mcp add tasktracker npx tasktracker-mcp
Or with a local build:
claude mcp add tasktracker node /absolute/path/to/tasktracker-mcp/dist/index.js
Verify it connected:
claude mcp list
# tasktracker: npx tasktracker-mcp - ✓ Connected
Other MCP Clients
Any client that supports the MCP stdio transport can use:
{
"command": "npx",
"args": ["tasktracker-mcp"]
}
Tools
| Tool | Purpose |
|---|---|
add_task |
Register a single task with optional dependencies |
add_tasks_bulk |
Register an entire investigation DAG atomically |
update_task |
Resolve task with evidence, update status, or rewire deps |
get_ready_tasks |
Get all executable tasks (deps resolved), priority-sorted |
get_all_tasks |
Full DAG snapshot with statuses, findings, and dependency state |
conclude_analysis |
Gate that blocks until all tasks resolved; returns summary |
reopen_task |
Reopen a blocked task when its blocker is resolved |
reset |
Clear all tasks and start fresh |
Quick Start
# 1. Define your investigation DAG
add_tasks_bulk([
{"title": "Fetch bug fields", "category": "log_check", "priority": "high"},
{"title": "Extract machine ID", "category": "log_check", "priority": "high"},
{"title": "Fetch run.log — search for TIMEOUT errors", "category": "log_check", "priority": "high", "depends_on": ["T2"]},
{"title": "Identify root cause", "category": "root_cause", "priority": "high", "depends_on": ["T1", "T2", "T3"]}
])
# 2. Execute ready tasks
tasks = get_ready_tasks() # returns T1, T2
# 3. Resolve tasks as you go
update_task("T1", status="completed", finding="Bug filed 2026-03-28. Build: 4.2.1-rc3.")
update_task("T2", status="completed", finding="Machine ID: X200-lot-7.")
# 4. T3 is now unblocked
update_task("T3", status="completed", finding="3 TIMEOUT errors at 14:22:01")
# 5. Conclude when all done
conclude_analysis()
Task Status Transitions
| Transition | Allowed | Notes |
|---|---|---|
| pending → in_progress | Yes | No dependency check |
| pending/in_progress → completed | Yes | All deps must be resolved; finding required |
| pending/in_progress → skipped | Yes | Finding required |
| pending/in_progress → blocked | Yes | Finding required |
| completed / skipped → any | No | Permanently resolved |
| blocked → any | No | Use reopen_task() to reopen |
Development
npm test # run tests
npm run test:coverage # with coverage report
npm run build # compile TypeScript
npm run dev # build + run
npm run benchmark # performance benchmarks
Project Structure
src/
index.ts # MCP server entry point
tracker.ts # DAG engine (task state, dependency resolution)
types.ts # TypeScript interfaces and validators
monitor.ts # Progress monitoring
examples.ts # Usage examples
benchmark.ts # Performance benchmarks
__tests__/ # Test suite
docs/ # Design docs, deployment guide, specs
License
MIT — see LICENSE
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.