MCPcopy Index your code
hub / github.com/ShadowWalker2014/open-sunsama

github.com/ShadowWalker2014/open-sunsama @v1.0.10

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.10 ↗ · + Follow
1,887 symbols 4,674 edges 456 files 251 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Open Sunsama Logo

Open Sunsama

The First AI-Native, Open-Source Task Manager

Your AI assistant can finally manage your calendar.

GitHub stars License

TypeScript React Bun PostgreSQL Hono Tauri

Live Demo · Documentation · API Reference · MCP Setup · Download


The Problem

You use AI assistants daily—Claude, ChatGPT, Copilot. They help you code, write, and think.

But when it comes to managing your time? They're useless. Your calendar and task manager are black boxes that AI can't touch.

Until now.

The Solution

Open Sunsama is the first task manager built for the AI era:

  • MCP Protocol Support — Claude Desktop, Cursor, and Windsurf can manage your tasks directly
  • Full REST API — Build automations, integrations, and AI workflows
  • 100% Open Source — Self-host, customize, extend, contribute
  • Beautiful UX — We didn't sacrifice design for openness

Features

### Task Management - Priorities (P0-P3) with color coding - Subtasks with progress tracking - Rich text notes with Tiptap editor - File attachments (images, videos, docs) - Drag-and-drop reordering - Task rollover at midnight ### Time Blocking - Visual daily/weekly calendar - Drag to create time blocks - Resize blocks with snap-to-grid - Link blocks to tasks - Track actual vs. estimated time - Focus mode with timer
### AI & Automation - **24 MCP tools** for Claude/Cursor - RESTful API with scoped API keys - Background job processing (PG Boss) ### Multi-Platform - Web app (React + Vite) - Desktop apps (macOS, Windows, Linux) - Mobile apps (iOS, Android) - Dark/light/system themes

AI Integration

Why AI-Native?

Traditional productivity apps are closed systems. Your AI can't:

  • See your calendar to suggest meeting times
  • Reschedule tasks when priorities change
  • Create time blocks for deep work
  • Track your progress across projects

Open Sunsama opens the black box.

MCP Server (Model Context Protocol)

Connect your AI assistant in seconds:

// Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "open-sunsama": {
      "command": "npx",
      "args": ["-y", "@open-sunsama/mcp"],
      "env": {
        "OPENSUNSAMA_API_KEY": "os_your_api_key_here"
      }
    }
  }
}

24 Tools Available:

Category Tools
Tasks list_tasks, create_task, update_task, complete_task, delete_task, schedule_task, reorder_tasks
Time Blocks list_time_blocks, create_time_block, update_time_block, delete_time_block, link_task_to_time_block, get_schedule_for_day
Subtasks list_subtasks, create_subtask, toggle_subtask, update_subtask, delete_subtask
User get_user_profile, update_user_profile

Example Prompts

Once connected, try these with Claude:

"Schedule my top 3 tasks for tomorrow with 2-hour focus blocks"

"What's on my calendar today? Move anything non-urgent to next week"

"Create a task to review the Q4 roadmap, P1 priority, due Friday"

"I finished the design review—mark it complete and start my next task"

REST API

For custom integrations:

# Create a task
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-02-03",
    "estimatedMins": 120
  }'

# Get today's schedule
curl https://api.opensunsama.com/time-blocks?date=2026-02-03 \
  -H "X-API-Key: os_your_key"

Scopes: tasks:read, tasks:write, time-blocks:read, time-blocks:write, user:read, user:write


Quick Start

Cloud (Recommended)

The fastest way to get started:

  1. Sign up at opensunsama.com
  2. Generate an API key in Settings → API Keys
  3. Connect your AI using the MCP config above

Self-Hosted

Prerequisites

  • Bun v1.0+ (or Node.js 20+)
  • PostgreSQL 15+
  • S3-compatible storage (optional, for file uploads)
# Clone the repository
git clone https://github.com/ShadowWalker2014/open-sunsama.git
cd open-sunsama

# Install dependencies
bun install

# Configure environment
cp .env.example .env
# Edit .env with your DATABASE_URL

# Run database migrations
bun run db:push

# Start development servers
bun run dev
Service URL
Web App http://localhost:3000
API http://localhost:3001
Drizzle Studio http://localhost:4983

Docker

# Start all services
docker-compose up -d

# Or build and run individually
docker build -f Dockerfile.api -t open-sunsama-api .
docker build -f Dockerfile.web -t open-sunsama-web .

Desktop Apps

Download from opensunsama.com/download or build from source:

cd apps/desktop
bun run tauri build

Tech Stack

React React 19 TypeScript TypeScript Tailwind Tailwind PostgreSQL PostgreSQL Bun Bun Tauri Tauri
Layer Technologies
Frontend React 19, Vite 6, TanStack Router, TanStack Query, Tailwind CSS, Radix UI, Framer Motion
Backend Hono 4, Drizzle ORM, PostgreSQL 15, PG Boss (jobs), Zod
Desktop Tauri 2 (Rust), system tray, global hotkeys, auto-launch
Mobile Expo 52, React Native, Expo Router
Editor Tiptap (ProseMirror), syntax highlighting, file embeds
Infra Turborepo, Bun workspaces, Docker, Railway

Architecture

open-sunsama/
├── apps/
│   ├── api/           # Hono REST API (port 3001)
│   ├── web/           # React + Vite SPA (port 3000)
│   ├── desktop/       # Tauri v2 desktop wrapper
│   └── mobile/        # Expo React Native app
├── packages/
│   ├── database/      # Drizzle ORM, migrations, schema
│   ├── types/         # Shared TypeScript interfaces
│   ├── api-client/    # Type-safe HTTP client + React Query hooks
│   └── utils/         # Date utils, validation, errors
├── mcp/               # MCP server for AI assistants
└── docs/              # Documentation and images

Roadmap

We ship fast. Here's what's coming:

  • [x] Core task management with priorities
  • [x] Time blocking calendar
  • [x] MCP server for AI agents (24 tools)
  • [x] Desktop apps (macOS, Windows, Linux)
  • [x] Mobile apps (iOS, Android)
  • [x] Rich text notes with file attachments
  • [x] API key authentication with scopes
  • [ ] Calendar sync (Google Calendar, Outlook) — Q1 2026
  • [ ] Recurring tasks — Q1 2026
  • [ ] Team workspaces — Q2 2026
  • [ ] Integrations (Linear, GitHub, Jira, Notion) — Q2 2026
  • [ ] Analytics dashboard — Q2 2026
  • [ ] AI auto-scheduling — Q3 2026

Contributing

We love contributions! Open Sunsama is built by the community, for the community.

Ways to Contribute

  • Report bugs — Found an issue? Open a bug report
  • Request features — Have an idea? Start a discussion
  • Submit PRs — Code contributions are always welcome
  • Improve docs — Help others get started
  • Share — Star the repo and spread the word!

Development Setup

# Fork and clone
git clone https://github.com/YOUR_USERNAME/open-sunsama.git
cd open-sunsama

# Install dependencies
bun install

# Create a branch
git checkout -b feature/amazing-feature

# Make changes and test
bun run dev
bun run typecheck
bun run lint

# Commit with conventional commits
git commit -m "feat: add amazing feature"

# Push and open a PR
git push origin feature/amazing-feature

See CONTRIBUTING.md for detailed guidelines.


Community

GitHub Discussions


License

Open Sunsama is free for non-commercial use under a custom license.

Permitted:

  • Personal use
  • Educational use
  • Non-profit organizations
  • Open source projects
  • Evaluation and testing

Requires enterprise license:

  • Commercial use
  • Use in products sold for profit
  • Production use by for-profit companies

See LICENSE for full details.


Acknowledgments

Built with love using these amazing open-source projects:

Hono Drizzle TanStack Radix UI Tiptap Tauri Expo

If Open Sunsama helps you ship faster, consider giving it a ⭐

Stars

Made with ❤️ by Circo

The future of productivity is open.

Extension points exported contracts — how you extend this code

CalendarProvider (Interface)
(no doc) [6 implementers]
apps/api/src/services/calendar-providers/index.ts
ApiResponse (Interface)
* API response wrappers
packages/api-client/src/task-series.ts
TimeBlockPreviewProps (Interface)
* TimeBlockPreview - Ghost preview shown while dragging
apps/web/src/components/calendar/time-block.tsx
BaseEntity (Interface)
(no doc)
packages/types/src/common.ts
GeneratedApiKey (Interface)
(no doc)
packages/utils/src/api-key.ts
ProcessEnv (Interface)
(no doc)
packages/database/src/env.d.ts
ShortcutConfig (Interface)
(no doc)
apps/desktop/src/shortcuts.ts
MobileAPI (Interface)
(no doc)
apps/mobile/src/types.ts

Core symbols most depended-on inside this repo

cn
called by 489
apps/web/src/lib/utils.ts
toast
called by 129
apps/web/src/hooks/use-toast.ts
get
called by 120
packages/api-client/src/tasks.ts
getDb
called by 93
packages/database/src/db.ts
update
called by 64
packages/api-client/src/tasks.ts
fail
called by 53
mcp/tests/test-all.ts
list
called by 43
packages/api-client/src/tasks.ts
requireScopes
called by 41
apps/api/src/middleware/auth.ts

Shape

Function 1,266
Interface 433
Method 153
Class 34
Enum 1

Languages

TypeScript99%
Rust1%

Modules by API surface

packages/api-client/src/time-blocks.ts39 symbols
packages/api-client/src/tasks.ts36 symbols
mcp/src/lib/api-client.ts35 symbols
packages/utils/src/errors.ts31 symbols
packages/api-client/src/task-series.ts27 symbols
apps/web/src/components/kanban/task-modal.tsx26 symbols
packages/api-client/src/auth.ts25 symbols
packages/api-client/src/api-keys.ts24 symbols
packages/types/src/api.ts18 symbols
apps/web/src/lib/websocket/index.ts18 symbols
apps/web/src/components/kanban/task-attachments.tsx18 symbols
packages/api-client/src/client.ts17 symbols

Datastores touched

opensunsamaDatabase · 1 repos
railwayDatabase · 1 repos

For agents

$ claude mcp add open-sunsama \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact