Skip to main content
Glama

TaskPilot

A local-first desktop task & calendar manager built to treat an AI agent as a first-class operator — not a chat bolted onto a to-do list.

TaskPilot runs entirely on your machine. Your tasks, calendar, and history live in a local SQLite database; an AI agent can read and act on them through a real API and a permissions model — the same way you can. It's what a task manager looks like when you design for a human and an agent working the same queue.

Why it exists

Most "AI to-do apps" are a chat window that returns text. TaskPilot inverts that: the agent gets first-class, permissioned access to the same surfaces you use — create tasks, derive sub-tasks, execute agent-eligible work, manage your calendar — through four interfaces that all hit the same core:

  • MCP server — 13 tools, so any MCP-aware client (Claude, etc.) can operate TaskPilot directly.

  • HTTP API — a local REST API on :7847 with bearer auth.

  • File I/O protocol — a watched io/ directory, so agents can work even when the app is closed.

  • Desktop GUI — an Electron app with a keyboard-first, review-gated workflow.

Related MCP server: Todoist MCP Server

Features

  • Local-first & private — SQLite on disk, no cloud dependency, no account required.

  • Agent runner with a permissions model — every agent action is scoped by an explicit permission profile (allowed tools, workspace, network, denied globs). Nothing runs unsandboxed.

  • Derive → review → execute loop — break a task into sub-tasks, approve them, and let an agent execute the agent-eligible ones. Irreversible actions are gated behind human review.

  • Calendar + availability — events, free/busy, and scheduling that tasks can hook into.

  • Goals & projects — group work into initiatives and track progress.

  • Integrations — GitHub, Gmail (draft-only by default), Slack, Notion (one-way mirror), calendar.

  • Full-text search, cost tracking, decision logs, phase pipelines for content/dev work.

Stack

TypeScript (strict) · Electron · React + Tailwind · better-sqlite3 + Drizzle · Model Context Protocol SDK · Vite · Vitest

Getting started

npm install
npm run dev        # Vite + Electron in dev
# or build and run:
npm run build && ELECTRON_PROD=1 npx electron .

The HTTP API comes up on http://localhost:7847; MCP server via npm run mcp.

Architecture

┌─────────────┐   ┌──────────────┐   ┌─────────────┐   ┌──────────────┐
│  Electron   │   │  HTTP API    │   │  MCP server │   │  File I/O    │
│  GUI        │   │  :7847       │   │  (13 tools) │   │  io/ watcher │
└──────┬──────┘   └──────┬───────┘   └──────┬──────┘   └──────┬───────┘
       └─────────────────┴──────────────────┴─────────────────┘
                                 │
                    ┌────────────▼────────────┐
                    │  Core: tasks, calendar,  │
                    │  goals, permissions,     │
                    │  agent runner (SQLite)   │
                    └──────────────────────────┘

License

MIT


Built by Jack Gierlich. TaskPilot is a working tool I use daily; it's shared as an example of local-first, agent-operable software design.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers