@starascendin/lifeos-mcp 0.7.57 → 0.7.59
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.
- package/README.md +12 -0
- package/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +225 -38
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -103,6 +103,18 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
103
103
|
- **get_daily_agenda** - Today's tasks, events, priorities
|
|
104
104
|
- **get_weekly_agenda** - Week's tasks and events
|
|
105
105
|
|
|
106
|
+
### Habits
|
|
107
|
+
- **get_habits** - List active habits with streaks and completion stats
|
|
108
|
+
- **get_habits_for_date** - Get scheduled habits and their state for one day
|
|
109
|
+
- **get_habit** - Get one habit with extended stats
|
|
110
|
+
- **create_habit** - Create a new habit
|
|
111
|
+
- **update_habit** - Update a habit's details or active state
|
|
112
|
+
- **archive_habit** - Archive a habit while preserving history
|
|
113
|
+
- **check_in_habit** - Mark a habit complete, incomplete, or skipped for a date
|
|
114
|
+
- **get_habit_check_ins** - Get one habit's check-in history
|
|
115
|
+
- **get_habit_categories** - List habit categories
|
|
116
|
+
- **create_habit_category** - Create a habit category
|
|
117
|
+
|
|
106
118
|
### Notes
|
|
107
119
|
- **search_notes** - Search voice memos/notes
|
|
108
120
|
- **get_recent_notes** - Get recent notes
|
package/dist/build-info.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.7.
|
|
2
|
-
export declare const BUILD_TIME = "2026-
|
|
1
|
+
export declare const VERSION = "0.7.59";
|
|
2
|
+
export declare const BUILD_TIME = "2026-04-13T20:44:32.551Z";
|
package/dist/build-info.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// AUTO-GENERATED — do not edit. Regenerated on every build.
|
|
2
|
-
export const VERSION = "0.7.
|
|
3
|
-
export const BUILD_TIME = "2026-
|
|
2
|
+
export const VERSION = "0.7.59";
|
|
3
|
+
export const BUILD_TIME = "2026-04-13T20:44:32.551Z";
|
package/dist/index.js
CHANGED
|
@@ -395,6 +395,11 @@ const TOOLS = [
|
|
|
395
395
|
type: "number",
|
|
396
396
|
description: "Story points / sprint points (optional)",
|
|
397
397
|
},
|
|
398
|
+
labelIds: {
|
|
399
|
+
type: "array",
|
|
400
|
+
items: { type: "string" },
|
|
401
|
+
description: "Array of label IDs to set on the issue (replaces existing labels) (optional)",
|
|
402
|
+
},
|
|
398
403
|
},
|
|
399
404
|
required: ["issueIdOrIdentifier"],
|
|
400
405
|
},
|
|
@@ -417,6 +422,106 @@ const TOOLS = [
|
|
|
417
422
|
required: ["issueIdOrIdentifier"],
|
|
418
423
|
},
|
|
419
424
|
},
|
|
425
|
+
// Label Management Tools
|
|
426
|
+
{
|
|
427
|
+
name: "get_labels",
|
|
428
|
+
description: "Get all labels for the user. Can filter by project or get workspace-wide labels.",
|
|
429
|
+
inputSchema: {
|
|
430
|
+
type: "object",
|
|
431
|
+
properties: {
|
|
432
|
+
userId: {
|
|
433
|
+
type: "string",
|
|
434
|
+
description: "Override the default user ID (optional)",
|
|
435
|
+
},
|
|
436
|
+
projectId: {
|
|
437
|
+
type: "string",
|
|
438
|
+
description: "Filter by project ID (optional)",
|
|
439
|
+
},
|
|
440
|
+
includeWorkspaceLabels: {
|
|
441
|
+
type: "boolean",
|
|
442
|
+
description: "Include workspace-wide labels when filtering by project (default: false)",
|
|
443
|
+
},
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
name: "create_label",
|
|
449
|
+
description: "Create a new label with a name and color.",
|
|
450
|
+
inputSchema: {
|
|
451
|
+
type: "object",
|
|
452
|
+
properties: {
|
|
453
|
+
userId: {
|
|
454
|
+
type: "string",
|
|
455
|
+
description: "Override the default user ID (optional)",
|
|
456
|
+
},
|
|
457
|
+
name: {
|
|
458
|
+
type: "string",
|
|
459
|
+
description: "Label name (required)",
|
|
460
|
+
},
|
|
461
|
+
color: {
|
|
462
|
+
type: "string",
|
|
463
|
+
description: "Hex color code, e.g., #ef4444 (required)",
|
|
464
|
+
},
|
|
465
|
+
description: {
|
|
466
|
+
type: "string",
|
|
467
|
+
description: "Label description (optional)",
|
|
468
|
+
},
|
|
469
|
+
projectId: {
|
|
470
|
+
type: "string",
|
|
471
|
+
description: "Project ID to scope label to (optional - omit for workspace-wide)",
|
|
472
|
+
},
|
|
473
|
+
},
|
|
474
|
+
required: ["name", "color"],
|
|
475
|
+
},
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
name: "update_label",
|
|
479
|
+
description: "Update an existing label's name, color, or description.",
|
|
480
|
+
inputSchema: {
|
|
481
|
+
type: "object",
|
|
482
|
+
properties: {
|
|
483
|
+
userId: {
|
|
484
|
+
type: "string",
|
|
485
|
+
description: "Override the default user ID (optional)",
|
|
486
|
+
},
|
|
487
|
+
labelId: {
|
|
488
|
+
type: "string",
|
|
489
|
+
description: "Label ID (required)",
|
|
490
|
+
},
|
|
491
|
+
name: {
|
|
492
|
+
type: "string",
|
|
493
|
+
description: "Updated name (optional)",
|
|
494
|
+
},
|
|
495
|
+
color: {
|
|
496
|
+
type: "string",
|
|
497
|
+
description: "Updated hex color (optional)",
|
|
498
|
+
},
|
|
499
|
+
description: {
|
|
500
|
+
type: "string",
|
|
501
|
+
description: "Updated description (optional)",
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
required: ["labelId"],
|
|
505
|
+
},
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
name: "delete_label",
|
|
509
|
+
description: "Delete a label and remove it from all issues.",
|
|
510
|
+
inputSchema: {
|
|
511
|
+
type: "object",
|
|
512
|
+
properties: {
|
|
513
|
+
userId: {
|
|
514
|
+
type: "string",
|
|
515
|
+
description: "Override the default user ID (optional)",
|
|
516
|
+
},
|
|
517
|
+
labelId: {
|
|
518
|
+
type: "string",
|
|
519
|
+
description: "Label ID to delete (required)",
|
|
520
|
+
},
|
|
521
|
+
},
|
|
522
|
+
required: ["labelId"],
|
|
523
|
+
},
|
|
524
|
+
},
|
|
420
525
|
// Cycle/Sprint Tools
|
|
421
526
|
{
|
|
422
527
|
name: "get_current_cycle",
|
|
@@ -4221,9 +4326,18 @@ const TOOLS = [
|
|
|
4221
4326
|
environment: { type: "string", description: "Updated environment" },
|
|
4222
4327
|
interactions: { type: "string", description: "Updated interactions" },
|
|
4223
4328
|
objects: { type: "string", description: "Updated objects" },
|
|
4224
|
-
usersInvolved: {
|
|
4225
|
-
|
|
4226
|
-
|
|
4329
|
+
usersInvolved: {
|
|
4330
|
+
type: "string",
|
|
4331
|
+
description: "Updated users involved",
|
|
4332
|
+
},
|
|
4333
|
+
energyRating: {
|
|
4334
|
+
type: "number",
|
|
4335
|
+
description: "Updated energy rating 1-5",
|
|
4336
|
+
},
|
|
4337
|
+
engagementRating: {
|
|
4338
|
+
type: "number",
|
|
4339
|
+
description: "Updated engagement rating 1-5",
|
|
4340
|
+
},
|
|
4227
4341
|
flowRating: { type: "number", description: "Updated flow rating 1-5" },
|
|
4228
4342
|
isWork: { type: "boolean", description: "Updated work flag" },
|
|
4229
4343
|
isPlay: { type: "boolean", description: "Updated play flag" },
|
|
@@ -4383,10 +4497,22 @@ const TOOLS = [
|
|
|
4383
4497
|
inputSchema: {
|
|
4384
4498
|
type: "object",
|
|
4385
4499
|
properties: {
|
|
4386
|
-
work: {
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4500
|
+
work: {
|
|
4501
|
+
type: "number",
|
|
4502
|
+
description: "Work satisfaction 1-10 (required)",
|
|
4503
|
+
},
|
|
4504
|
+
play: {
|
|
4505
|
+
type: "number",
|
|
4506
|
+
description: "Play satisfaction 1-10 (required)",
|
|
4507
|
+
},
|
|
4508
|
+
love: {
|
|
4509
|
+
type: "number",
|
|
4510
|
+
description: "Love satisfaction 1-10 (required)",
|
|
4511
|
+
},
|
|
4512
|
+
health: {
|
|
4513
|
+
type: "number",
|
|
4514
|
+
description: "Health satisfaction 1-10 (required)",
|
|
4515
|
+
},
|
|
4390
4516
|
notes: { type: "string", description: "Optional reflection notes" },
|
|
4391
4517
|
},
|
|
4392
4518
|
required: ["work", "play", "love", "health"],
|
|
@@ -4414,13 +4540,19 @@ const TOOLS = [
|
|
|
4414
4540
|
type: "object",
|
|
4415
4541
|
properties: {
|
|
4416
4542
|
title: { type: "string", description: "Experiment title (required)" },
|
|
4417
|
-
hypothesis: {
|
|
4543
|
+
hypothesis: {
|
|
4544
|
+
type: "string",
|
|
4545
|
+
description: "What you want to test/learn (required)",
|
|
4546
|
+
},
|
|
4418
4547
|
type: {
|
|
4419
4548
|
type: "string",
|
|
4420
4549
|
enum: ["conversation", "experience", "side_project"],
|
|
4421
4550
|
description: "Experiment type (required)",
|
|
4422
4551
|
},
|
|
4423
|
-
odysseyPlanId: {
|
|
4552
|
+
odysseyPlanId: {
|
|
4553
|
+
type: "string",
|
|
4554
|
+
description: "Link to an Odyssey Plan",
|
|
4555
|
+
},
|
|
4424
4556
|
status: {
|
|
4425
4557
|
type: "string",
|
|
4426
4558
|
enum: ["planned", "in_progress", "completed"],
|
|
@@ -4443,8 +4575,16 @@ const TOOLS = [
|
|
|
4443
4575
|
prototypeId: { type: "string", description: "Prototype ID (required)" },
|
|
4444
4576
|
title: { type: "string", description: "Updated title" },
|
|
4445
4577
|
hypothesis: { type: "string", description: "Updated hypothesis" },
|
|
4446
|
-
type: {
|
|
4447
|
-
|
|
4578
|
+
type: {
|
|
4579
|
+
type: "string",
|
|
4580
|
+
enum: ["conversation", "experience", "side_project"],
|
|
4581
|
+
description: "Updated type",
|
|
4582
|
+
},
|
|
4583
|
+
status: {
|
|
4584
|
+
type: "string",
|
|
4585
|
+
enum: ["planned", "in_progress", "completed"],
|
|
4586
|
+
description: "Updated status",
|
|
4587
|
+
},
|
|
4448
4588
|
odysseyPlanId: { type: "string", description: "Link to Odyssey Plan" },
|
|
4449
4589
|
whatYouDid: { type: "string", description: "What you did" },
|
|
4450
4590
|
whatYouLearned: { type: "string", description: "What you learned" },
|
|
@@ -4461,7 +4601,10 @@ const TOOLS = [
|
|
|
4461
4601
|
inputSchema: {
|
|
4462
4602
|
type: "object",
|
|
4463
4603
|
properties: {
|
|
4464
|
-
prototypeId: {
|
|
4604
|
+
prototypeId: {
|
|
4605
|
+
type: "string",
|
|
4606
|
+
description: "Prototype ID to delete (required)",
|
|
4607
|
+
},
|
|
4465
4608
|
},
|
|
4466
4609
|
required: ["prototypeId"],
|
|
4467
4610
|
},
|
|
@@ -4481,7 +4624,10 @@ const TOOLS = [
|
|
|
4481
4624
|
inputSchema: {
|
|
4482
4625
|
type: "object",
|
|
4483
4626
|
properties: {
|
|
4484
|
-
personName: {
|
|
4627
|
+
personName: {
|
|
4628
|
+
type: "string",
|
|
4629
|
+
description: "Person interviewed (required)",
|
|
4630
|
+
},
|
|
4485
4631
|
role: { type: "string", description: "Their role/title (required)" },
|
|
4486
4632
|
company: { type: "string", description: "Their company" },
|
|
4487
4633
|
odysseyPlanId: { type: "string", description: "Link to Odyssey Plan" },
|
|
@@ -4496,9 +4642,18 @@ const TOOLS = [
|
|
|
4496
4642
|
description: "Key takeaways (required)",
|
|
4497
4643
|
},
|
|
4498
4644
|
followUp: { type: "string", description: "Follow-up actions" },
|
|
4499
|
-
interviewDate: {
|
|
4645
|
+
interviewDate: {
|
|
4646
|
+
type: "string",
|
|
4647
|
+
description: "Interview date ISO string (required)",
|
|
4648
|
+
},
|
|
4500
4649
|
},
|
|
4501
|
-
required: [
|
|
4650
|
+
required: [
|
|
4651
|
+
"personName",
|
|
4652
|
+
"role",
|
|
4653
|
+
"questions",
|
|
4654
|
+
"keyTakeaways",
|
|
4655
|
+
"interviewDate",
|
|
4656
|
+
],
|
|
4502
4657
|
},
|
|
4503
4658
|
},
|
|
4504
4659
|
{
|
|
@@ -4512,10 +4667,21 @@ const TOOLS = [
|
|
|
4512
4667
|
role: { type: "string", description: "Updated role" },
|
|
4513
4668
|
company: { type: "string", description: "Updated company" },
|
|
4514
4669
|
odysseyPlanId: { type: "string", description: "Link to Odyssey Plan" },
|
|
4515
|
-
questions: {
|
|
4516
|
-
|
|
4670
|
+
questions: {
|
|
4671
|
+
type: "array",
|
|
4672
|
+
items: { type: "string" },
|
|
4673
|
+
description: "Updated questions",
|
|
4674
|
+
},
|
|
4675
|
+
keyTakeaways: {
|
|
4676
|
+
type: "array",
|
|
4677
|
+
items: { type: "string" },
|
|
4678
|
+
description: "Updated takeaways",
|
|
4679
|
+
},
|
|
4517
4680
|
followUp: { type: "string", description: "Updated follow-up" },
|
|
4518
|
-
interviewDate: {
|
|
4681
|
+
interviewDate: {
|
|
4682
|
+
type: "string",
|
|
4683
|
+
description: "Updated date ISO string",
|
|
4684
|
+
},
|
|
4519
4685
|
},
|
|
4520
4686
|
required: ["interviewId"],
|
|
4521
4687
|
},
|
|
@@ -4526,7 +4692,10 @@ const TOOLS = [
|
|
|
4526
4692
|
inputSchema: {
|
|
4527
4693
|
type: "object",
|
|
4528
4694
|
properties: {
|
|
4529
|
-
interviewId: {
|
|
4695
|
+
interviewId: {
|
|
4696
|
+
type: "string",
|
|
4697
|
+
description: "Interview ID to delete (required)",
|
|
4698
|
+
},
|
|
4530
4699
|
},
|
|
4531
4700
|
required: ["interviewId"],
|
|
4532
4701
|
},
|
|
@@ -4546,14 +4715,23 @@ const TOOLS = [
|
|
|
4546
4715
|
inputSchema: {
|
|
4547
4716
|
type: "object",
|
|
4548
4717
|
properties: {
|
|
4549
|
-
belief: {
|
|
4550
|
-
|
|
4718
|
+
belief: {
|
|
4719
|
+
type: "string",
|
|
4720
|
+
description: "The dysfunctional belief (required)",
|
|
4721
|
+
},
|
|
4722
|
+
reframe: {
|
|
4723
|
+
type: "string",
|
|
4724
|
+
description: "The reframed, healthier perspective (required)",
|
|
4725
|
+
},
|
|
4551
4726
|
category: {
|
|
4552
4727
|
type: "string",
|
|
4553
4728
|
enum: ["career", "identity", "relationship", "capability"],
|
|
4554
4729
|
description: "Belief category",
|
|
4555
4730
|
},
|
|
4556
|
-
isResolved: {
|
|
4731
|
+
isResolved: {
|
|
4732
|
+
type: "boolean",
|
|
4733
|
+
description: "Whether this belief has been resolved",
|
|
4734
|
+
},
|
|
4557
4735
|
},
|
|
4558
4736
|
required: ["belief", "reframe"],
|
|
4559
4737
|
},
|
|
@@ -4564,7 +4742,10 @@ const TOOLS = [
|
|
|
4564
4742
|
inputSchema: {
|
|
4565
4743
|
type: "object",
|
|
4566
4744
|
properties: {
|
|
4567
|
-
beliefId: {
|
|
4745
|
+
beliefId: {
|
|
4746
|
+
type: "string",
|
|
4747
|
+
description: "Belief reframe ID (required)",
|
|
4748
|
+
},
|
|
4568
4749
|
belief: { type: "string", description: "Updated belief" },
|
|
4569
4750
|
reframe: { type: "string", description: "Updated reframe" },
|
|
4570
4751
|
category: {
|
|
@@ -4598,14 +4779,23 @@ const TOOLS = [
|
|
|
4598
4779
|
inputSchema: {
|
|
4599
4780
|
type: "object",
|
|
4600
4781
|
properties: {
|
|
4601
|
-
event: {
|
|
4782
|
+
event: {
|
|
4783
|
+
type: "string",
|
|
4784
|
+
description: "Brief description of the failure event (required)",
|
|
4785
|
+
},
|
|
4602
4786
|
category: {
|
|
4603
4787
|
type: "string",
|
|
4604
4788
|
enum: ["screw_up", "weakness", "growth_opportunity"],
|
|
4605
4789
|
description: "Failure category (required)",
|
|
4606
4790
|
},
|
|
4607
|
-
whatHappened: {
|
|
4608
|
-
|
|
4791
|
+
whatHappened: {
|
|
4792
|
+
type: "string",
|
|
4793
|
+
description: "Detailed account of what happened (required)",
|
|
4794
|
+
},
|
|
4795
|
+
insight: {
|
|
4796
|
+
type: "string",
|
|
4797
|
+
description: "Insight or lesson learned (required)",
|
|
4798
|
+
},
|
|
4609
4799
|
actionTaken: { type: "string", description: "Action taken or planned" },
|
|
4610
4800
|
},
|
|
4611
4801
|
required: ["event", "category", "whatHappened", "insight"],
|
|
@@ -4617,7 +4807,10 @@ const TOOLS = [
|
|
|
4617
4807
|
inputSchema: {
|
|
4618
4808
|
type: "object",
|
|
4619
4809
|
properties: {
|
|
4620
|
-
failureId: {
|
|
4810
|
+
failureId: {
|
|
4811
|
+
type: "string",
|
|
4812
|
+
description: "Failure reframe ID (required)",
|
|
4813
|
+
},
|
|
4621
4814
|
event: { type: "string", description: "Updated event" },
|
|
4622
4815
|
category: {
|
|
4623
4816
|
type: "string",
|
|
@@ -5088,9 +5281,7 @@ Present as a client brief:
|
|
|
5088
5281
|
},
|
|
5089
5282
|
],
|
|
5090
5283
|
"customer-success-triage": (args) => {
|
|
5091
|
-
const focusClause = args.focus
|
|
5092
|
-
? `\n\nFocus area: ${args.focus}`
|
|
5093
|
-
: "";
|
|
5284
|
+
const focusClause = args.focus ? `\n\nFocus area: ${args.focus}` : "";
|
|
5094
5285
|
return [
|
|
5095
5286
|
{
|
|
5096
5287
|
role: "user",
|
|
@@ -5973,7 +6164,9 @@ function formatListSection(heading, items, options) {
|
|
|
5973
6164
|
}
|
|
5974
6165
|
const rendered = items.slice(0, limit).map((item) => {
|
|
5975
6166
|
const label = getItemLabel(item);
|
|
5976
|
-
const meta = options?.metaKeys
|
|
6167
|
+
const meta = options?.metaKeys
|
|
6168
|
+
? getItemMeta(item, options.metaKeys)
|
|
6169
|
+
: undefined;
|
|
5977
6170
|
return meta ? `- ${label} (${meta})` : `- ${label}`;
|
|
5978
6171
|
});
|
|
5979
6172
|
if (items.length > limit) {
|
|
@@ -6142,13 +6335,7 @@ function formatNotesResource(client, notesResponse) {
|
|
|
6142
6335
|
const content = getString(note.content) || "";
|
|
6143
6336
|
const updatedAt = getString(note.updatedAt) || getString(note.createdAt);
|
|
6144
6337
|
const meta = updatedAt ? `Updated: ${updatedAt}` : undefined;
|
|
6145
|
-
return [
|
|
6146
|
-
`## ${title}`,
|
|
6147
|
-
meta ?? "",
|
|
6148
|
-
content,
|
|
6149
|
-
]
|
|
6150
|
-
.filter(Boolean)
|
|
6151
|
-
.join("\n");
|
|
6338
|
+
return [`## ${title}`, meta ?? "", content].filter(Boolean).join("\n");
|
|
6152
6339
|
});
|
|
6153
6340
|
return [
|
|
6154
6341
|
`# ${client.name} Client Notes`,
|
package/package.json
CHANGED