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.
UpTier_Demo.mp4
Pre-built installer available. No build required.
- Lists & Tasks - Create custom lists, tasks with subtasks, and organize your work
- Smart Lists - Built-in views for My Day, Important, Planned, and Completed tasks
- Custom Filters - Create your own smart lists with visual filter rules (due date, priority, tags, energy, and more)
- Tags - Categorize tasks with colored tags for easy filtering
- Due Dates - Set due dates with notifications and overdue tracking
- Recurring Tasks - Daily, weekday, weekly, biweekly, and monthly recurrence with optional end dates
- Day Planner - Time-blocking calendar view with hourly grid, drag-and-drop scheduling, and block resizing
- Task Duration - Set estimated duration for tasks to size time blocks on the calendar
- Drag & Drop - Reorder tasks within lists and schedule tasks onto the calendar
- Intelligent Prioritization - Let Claude analyze and prioritize your tasks
- Multiple Strategies - Eisenhower matrix, quick wins, high impact, and more
- Auto-Suggestions - Get AI recommendations for task organization
- Goal Tracking - Link tasks to goals and track progress
- Priority Tiers - Three-tier system (Do Now, Do Soon, Backlog)
- Priority Scoring - Rate tasks by effort, impact, urgency, and importance
- Data Export - Export your data for backup or analysis
- Multiple Profiles - Create separate databases for work, personal, projects
- Easy Switching - Switch between database profiles from the sidebar
- Isolated Data - Each profile maintains its own lists, tasks, and settings
- Distraction-Free Mode - Full-screen timer overlay to help you stay focused
- Flexible Durations - Preset options (30, 45, 60, 90 min) or custom duration
- Task Context - See task title and notes while working
- Keyboard Controls - Space to pause/resume, Esc to end session
- Themes - Dark, Light, Earth Dark, Earth Light, and Cyberpunk themes
- Command Palette - Global search and navigation with Ctrl+K
- Keyboard Shortcuts - Quick actions with Ctrl+F (search), Ctrl+N (new task)
- System Tray - Minimize to tray for quick access
- Concurrent Access - SQLite with WAL mode lets both the app and Claude work simultaneously
uptier/
├── apps/
│ ├── electron/ # Desktop application (React + Electron)
│ └── mcp-server/ # MCP server for Claude Desktop
├── packages/
│ └── shared/ # Shared types and database schema
└── pnpm-workspace.yaml
| 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 |
- Node.js 20+ (LTS recommended)
- pnpm 8+
- Claude Desktop (for AI features)
# Clone the repository
git clone https://github.com/foxintheloop/uptier.git
cd uptier
# Install pnpm (if not already installed)
npm install -g pnpm
# Install dependencies
pnpm install
# Approve build scripts for native modules (canvas, sharp, electron)
pnpm approve-builds
# Rebuild native modules
pnpm rebuild
# Rebuild better-sqlite3 for Electron's bundled Node.js
npx electron-rebuild -f -w better-sqlite3
# Build packages
pnpm --filter @uptier/shared build
pnpm --filter @uptier/mcp-server buildNote: 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.
# Development mode
pnpm dev:electron
# Production build
pnpm --filter @uptier/electron buildDeploy the MCP server for Claude Desktop:
# Deploy MCP server to standalone directory
pnpm --filter @uptier/mcp-server deployThis 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:
- Restart Claude Desktop
- The UpTier tools will be available in Claude
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
{
"mcpServers": {
"uptier": {
"command": "node",
"args": ["/path/to/.uptier/mcp-server/index.js"]
}
}
}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:
- Tier 1 (Do Now) - High impact, urgent, or blocking other work
- Tier 2 (Do Soon) - Important but not time-sensitive
- Tier 3 (Backlog) - Lower priority, someday/maybe items
Your data is stored locally:
- Windows:
%APPDATA%\.uptier\tasks.db - macOS/Linux:
~/.uptier/tasks.db
Additional 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:
- Windows:
%APPDATA%\UpTier\logs\ - macOS:
~/Library/Application Support/UpTier/logs/ - Linux:
~/.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 |
| Shortcut | Action |
|---|---|
Space |
Pause/Resume timer |
Escape |
End focus session |
- Smart lists (My Day, Important, Planned, Completed)
- Themes (Dark, Light, Earth, Cyberpunk)
- Keyboard shortcuts
- Tags
- Due date notifications
- Multiple database profiles
- Data export
- List rename/delete
- Focus timer
- Resizable panels
- Recurring tasks
- Custom smart list filters
- Calendar integration
- Task templates
- Mobile companion app
If you see Error: Electron uninstall when running pnpm dev:electron, the Electron binary wasn't downloaded. Run:
node node_modules/electron/install.jsIf Claude Desktop shows errors about better-sqlite3 or NODE_MODULE_VERSION mismatches, use the standalone deployment:
pnpm --filter @uptier/mcp-server deployThis 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:
pnpm approve-buildsThen 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:
npx electron-rebuild -f -w better-sqlite3This 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:
pnpm --filter @uptier/shared build
pnpm --filter @uptier/mcp-server build
pnpm --filter @uptier/mcp-server deployWhen you upgrade your system Node.js version, native modules need to be recompiled:
- Electron app:
npx electron-rebuild -f -w better-sqlite3 - MCP server: Rebuild and redeploy:
pnpm --filter @uptier/shared build pnpm --filter @uptier/mcp-server build pnpm --filter @uptier/mcp-server deploy
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run the app to test (
pnpm dev:electron) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
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.