Skip to content

About

Open-source Sunsama alternative: a daily planner with kanban, time blocking, and focus mode that Claude and ChatGPT can use. One-click MCP connector (OAuth), REST API, web/desktop/mobile apps, self-hostable.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

109 stars

Watchers

4 watching

Forks

Latest commit

Β 

History

746 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Open Sunsama logo

Open Sunsama

Daily planning, done right.

The open-source daily planner for time-blocking, focused work, and seamless AI integration.
AI native: control it from any agent, including Claude, ChatGPT, Cursor, Claude Code, or any MCP client, with one URL and no API key.


Open the app Connect Claude Connect ChatGPT GitHub stars

Website Β· Docs Β· Connect your AI Β· Self-host Β· Download apps


Open Sunsama board: today's prioritized tasks in columns by day, with a time-blocked schedule on the right

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.


✨ 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

Claude (web, Desktop, and mobile)

  1. Settings β†’ Customize β†’ Connectors β†’ Add
  2. Name it Open Sunsama and paste the URL
  3. Continue β†’ Add β†’ Connect, then Allow access

Claude setup guide β†’

ChatGPT (paid plans, developer mode)

  1. Settings β†’ Security and login β†’ Developer mode
  2. chatgpt.com/plugins β†’ + β†’ paste the URL
  3. Create, then Allow access

ChatGPT setup guide β†’

Open Sunsama consent screen: Claude wants to access your Open Sunsama account, verified app from claude.ai Open Sunsama consent screen: ChatGPT wants to access your Open Sunsama account, verified app from chatgpt.com

Coding assistants connect the same way:

Client Install
Claude Code claude mcp add --transport http open-sunsama https://api.opensunsama.com/mcp, then run /mcp β†’ Authenticate
Cursor Add to Cursor
VS Code Add to VS Code
Any MCP client Add the URL as a Streamable HTTP server with OAuth

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."

How the connection stays secure
  • Standard OAuth 2.1 with PKCE. Claude and ChatGPT are identified by their published client metadata (CIMD), so the consent screen shows a verified badge. Other clients register with dynamic client registration.
  • Scoped, short-lived tokens. Access tokens expire hourly and refresh automatically. Refresh tokens rotate, and replaying an old one revokes the whole grant.
  • Least privilege. Connector tokens only reach tasks, time blocks, and your profile. They can't touch API keys, passwords, uploads, or calendar accounts.
  • Annotated tools. Every tool is marked read-only or destructive, so assistants ask before deleting anything.
  • One-click disconnect under Settings β†’ MCP β†’ Connected apps.

Settings β†’ MCP: connector URL, step-by-step setup per assistant, and connected apps list showing Claude and ChatGPT

Prefer an API key? The local server still works
{
  "mcpServers": {
    "open-sunsama": {
      "command": "npx",
      "args": ["-y", "@open-sunsama/mcp"],
      "env": { "OPENSUNSAMA_API_KEY": "os_your_api_key_here" }
    }
  }
}

You can also send a key to the hosted server as an X-API-Key header. See Local server & API keys.


🎬 See it in action

Demo: adding a task, opening task details, switching to the week calendar, tasks list, ideas board, and connecting an AI assistant

β–Ά Watch the full-quality video (MP4) Β· β–Ά Watch the narrated 1-minute tour


🧭 Everything you need to plan a focused day

Time-block your week

Drag tasks onto the calendar and see your whole week at a glance. Blocks link back to their tasks, so estimates meet reality.

Week calendar full of color-coded time blocks from Monday to Friday

Dig into any task

Subtasks, rich-text notes, attachments, priority, estimate, and a timer, all in one keyboard-friendly modal.

Task detail modal with subtasks, notes, P0 priority, and a running focus timer

Focus mode

One task, one timer. Track actual time against your estimate while everything else fades away.

Focus mode with 23 minutes tracked against a 90-minute estimate and a Start button

⌘K for everything

Jump to any task, idea, or setting in a keystroke. Search spans tasks, ideas, and events.

Command palette searching 'review' across tasks and ideas

Every task, one list

Filter active, completed, or everything, grouped by day with subtask progress.

Tasks list grouped by Today, Tomorrow, and upcoming days with priority dots and subtask counts

Ideas: your someday boards

Trello-style boards for bets and side projects. Promote an idea to a real task when it's time.

Ideas board with Someday, Exploring, and Ready to build columns
Open Sunsama on a phone: today's tasks with priorities and completed items

Works on every screen

  • Web app at opensunsama.com
  • Desktop for macOS, Windows, and Linux, with a system tray, a global quick-add hotkey, and notifications (download)
  • Mobile for iOS and Android
  • Calendar sync with Google Calendar, Outlook, and iCloud
  • Recurring routines, task rollover, reminders, and push notifications
  • Keyboard-first: press ? anywhere for shortcuts
  • Themes: light, dark, or system, with multiple color palettes and fonts

πŸ†š 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


πŸ› οΈ 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.

Run from source

Prerequisites: Bun 1.4.2 (run mise install when using mise) and PostgreSQL 15+ (Homebrew's postgresql@17, or a hosted database such as Neon or Supabase). S3-compatible storage is optional, for file uploads.

git clone https://github.com/ShadowWalker2014/open-sunsama.git
cd open-sunsama
mise install
bun install

# API on :3001 and web app on :3000. Tables are created on start;
# Redis, email, background jobs and OAuth stay off.
DEV_DATABASE_URL=postgresql://localhost:5432/opensunsama bun run dev:local

To run with integrations turned on, copy apps/api/.env.example to apps/api/.env, fill it in, and use bun run dev.

Service URL
Web app http://localhost:3000
API http://localhost:3001
MCP connector http://localhost:3001/mcp
Drizzle Studio http://localhost:4983

For calendar sync, follow the Google Calendar setup guide.

Seed a demo workspace

scripts/readme-media/seed-demo.ts fills an account with a realistic week (tasks, subtasks, time blocks, and ideas) through the REST API. It's the same data behind these screenshots:

DEMO_API_URL=http://localhost:3001 DEMO_PASSWORD='Choose-a-strong-1' bun run scripts/readme-media/seed-demo.ts

πŸ—οΈ 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

  • Daily planning board, priorities, subtasks, and rich notes
  • Time-blocking calendar with day, 3-day, week, and month views
  • Focus mode, routines (recurring tasks), and rollover
  • Calendar sync: Google Calendar, Outlook, and iCloud
  • Ideas boards and a ⌘K command palette
  • Desktop and mobile apps
  • MCP server (local stdio) and REST API with scoped keys
  • 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

What is Open Sunsama?
An open-source daily planner and task manager inspired by Sunsama. You plan each day on a kanban board, time-block tasks on a calendar, and work through them in focus mode. It's also an MCP server, so AI assistants like Claude and ChatGPT can manage your tasks and schedule for you.
Is it an open-source Sunsama alternative?
Yes. It covers Sunsama's daily-planning loop (a kanban board, time blocking, focus mode, and calendar sync), the code is on GitHub, and you can self-host it. On top of that, any AI agent can run it over MCP. See License for the terms.
How do I connect it to ChatGPT or Claude?
Add https://api.opensunsama.com/mcp as a custom connector in Claude, or as a plugin connection in ChatGPT's developer mode. Then sign in and click Allow access. Step-by-step guides: Claude and ChatGPT.
What is MCP?
The Model Context Protocol is an open standard for connecting AI assistants to tools and data. Open Sunsama's MCP server gives assistants 24 tools to read and update your tasks, subtasks, and time blocks.
Can my AI delete my tasks without asking?
Destructive tools are annotated as such, so Claude and ChatGPT ask for confirmation before running them. You can revoke an assistant's access at any time under Settings β†’ MCP.
Does it work with Cursor, VS Code, and Claude Code?
Yes. Use the one-click buttons above for Cursor and VS Code, or run claude mcp add --transport http open-sunsama https://api.opensunsama.com/mcp for Claude Code.

🀝 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.


If Open Sunsama helps you plan better days, please give it a ⭐. It helps others find it.

Star on GitHub

Star history chart for Open Sunsama

Made by Circo Β· opensunsama.com

About

Open-source Sunsama alternative: a daily planner with kanban, time blocking, and focus mode that Claude and ChatGPT can use. One-click MCP connector (OAuth), REST API, web/desktop/mobile apps, self-hostable.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

109 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages