The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the UpTier listing page.
MCP-powered task management with intelligent prioritization via Claude Desktop
UpTier is a desktop to-do application that combines a clean Microsoft To Do-style interface with the power of Claude AI for intelligent task prioritization. Through the Model Context Protocol (MCP), Claude can analyze your tasks and help you focus on what matters most.
https://github.com/user-attachments/assets/71264f79-3f54-4b45-9d7e-dcef26f54f94
Pre-built installer available. No build required.
| Component | Description |
|---|---|
| MCP Server | Node.js server providing 25+ task management tools via MCP |
| Electron App | Desktop application with React UI |
| SQLite Database | Shared database with WAL mode for concurrent access |
Note: The Electron app bundles its own Node.js runtime (v20.x), which differs from your system Node.js. The
electron-rebuildstep compilesbetter-sqlite3for Electron's version. The MCP server deployment (below) compiles it separately for your system Node.js used by Claude Desktop.
Deploy the MCP server for Claude Desktop:
This deploys the MCP server to ~/.uptier/mcp-server/ with its own node_modules, automatically compiled for your current Node.js version. The Claude Desktop config is updated automatically.
Why standalone? The Electron app uses Node.js 22 (bundled), while Claude Desktop may use a different Node.js version. The standalone deployment compiles native modules (like
better-sqlite3) for the correct version, preventing conflicts.
After deployment:
If the automatic deployment doesn't work, add UpTier manually to your Claude Desktop config:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
UpTier exposes powerful tools to Claude for managing your tasks:
| Tool | Description |
|---|---|
create_list | Create a new task list |
get_lists | Get all lists with task counts |
update_list | Update list name, color, or icon |
delete_list | Delete a list |
reorder_lists | Change list positions |
| Tool | Description |
|---|---|
create_task | Create a new task with optional attributes |
get_tasks | Get tasks with filtering options |
update_task | Update task properties |
complete_task | Mark task as completed |
delete_task | Delete a task |
bulk_create_tasks | Create multiple tasks at once |
move_task | Move task to a different list |
| Tool | Description |
|---|---|
prioritize_list | Analyze tasks and get prioritization guidance |
bulk_set_priorities | Set priority tiers for multiple tasks |
get_prioritization_summary | Get overview of task priorities |
suggest_next_task | Get AI recommendation for what to work on next |
| Tool | Description |
|---|---|
create_goal | Create a goal |
get_goals | Get all goals with progress |
update_goal | Update goal properties |
link_tasks_to_goal | Associate tasks with goals |
get_goal_progress | Get completion stats for a goal |
| Tool | Description |
|---|---|
get_day_schedule | Get scheduled tasks, unscheduled tasks, and free time blocks for a date |
schedule_tasks | Schedule tasks onto the day planner time grid |
unschedule_task | Remove a task from the time grid to unscheduled sidebar |
| Tool | Description |
|---|---|
add_subtask | Add subtask to a task |
update_subtask | Update subtask properties |
create_tag | Create a new tag |
get_tags | Get all tags |
add_tag_to_task | Tag a task |
When asking Claude to prioritize your tasks, you can request different strategies:
| Strategy | Best For |
|---|---|
| Balanced | General use - weighs all factors equally |
| Urgent First | Deadline-driven work |
| Quick Wins | Building momentum with low-effort wins |
| High Impact | Maximum results regardless of effort |
| Eisenhower | Classic urgent/important decision matrix |
Tasks are organized into three tiers:
Your data is stored locally:
%APPDATA%\.uptier\tasks.db~/.uptier/tasks.dbAdditional database profiles are stored in the same directory with custom names.
The database uses SQLite with WAL mode, allowing the Electron app and MCP server to access it simultaneously without conflicts.
Application logs are stored at:
%APPDATA%\UpTier\logs\~/Library/Application Support/UpTier/logs/~/.config/UpTier/logs/| Shortcut | Action |
|---|---|
Ctrl+K | Open command palette |
Ctrl+N | Create new task |
Ctrl+F | Focus search |
↑ / ↓ | Navigate tasks |
Space | Toggle task completion |
Delete | Delete selected task |
Escape | Close detail panel |
? | Show keyboard shortcuts |
| Shortcut | Action |
|---|---|
Space | Pause/Resume timer |
Escape | End focus session |
If you see Error: Electron uninstall when running pnpm dev:electron, the Electron binary wasn't downloaded. Run:
If Claude Desktop shows errors about better-sqlite3 or NODE_MODULE_VERSION mismatches, use the standalone deployment:
This creates a separate MCP server installation at ~/.uptier/mcp-server/ with native modules compiled for your current Node.js version, avoiding conflicts with the Electron app.
If you still have issues, ensure you're running the deploy command with the same Node.js version that Claude Desktop uses (typically Node.js 23).
If you see warnings about "Ignored build scripts" during pnpm install, run:
Then select the packages that need to run build scripts (canvas, sharp, electron).
If the Electron app crashes with NODE_MODULE_VERSION mismatch (e.g., "was compiled against a different Node.js version"), rebuild better-sqlite3 for Electron:
This typically happens after upgrading Node.js or running pnpm install, which recompiles native modules for your system Node.js rather than Electron's bundled version.
If the MCP server reports that schema.sql cannot be found, the deployed files are stale. Rebuild and redeploy:
When you upgrade your system Node.js version, native modules need to be recompiled:
npx electron-rebuild -f -w better-sqlite3Contributions are welcome! Here's how to get started:
git checkout -b feature/amazing-feature)pnpm dev:electron)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)UpTier is currently only tested on Windows. If you're on macOS or Linux, we'd love your help testing and reporting any platform-specific issues!
MIT License - see LICENSE for details.