Skip to main content
Glama

TaskWise

TaskWise is a task manager and day planner for people and AI agents. Sign in with Google, keep your own private task list, connect any calendar with its private iCal link, and get a plan that fits your tasks into the free time between your events. It also runs as an MCP server, so AI agents can use the same tools. Formerly AlexaTasker.

Status

Area

Status

Google sign-in, one private task list per user

Working

Tasks (add, list, update, complete, delete)

Working

Day planner

Working. With a calendar it places tasks in free time slots

Calendar (any calendar via private iCal link, read-only)

Working. Common repeat rules supported, see Limits

Conflict detection (overlapping events)

Working

MCP server (POST /mcp)

Working

Account deletion

Working

LaunchGuard for the project owner

Working (admin account only)

LaunchGuard for anyone's public GitHub repo

Planned

"Ask TaskWise" chat box (Gemini)

Planned

Per-user API tokens for agents

Planned

Google Calendar sign-in (two-way)

Planned

Task breakdown

Planned

Related MCP server: mcp-outlook-calendar

What it does

  • Tasks: each person only sees their own. Every database query is limited to the signed-in user, and automated tests check this.

  • Planning: orders tasks by overdue first, then due date, then priority. With a calendar connected, tasks get real time slots inside working hours (default 09:00-17:00). Tasks that do not fit are listed, and overlapping events are flagged.

  • Calendar: paste your private iCal (.ics) link from Google, Outlook, Apple or most other calendars. The link is stored encrypted. The server only fetches public https addresses and blocks private network addresses.

  • LaunchGuard: a readiness check that reads project files and settings and reports findings labeled CONFIRMED, SUSPECTED or NEEDS MANUAL REVIEW. It is not a penetration test and never claims an app is secure.

Tech stack

Node.js 20, TypeScript, Express, Prisma, PostgreSQL (Neon), @modelcontextprotocol/sdk, zod.

Project layout

src/        server, auth, tasks, planner, calendar, LaunchGuard
prisma/     database schema
public/     web dashboard
tests/      automated tests

Installation

Requirements: Node.js 20 and a PostgreSQL database.

git clone https://github.com/MarvelousEkhator/TaskWise.git
cd TaskWise
npm install
cp .env.example .env     # then fill in the values
npx prisma generate
npx prisma db push
npm run build
npm start

For development, npm run dev restarts the server on changes.

Environment variables

Copy .env.example to .env. Never commit .env.

Variable

Purpose

PORT

Port to listen on (the host usually sets this)

DATABASE_URL

Postgres connection string (pooled)

DIRECT_URL

Postgres connection string (direct, used for schema changes)

ALLOWED_ORIGIN

Exact public address of the site, no trailing slash

GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET

Google OAuth client for sign-in

SESSION_SECRET

Long random value that protects login sessions

CALENDAR_ENC_KEY

32 random bytes, base64 encoded; encrypts saved calendar links

ADMIN_EMAIL

The one Google account that can run LaunchGuard on this server

TASKWISE_API_KEY

Optional owner key so an agent can open the admin's own tasks

Google sign-in setup

  1. In Google Cloud, create a project and an OAuth client of type Web application.

  2. Add this redirect URI: https://YOUR-SITE/auth/google/callback

  3. Put the client ID and secret in your environment vari

MIT LICENCE copyright © 2026 Marvelous Henry Osagieduwa Ekhator

Related MCP Connectors

Related MCP Servers