LabscoMCP early access ↗
foxintheloopMCP SERVER

UpTier

A desktop to-do app whose SQLite database Claude can read and write directly — prioritise, plan the day, and track goals.

by foxintheloop ↗Project & Task ManagementCommunity

LABSCO SUMMARY

Shared SQLite is what makes the assistant a real participant.

The design decision that matters is WAL mode on one database: the assistant is not syncing with the app through an API, it is writing the same rows, so a task created in conversation is on the board immediately and vice versa. That is also the source of the setup friction the README is candid about — the native SQLite binding has to be compiled twice, once for Electron's Node and once for the one your MCP client runs, which is why the deploy step exists.

What it is

A desktop task manager with an MCP server alongside it, both reading the same SQLite database in WAL mode so the app and the assistant can work at once without conflicting. The app is an Electron and React desktop client; the MCP server is a separate Node process your MCP client spawns.

What you get

  • List management — create_list, get_lists with task counts, update_list, delete_list, reorder_lists
  • Task operations: create_task with optional attributes, get_tasks with filters, update_task, complete_task, delete_task, bulk_create_tasks for many at once, and move_task between lists
  • Prioritisation as a first-class job rather than a field — prioritize_list analyses tasks and returns guidance, bulk_set_priorities applies tiers across many tasks, get_prioritization_summary gives the overview, and suggest_next_task recommends what to work on now
  • Goals linked to the work: create_goal, get_goals with progress, update_goal, link_tasks_to_goal, get_goal_progress
  • A day planner the assistant can drive — get_day_schedule returns scheduled tasks, unscheduled tasks and free time blocks for a date, schedule_tasks places them on the hourly grid, unschedule_task takes one back off
  • Subtasks and tags: add_subtask, update_subtask, create_tag, get_tags, add_tag_to_task
  • Five prioritisation strategies to ask for by name — Balanced, Urgent First, Quick Wins, High Impact and Eisenhower — resolving into three tiers: Do Now, Do Soon, Backlog
  • Multiple database profiles, so work and personal keep separate lists, tasks and settings and you switch between them in the sidebar

Requirements

No account and no key — data is local, in %APPDATA%\.uptier\tasks.db on Windows or ~/.uptier/tasks.db elsewhere. A prebuilt Windows installer is available and needs no build. From source you need Node.js 20 or newer and pnpm 8 or newer, then pnpm install, an approve-builds step for the native modules, and a rebuild of better-sqlite3 for Electron's bundled runtime. The MCP server is deployed separately with pnpm --filter @uptier/mcp-server deploy, which installs it under ~/.uptier/mcp-server/ with native modules compiled for your system Node — the version Claude Desktop uses, which differs from Electron's — and updates the client config for you. Testing so far is Windows only; the author is asking for help testing macOS and Linux. MIT licensed.

Setup effort

Follow the published steps — git clone https://github.com/foxintheloop/uptier.git