什么是 io.github.foxintheloop/uptier?
基于 MCP 的 To-Do 应用,支持智能任务优先级排序与待办事项管理。
README
UpTier
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.
Demo
https://github.com/user-attachments/assets/71264f79-3f54-4b45-9d7e-dcef26f54f94
Download
Pre-built installer available. No build required.
Features
Task Management
- Lists & Tasks - Create custom lists, tasks with subtasks, and organize your work
- Smart Lists - Built-in views for My Day, Important, Planned, Calendar, Dashboard, and Completed
- 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
- Calendar Views - Day, Business Week, Full Week, and Month views with task scheduling
- Day Planner - Time-blocking hourly grid with drag-and-drop scheduling and 15-minute snap intervals
- Daily Planning - Guided 4-step planning ritual: review yesterday, build your list, schedule tasks, confirm your plan
- 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
AI-Powered Features
- Intelligent Prioritization - Let Claude analyze and prioritize your tasks via MCP
- Multiple Strategies - Eisenhower matrix, quick wins, high impact, and more
- Due Date Suggestions - In-app AI suggests due dates based on similar tasks and priority
- Task Breakdown - AI-generated subtask suggestions for common task types (no Claude required)
- At-Risk Alerts - Amber and red warnings on tasks that may miss their deadlines
Organization
- Goal Tracking - Link tasks to goals and track progress with hierarchy support
- 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 as JSON (full backup) or CSV (tasks)
Productivity & Analytics
- Dashboard - Productivity analytics with completion stats, weekly trends, and priority distribution
- Streaks & Celebrations - Track daily completion streaks with confetti celebrations on milestones
- Focus Time Tracking - Set a daily focus goal and track progress on the dashboard
- Feature Tiers - Onboarding wizard for new users with Basic, Intermediate, and Advanced presets
Multi-Database Support
- 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
Focus Timer
- 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
User Experience
- Themes - Dark, Light, Earth Dark, Earth Light, Cyberpunk, and System themes
- Command Palette - Global search and navigation with Ctrl+K
- Keyboard Shortcuts - Quick actions with Ctrl+F (search), Ctrl+N (new task), ? (help)
- System Tray - Minimize to tray for quick access
- Concurrent Access - SQLite with WAL mode lets both the app and Claude work simultaneously
Architecture
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 |
Getting Started
Prerequisites
- Node.js 20+ (LTS recommended)
- pnpm 8+
- Claude Desktop (for AI features)
Installation
# 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 build
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.
Running the App
# Development mode
pnpm dev:electron
# Production build
pnpm --filter @uptier/electron build
Claude Desktop Integration
Deploy the MCP server for Claude Desktop:
# Deploy MCP server to standalone directory
pnpm --filter @uptier/mcp-server deploy
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:
- Restart Claude Desktop
- The UpTier tools will be available in Claude
Manual Configuration (Alternative)
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"]
}
}
}
MCP Tools
UpTier exposes powerful tools to Claude for managing your tasks:
Lists
| 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 |
Tasks
| 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 |
Prioritization
| 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 |
Goals
| 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 |
Day Planner
| 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 |
Subtasks & Tags
| 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 |
Prioritization Strategies
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 |
Priority Tiers
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
Data Storage
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.
Logs
Application logs are stored at:
- Windows:
%APPDATA%\UpTier\logs\ - macOS:
~/Library/Application Support/UpTier/logs/ - Linux:
~/.config/UpTier/logs/
Keyboard Shortcuts
| 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 |
Focus Timer Shortcuts
| Shortcut | Action |
|---|---|
Space | Pause/Resume timer |
Escape | End focus session |
Roadmap
- Smart lists (My Day, Important, Planned, Completed)
- Themes (Dark, Light, Earth, Cyberpunk, System)
- Keyboard shortcuts
- Tags
- Due date notifications
- Multiple database profiles
- Data export & import
- List rename/delete
- Focus timer
- Resizable panels
- Recurring tasks
- Custom smart list filters
- Calendar views (Day, Business Week, Full Week, Month)
- Daily planning ritual
- Productivity dashboard & analytics
- Streaks & celebrations
- At-risk deadline alerts
- Feature tiers & onboarding wizard
- Goal tracking with hierarchy
- Task templates
- Mobile companion app
Troubleshooting
"Electron uninstall" error
If you see Error: Electron uninstall when running pnpm dev:electron, the Electron binary wasn't downloaded. Run:
node node_modules/electron/install.js
Native module errors with MCP server
If Claude Desktop shows errors about better-sqlite3 or NODE_MODULE_VERSION mismatches, use the standalone deployment:
pnpm --filter @uptier/mcp-server deploy
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).
Build script warnings
If you see warnings about "Ignored build scripts" during pnpm install, run:
pnpm approve-builds
Then select the packages that need to run build scripts (canvas, sharp, electron).
"NODE_MODULE_VERSION mismatch" in Electron app
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-sqlite3
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.
"Schema not found" error in Claude Desktop
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 deploy
After upgrading Node.js
When 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:
bash
pnpm --filter @uptier/shared build pnpm --filter @uptier/mcp-server build pnpm --filter @uptier/mcp-server deploy
Contributing
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
Help Wanted: macOS & Linux Testing
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!
License
MIT License - see LICENSE for details.
常见问题
io.github.foxintheloop/uptier 是什么?
基于 MCP 的 To-Do 应用,支持智能任务优先级排序与待办事项管理。
相关 Skills
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。