Skip to main content
Glama
Alvarordev

Chisel Planner

by Alvarordev

Chisel Planner

Personal planner with a primary agent interface via MCP.

Status

The first cut implements the Bun/Hono scaffold, per-user SQLite, migrations, configuration, project/task/habit/capacity domain, REST, a responsive web approach, and an authenticated MCP server. OAuth 2.1 is handled with Better Auth: PKCE, DCR, closed login, web sessions, JWT, and tokens bound to the MCP resource. The UI will keep evolving from Figma, and CIMD is left for a later phase.

Related MCP server: ticktick-sdk

Requirements

  • Bun 1.3+

  • Docker optional

Development

bun install
cp .env.example .env
bun run dev

bun run dev starts the API at 127.0.0.1:3000 and Vite at 127.0.0.1:5173. The web app lives at /app/today in production and uses a proxy to the API during development.

Create the first user with closed sign-up:

AUTH_BOOTSTRAP_EMAIL=owner@example.com \
AUTH_BOOTSTRAP_PASSWORD='una-password-de-12-caracteres' \
bun run auth:bootstrap

The first web approach lets you sign in, review the day, complete tasks and habits, create projects, and copy the MCP connection URL. The view is designed mobile-first and adapts to desktop with a sidebar.

Quick verification:

curl http://127.0.0.1:3000/health

OAuth discovery is available at /.well-known/oauth-authorization-server and resource metadata at /.well-known/oauth-protected-resource/mcp. /mcp requires an access token with the mcp:tools scope.

To inspect the MCP server while it's running, use a client that supports the OAuth 2.1 flow:

npx @modelcontextprotocol/inspector --cli http://127.0.0.1:3000/mcp --transport http --method server/discover

Commands

bun run typecheck
bun test
bun run build
bun run migrate:all
bun run auth:bootstrap

Persistent data lives in DATA_DIR: system.db and a separate database per user in users/.

Development security

Always set BETTER_AUTH_SECRET, AUTH_BASE_URL, and MCP_RESOURCE to the real public values in production. Use HTTPS, keep the /data volume, and deploy a single replica to avoid splitting the SQLite state. Locally, Host and Origin validations are applied via the official Hono adapter.

Related MCP Connectors

Related MCP Servers