Daily Hub.
A quiet, local command center for people juggling more than one project at a time — what's open, what belongs where, what must happen today, and what's already done.
Overview
AI made shipping projects easy — and made tracking them hard
A thought becomes a prototype, a tool, or an open-source repo before the day is over. That's a real gift, but every promising idea quietly becomes another commitment: another repo, another issue, another release to remember alongside client work, side builds, and daily habits.
Notion, Linear, and Jira are built for deep documentation and shared workflows. Daily Hub isn't trying to replace them — it's the morning surface underneath all of it: open a page, pick a project, add the next task, see the day.
Four screens, one source of truth
Everything reads from and writes to the same local SQLite database — no accounts, no sync service, no separate mobile app to fall out of date with the desktop one.
The MCP endpoint reads and writes the same data you see
A local, token-protected MCP server starts by default at `/mcp` on the app's own port, bound to 127.0.0.1. An AI client can list and create projects, tasks, inbox items, and habits, and mark work complete against the exact database backing the UI — no separate export, no stale snapshot.
How it works
There is no separate API server: reads go through Server Components straight to Prisma, writes go through Server Actions in a transaction, and both revalidate the same four routes. The same SQLite database backs an MCP endpoint, so an AI client reads and writes through the identical source of truth a person sees on screen — no separate sync path to drift out of date.
Install & use
$ npx @baselhusam/daily-hub
$ docker run -d --name dailyhub -p 9999:9999 \$ -v dailyhub_data:/app/data \$ ghcr.io/baselhusam/daily-hub:latest
$ npx @baselhusam/daily-hub --seed # opens http://127.0.0.1:9999 with sample data$ npx @baselhusam/daily-hub mcp # print a ready-to-copy MCP client config$ npx @baselhusam/daily-hub --detach # run in the background, manage with status/logs/stop
Commands
daily-hubStart the app on :9999, opening the browser--seedPopulate sample data on first run--port <n>Run on a different port--data-dir <path>Use a custom data directory instead of ~/.daily-hub/--no-mcpDisable the local MCP endpoint for this launch--detachRun in the background; manage with status / logs / stop--updateFetch and run the latest published releasemcpPrint a ready-to-copy MCP client configurationAgent / MCP tools
list_projectsList all projects with status and open task counts
list_tasksList tasks, optionally filtered by project
list_inboxList unsorted inbox items
list_habitsList recurring habits and their weekday schedules
create_projectCreate a new project
update_projectUpdate a project's fields
create_taskAdd a task to a project or the inbox
update_taskEdit an existing task
set_task_completionMark a task done or not done
create_inbox_itemCapture an unsorted item for later triage
create_habitDefine a new recurring habit
update_habitEdit a habit's schedule or details
set_habit_completionMark a habit done for a given day
get_statsFetch DailyHub's own completion and activity statistics