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.
Website Β· Docs Β· Connect your AI Β· Self-host Β· Download apps
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:
- π€ 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.
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)
|
ChatGPT (paid plans, developer mode)
|
![]() |
![]() |
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."
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.
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.
βΆ Watch the full-quality video (MP4) Β· βΆ Watch the narrated 1-minute tour
|
|
| 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
- 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.
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 |
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.
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 :3000Open 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:localTo 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| 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
- 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.
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.
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"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.
Made by Circo Β· opensunsama.com











