
shadowwalker2014/open-sunsama
Developer toolsOpen-source Sunsama alternative: a daily planner with kanban, time blocking, and focus mode that Claude and ChatGPT can use.
Overview
The open-source daily planner for time-blocking, focused work, and seamless AI integration. control it from any agent, including , , Cursor, Claude Code, or any MCP client, with one URL and no API key. A real Thursday for a Head of Product: a prioritized board, subtasks, estimates, and a time-blocked schedule. The backlog waits one click away in the right rail. Most planners are closed boxes that your AI assistant can't see into. Open Sunsama is built to be driven by AI as much as by you: - Claude and ChatGPT can read your schedule, create and prioritize tasks, time-block your day, and close things out through a secure one-click connector. - A kanban board of days, drag-and-drop time blocking, focus mode with a timer, and rollover of unfinished work. - Run it on your own server, read every line, and extend it through a full REST API. - Web, desktop (macOS, Windows, Linux), and mobile, with light and dark themes and keyboard-first navigation.
README
✨ Why Open Sunsama
Most planners are closed boxes that your AI assistant can’t see into. Open Sunsama is built to be driven by AI as much as by you:
- 🤖 Your AI plans with you. Claude and ChatGPT can read your schedule, create and prioritize tasks, time-block your day, and close things out through a secure one-click connector.
- 🗓️ Sunsama-style daily planning. A kanban board of days, drag-and-drop time blocking, focus mode with a timer, and rollover of unfinished work.
- 🔓 Open source and self-hostable. Run it on your own server, read every line, and extend it through a full REST API.
- 🖥️ Everywhere you work. Web, desktop (macOS, Windows, Linux), and mobile, with light and dark themes and keyboard-first navigation.
🔌 Connect Claude or ChatGPT in 30 seconds
Paste one URL into your AI assistant, sign in, and click Allow access. That’s it: no API keys and no config files.
https://api.opensunsama.com/mcp
Coding assistants connect the same way:
Then just ask:
“What’s on my plate today? Move anything that isn’t a P0 or P1 to tomorrow.” “Block 9–11am tomorrow for deep work on the launch plan and link it to that task.” “Add subtasks to ‘Board deck’: metrics slide, roadmap slide, asks.”
🎬 See it in action
▶ Watch the full-quality video (MP4) · ▶ Watch the narrated 1-minute tour
🧭 Everything you need to plan a focused day
🆚 How it compares
| Open Sunsama | Typical closed planners | |
|---|---|---|
| Open source & self-hostable | ✅ | ❌ |
| AI native: control it from any agent over MCP | ✅ | ❌ |
| One-click Claude & ChatGPT connector (OAuth) | ✅ | Rare |
| Full REST API with scoped keys | ✅ | Limited |
| Daily planning board + time blocking | ✅ | ✅ |
| Focus timer, routines, rollover | ✅ | Varies |
| Web, desktop, and mobile apps | ✅ | ✅ |
Switching from another tool? Read the comparisons: Sunsama · Motion · Akiflow · Reclaim · Todoist
👥 Built for people who plan their day
- Founders and managers juggling roadmaps, 1:1s, hiring, and customer calls, who want one place to decide what matters today.
- Engineers who live in Cursor, Claude Code, and the terminal and want their planner reachable from there.
- Remote and async teams time-blocking across time zones.
- ADHD and neurodivergent planners who need structure, visual time, and gentle rollover instead of guilt.
- Privacy-minded teams who want to self-host their planner and keep data on their own servers.
🛠️ MCP tools
24 tools, available through the hosted connector and the local server:
| Category | Tools |
|---|---|
| Tasks | list_tasks get_task create_task update_task complete_task uncomplete_task delete_task schedule_task reorder_tasks |
| Time blocks | list_time_blocks get_time_block create_time_block update_time_block delete_time_block link_task_to_time_block get_schedule_for_day |
| Calendar events (read-only) | list_calendar_events |
| Subtasks | list_subtasks create_subtask toggle_subtask update_subtask delete_subtask |
| Profile | get_user_profile update_user_profile |
🧩 REST API
Everything in the app is available over HTTP, with JWT or scoped API keys:
curl -X POST https://api.opensunsama.com/tasks \
-H "X-API-Key: os_your_key" -H "Content-Type: application/json" \
-d '{"title": "Ship v2.0", "priority": "P0", "scheduledDate": "2026-10-01", "estimatedMins": 120}'
Scopes: tasks:read tasks:write time-blocks:read time-blocks:write ideas:read ideas:write user:read user:write. See the API reference.
🚀 Get started
Cloud: create an account at opensunsama.com, then connect your AI.
Self-host with Docker:
git clone https://github.com/ShadowWalker2014/open-sunsama.git
cd open-sunsama
docker compose up -d --build # PostgreSQL, Redis, API on :3001, web app on :3000
Open http://localhost:3000 and create your account. The API creates the database tables on start, and the MCP connector is at http://localhost:3001/mcp. The self-hosting guide covers running on a server with your own domain, optional integrations, and backups. The desktop and mobile apps connect only to opensunsama.com, so self-hosters use the web app.
🏗️ Tech stack
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, TanStack Router + Query, Tailwind CSS, Radix UI, Tiptap |
| Backend | Hono 4, Drizzle ORM, PostgreSQL, PG Boss jobs, Zod, OAuth 2.1 authorization server |
| AI | Model Context Protocol (Streamable HTTP + stdio), 24 annotated tools |
| Desktop / mobile | Tauri 2, Expo |
| Infra | Bun workspaces, Turborepo, Docker, Railway |
open-sunsama/
├── apps/
│ ├── api/ # Hono REST API, OAuth server, and the /mcp endpoint
│ ├── web/ # React + Vite app, docs, and marketing site
│ ├── desktop/ # Tauri v2 desktop app
│ └── mobile/ # Mobile apps
├── packages/ # database (Drizzle), types, api-client, utils
└── mcp/ # MCP tools + the npx stdio server
🗺️ Roadmap
- [x] Daily planning board, priorities, subtasks, and rich notes
- [x] Time-blocking calendar with day, 3-day, week, and month views
- [x] Focus mode, routines (recurring tasks), and rollover
- [x] Calendar sync: Google Calendar, Outlook, and iCloud
- [x] Ideas boards and a ⌘K command palette
- [x] Desktop and mobile apps
- [x] MCP server (local stdio) and REST API with scoped keys
- [x] One-click Claude & ChatGPT connector (hosted MCP + OAuth)
- [ ] Team workspaces
- [ ] Integrations (Linear, GitHub, Jira, Notion)
- [ ] Analytics dashboard
- [ ] AI auto-scheduling
Have an idea? Open a feature request. Found a bug? Report it.
❓ FAQ
🤝 Contributing
Contributions are welcome! Open an issue, ask in Discussions, or send a PR. See CONTRIBUTING.md.
git checkout -b feature/amazing-feature
bun run dev && bun run typecheck && bun run lint
git commit -m "feat: add amazing feature"
📄 License
Open Sunsama uses a custom non-commercial license. It covers personal, educational, non-profit, and open-source use, plus evaluation. Commercial use by for-profit companies requires an enterprise license. See LICENSE.
Install
npx -y @open-sunsama/mcpConfiguration
{
"mcpServers": {
"open-sunsama": {
"command": "npx",
"args": ["-y", "@open-sunsama/mcp"],
"env": { "OPENSUNSAMA_API_KEY": "os_your_api_key_here" }
}
}
}