@starascendin/lifeos-mcp 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.3";
2
- export declare const BUILD_TIME = "2026-02-18T17:39:17.599Z";
1
+ export declare const VERSION = "0.7.4";
2
+ export declare const BUILD_TIME = "2026-02-18T19:45:47.374Z";
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Regenerated on every build.
2
- export const VERSION = "0.7.3";
3
- export const BUILD_TIME = "2026-02-18T17:39:17.599Z";
2
+ export const VERSION = "0.7.4";
3
+ export const BUILD_TIME = "2026-02-18T19:45:47.374Z";
package/dist/index.js CHANGED
@@ -2897,6 +2897,145 @@ const TOOLS = [
2897
2897
  required: ["actionItemId"],
2898
2898
  },
2899
2899
  },
2900
+ // ==================== HABIT TRACKER ====================
2901
+ {
2902
+ name: "get_habits",
2903
+ description: "Get all active habits grouped by category with streaks and completion stats. Returns habits with their current streak, longest streak, total completions, and category groupings.",
2904
+ inputSchema: {
2905
+ type: "object",
2906
+ properties: {
2907
+ categoryId: { type: "string", description: "Filter by category ID" },
2908
+ includeArchived: { type: "boolean", description: "Include archived habits (default false)" },
2909
+ },
2910
+ },
2911
+ },
2912
+ {
2913
+ name: "get_habits_for_date",
2914
+ description: "Get habits scheduled for a specific date with their check-in status (completed/skipped/pending/incomplete). Essential for daily habit reviews and check-ins.",
2915
+ inputSchema: {
2916
+ type: "object",
2917
+ properties: {
2918
+ date: { type: "string", description: "Date in YYYY-MM-DD format" },
2919
+ },
2920
+ required: ["date"],
2921
+ },
2922
+ },
2923
+ {
2924
+ name: "get_habit",
2925
+ description: "Get a single habit with extended stats including monthly completions and completion rate.",
2926
+ inputSchema: {
2927
+ type: "object",
2928
+ properties: {
2929
+ habitId: { type: "string", description: "The habit ID" },
2930
+ },
2931
+ required: ["habitId"],
2932
+ },
2933
+ },
2934
+ {
2935
+ name: "create_habit",
2936
+ description: "Create a new habit to track. Supports daily or weekly frequency with specific target days.",
2937
+ inputSchema: {
2938
+ type: "object",
2939
+ properties: {
2940
+ name: { type: "string", description: "Habit name (e.g., 'Meditate', 'Read 30 min', 'No social media')" },
2941
+ description: { type: "string", description: "Habit description" },
2942
+ icon: { type: "string", description: "Emoji icon for the habit" },
2943
+ categoryId: { type: "string", description: "Category ID to group under" },
2944
+ initiativeId: { type: "string", description: "Link to a yearly initiative" },
2945
+ frequency: { type: "string", enum: ["daily", "weekly"], description: "How often the habit should be tracked" },
2946
+ targetDays: {
2947
+ type: "array",
2948
+ items: { type: "string", enum: ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"] },
2949
+ description: "For weekly habits: which days to track",
2950
+ },
2951
+ },
2952
+ required: ["name", "frequency"],
2953
+ },
2954
+ },
2955
+ {
2956
+ name: "update_habit",
2957
+ description: "Update a habit's details (name, frequency, category, etc.)",
2958
+ inputSchema: {
2959
+ type: "object",
2960
+ properties: {
2961
+ habitId: { type: "string", description: "The habit ID" },
2962
+ name: { type: "string", description: "Updated name" },
2963
+ description: { type: "string", description: "Updated description" },
2964
+ icon: { type: "string", description: "Updated emoji icon" },
2965
+ categoryId: { type: "string", description: "Move to different category (use 'null' to uncategorize)" },
2966
+ initiativeId: { type: "string", description: "Link/unlink initiative (use 'null' to unlink)" },
2967
+ frequency: { type: "string", enum: ["daily", "weekly"], description: "Updated frequency" },
2968
+ targetDays: {
2969
+ type: "array",
2970
+ items: { type: "string", enum: ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"] },
2971
+ description: "For weekly habits: updated target days",
2972
+ },
2973
+ isActive: { type: "boolean", description: "Activate or deactivate the habit" },
2974
+ },
2975
+ required: ["habitId"],
2976
+ },
2977
+ },
2978
+ {
2979
+ name: "archive_habit",
2980
+ description: "Archive a habit (soft delete). Preserves check-in history but removes from active tracking.",
2981
+ inputSchema: {
2982
+ type: "object",
2983
+ properties: {
2984
+ habitId: { type: "string", description: "The habit ID" },
2985
+ },
2986
+ required: ["habitId"],
2987
+ },
2988
+ },
2989
+ {
2990
+ name: "check_in_habit",
2991
+ description: "Check in a habit for a specific date. Mark as completed, skipped (with optional reason), or incomplete. This is the primary tool for daily habit tracking.",
2992
+ inputSchema: {
2993
+ type: "object",
2994
+ properties: {
2995
+ habitId: { type: "string", description: "The habit ID" },
2996
+ date: { type: "string", description: "Date in YYYY-MM-DD format" },
2997
+ completed: { type: "boolean", description: "true = completed, false = incomplete" },
2998
+ skipped: { type: "boolean", description: "true = intentionally skipped (not a failure)" },
2999
+ note: { type: "string", description: "Optional note or reason (especially useful for skips)" },
3000
+ },
3001
+ required: ["habitId", "date", "completed"],
3002
+ },
3003
+ },
3004
+ {
3005
+ name: "get_habit_check_ins",
3006
+ description: "Get check-in history for a specific habit. Shows completion dates, skips, and notes.",
3007
+ inputSchema: {
3008
+ type: "object",
3009
+ properties: {
3010
+ habitId: { type: "string", description: "The habit ID" },
3011
+ limit: { type: "number", description: "Max results (default 30, max 100)" },
3012
+ },
3013
+ required: ["habitId"],
3014
+ },
3015
+ },
3016
+ {
3017
+ name: "get_habit_categories",
3018
+ description: "Get all habit categories for organizing habits into groups.",
3019
+ inputSchema: {
3020
+ type: "object",
3021
+ properties: {
3022
+ includeArchived: { type: "boolean", description: "Include archived categories (default false)" },
3023
+ },
3024
+ },
3025
+ },
3026
+ {
3027
+ name: "create_habit_category",
3028
+ description: "Create a new habit category for grouping related habits together.",
3029
+ inputSchema: {
3030
+ type: "object",
3031
+ properties: {
3032
+ name: { type: "string", description: "Category name (e.g., 'Morning Routine', 'Health', 'Mindset')" },
3033
+ icon: { type: "string", description: "Emoji icon (default: 📋)" },
3034
+ color: { type: "string", description: "Hex color (default: #6366f1)" },
3035
+ },
3036
+ required: ["name"],
3037
+ },
3038
+ },
2900
3039
  // MCP Server Info
2901
3040
  {
2902
3041
  name: "get_version",
@@ -3200,6 +3339,28 @@ const PROMPTS = [
3200
3339
  },
3201
3340
  ],
3202
3341
  },
3342
+ {
3343
+ name: "habit-check",
3344
+ description: "Daily habit check-in: review today's habits, mark completions, celebrate streaks.",
3345
+ arguments: [
3346
+ {
3347
+ name: "habits",
3348
+ description: "Specific habits to check in (optional, comma-separated habit names or IDs)",
3349
+ required: false,
3350
+ },
3351
+ ],
3352
+ },
3353
+ {
3354
+ name: "daily-training-report",
3355
+ description: "Comprehensive daily training report: yesterday's results, today's focus, habit compliance, health data, ADHD focus management.",
3356
+ arguments: [
3357
+ {
3358
+ name: "date",
3359
+ description: "Specific date in ISO format (optional, defaults to today)",
3360
+ required: false,
3361
+ },
3362
+ ],
3363
+ },
3203
3364
  ];
3204
3365
  // Prompt message templates keyed by prompt name
3205
3366
  const PROMPT_MESSAGES = {
@@ -3984,6 +4145,80 @@ Present a session review:
3984
4145
  },
3985
4146
  ];
3986
4147
  },
4148
+ "habit-check": (args) => {
4149
+ const habitsClause = args.habits
4150
+ ? `The user wants to check in these specific habits: ${args.habits}. Use check_in_habit to mark them as completed.`
4151
+ : "";
4152
+ return [
4153
+ {
4154
+ role: "user",
4155
+ content: {
4156
+ type: "text",
4157
+ text: `Run a daily habit check-in. Use the LifeOS tools to:
4158
+
4159
+ 1. Call get_habits_for_date with today's date to see all scheduled habits and their status
4160
+ 2. Call get_habits to see full habit list with streaks
4161
+
4162
+ Present a clear dashboard showing:
4163
+ - Each habit scheduled for today with status (completed/pending/skipped)
4164
+ - Current streaks for each habit
4165
+ - Overall completion rate for today
4166
+ - Any streaks at risk (habits not yet completed today that have active streaks)
4167
+
4168
+ ${habitsClause}
4169
+
4170
+ Tone: Direct, accountability-focused. Celebrate completed habits, flag pending ones with urgency.`,
4171
+ },
4172
+ },
4173
+ ];
4174
+ },
4175
+ "daily-training-report": (args) => {
4176
+ const dateClause = args.date
4177
+ ? `Use date: ${args.date}`
4178
+ : "Use today's date.";
4179
+ return [
4180
+ {
4181
+ role: "user",
4182
+ content: {
4183
+ type: "text",
4184
+ text: `Generate a comprehensive daily training report. Use the LifeOS tools to gather:
4185
+
4186
+ 1. HABITS: Call get_habits_for_date for yesterday's date (habit compliance review)
4187
+ 2. HABITS TODAY: Call get_habits_for_date for today's date (today's targets)
4188
+ 3. HEALTH: Call get_health_sleep, get_health_readiness, get_health_activity (1 day each) for Oura Ring data
4189
+ 4. AGENDA: Call get_daily_agenda for today's schedule and tasks
4190
+ 5. INITIATIVES: Call get_initiatives to check yearly goal progress
4191
+ 6. ACTION ITEMS: Call get_coaching_action_items for pending coaching items
4192
+
4193
+ ${dateClause}
4194
+
4195
+ Synthesize into a structured report:
4196
+
4197
+ **YESTERDAY'S RESULTS**
4198
+ - Habit completion: X/Y completed, list each with status
4199
+ - Streaks maintained or broken
4200
+ - Health scores (sleep, readiness, activity)
4201
+
4202
+ **TODAY'S FOCUS**
4203
+ - Top 3 priorities (from agenda + top priority tasks)
4204
+ - Habits scheduled for today
4205
+ - Any overdue items or broken streaks to recover
4206
+
4207
+ **ACCOUNTABILITY**
4208
+ - Habits skipped or missed yesterday (call these out directly)
4209
+ - Streak warnings (habits with active streaks that need attention today)
4210
+ - "Never skip a rep" reminder for any pending habits
4211
+
4212
+ **ADHD FOCUS CHECK**
4213
+ - Are today's tasks aligned with your initiatives/yearly goals?
4214
+ - Flag any "busy work" vs "real progress" items
4215
+ - Suggested focus blocks for deep work
4216
+
4217
+ Keep it direct and no-BS. This is a personal trainer report, not a gentle suggestion.`,
4218
+ },
4219
+ },
4220
+ ];
4221
+ },
3987
4222
  };
3988
4223
  // Configuration: CLI flags take precedence over env vars
3989
4224
  // NOTE: HTTP routes are served from .convex.site, NOT .convex.cloud
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starascendin/lifeos-mcp",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "MCP server for LifeOS Project Management - manage projects, tasks, notes, and contacts via AI assistants",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",