@starascendin/lifeos-mcp 0.7.49 → 0.7.51
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 +16 -0
- package/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +102 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,6 +72,12 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
72
72
|
|
|
73
73
|
## Available Tools
|
|
74
74
|
|
|
75
|
+
### Council
|
|
76
|
+
- **run_council** - Run the shared LifeOS council engine used by AI Panel and ZeroClaw skills
|
|
77
|
+
- **llm_council_deliberate** - Run the separate long-running LLM Council workflow
|
|
78
|
+
- **llm_council_list_conversations** - List saved LLM Council conversations
|
|
79
|
+
- **llm_council_get_deliberation** - Get a saved LLM Council deliberation
|
|
80
|
+
|
|
75
81
|
### Project Management
|
|
76
82
|
- **get_projects** - List all projects with stats
|
|
77
83
|
- **get_tasks** - Get tasks with filters (project, status, priority)
|
|
@@ -118,6 +124,16 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
118
124
|
- **create_client** - Create a new client
|
|
119
125
|
- **update_client** - Update client details
|
|
120
126
|
|
|
127
|
+
## Shared Council Architecture
|
|
128
|
+
|
|
129
|
+
`run_council` calls the Convex `POST /council-skill` endpoint. That is the same shared council core used by:
|
|
130
|
+
|
|
131
|
+
- AI Panel council mode on Convex-backed models
|
|
132
|
+
- ZeroClaw's `council` skill
|
|
133
|
+
- MCP runtimes through `run_council`
|
|
134
|
+
|
|
135
|
+
This keeps council orchestration in one place instead of duplicating it per runtime.
|
|
136
|
+
|
|
121
137
|
## CLI Help
|
|
122
138
|
|
|
123
139
|
```bash
|
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-03-
|
|
1
|
+
export declare const VERSION = "0.7.51";
|
|
2
|
+
export declare const BUILD_TIME = "2026-03-08T04:47:42.547Z";
|
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-03-
|
|
2
|
+
export const VERSION = "0.7.51";
|
|
3
|
+
export const BUILD_TIME = "2026-03-08T04:47:42.547Z";
|
package/dist/index.js
CHANGED
|
@@ -3483,6 +3483,64 @@ const TOOLS = [
|
|
|
3483
3483
|
required: ["conversationId"],
|
|
3484
3484
|
},
|
|
3485
3485
|
},
|
|
3486
|
+
{
|
|
3487
|
+
name: "run_council",
|
|
3488
|
+
description: "Run the shared LifeOS council deliberation engine and return the synthesized final answer plus council stage details. This is the same council used by the AI panel and claw council skill.",
|
|
3489
|
+
inputSchema: {
|
|
3490
|
+
type: "object",
|
|
3491
|
+
properties: {
|
|
3492
|
+
userId: {
|
|
3493
|
+
type: "string",
|
|
3494
|
+
description: "Override the default user ID (optional)",
|
|
3495
|
+
},
|
|
3496
|
+
query: {
|
|
3497
|
+
type: "string",
|
|
3498
|
+
description: "The question or prompt to deliberate on",
|
|
3499
|
+
},
|
|
3500
|
+
tier: {
|
|
3501
|
+
type: "string",
|
|
3502
|
+
enum: ["normal", "pro"],
|
|
3503
|
+
description: "Council tier. Defaults to normal.",
|
|
3504
|
+
},
|
|
3505
|
+
councilModels: {
|
|
3506
|
+
type: "array",
|
|
3507
|
+
items: {
|
|
3508
|
+
type: "object",
|
|
3509
|
+
properties: {
|
|
3510
|
+
modelId: { type: "string" },
|
|
3511
|
+
modelName: { type: "string" },
|
|
3512
|
+
},
|
|
3513
|
+
required: ["modelId", "modelName"],
|
|
3514
|
+
},
|
|
3515
|
+
description: "Optional custom council roster",
|
|
3516
|
+
},
|
|
3517
|
+
chairmanModel: {
|
|
3518
|
+
type: "object",
|
|
3519
|
+
properties: {
|
|
3520
|
+
modelId: { type: "string" },
|
|
3521
|
+
modelName: { type: "string" },
|
|
3522
|
+
},
|
|
3523
|
+
required: ["modelId", "modelName"],
|
|
3524
|
+
description: "Optional custom chairman model",
|
|
3525
|
+
},
|
|
3526
|
+
pageContext: {
|
|
3527
|
+
type: "object",
|
|
3528
|
+
properties: {
|
|
3529
|
+
type: { type: "string" },
|
|
3530
|
+
id: { type: "string" },
|
|
3531
|
+
title: { type: "string" },
|
|
3532
|
+
toolCategories: {
|
|
3533
|
+
type: "array",
|
|
3534
|
+
items: { type: "string" },
|
|
3535
|
+
},
|
|
3536
|
+
},
|
|
3537
|
+
required: ["type", "id", "title", "toolCategories"],
|
|
3538
|
+
description: "Optional page context to bias stage 0 tool gathering",
|
|
3539
|
+
},
|
|
3540
|
+
},
|
|
3541
|
+
required: ["query"],
|
|
3542
|
+
},
|
|
3543
|
+
},
|
|
3486
3544
|
// ==================== AI COACHING ====================
|
|
3487
3545
|
{
|
|
3488
3546
|
name: "get_coach_profile",
|
|
@@ -5501,6 +5559,22 @@ async function callConvexTool(tool, params) {
|
|
|
5501
5559
|
}
|
|
5502
5560
|
return result.result;
|
|
5503
5561
|
}
|
|
5562
|
+
async function callConvexJsonEndpoint(path, body) {
|
|
5563
|
+
const url = `${CONVEX_URL}${path}`;
|
|
5564
|
+
const response = await fetch(url, {
|
|
5565
|
+
method: "POST",
|
|
5566
|
+
headers: {
|
|
5567
|
+
"Content-Type": "application/json",
|
|
5568
|
+
"X-API-Key": API_KEY,
|
|
5569
|
+
},
|
|
5570
|
+
body: JSON.stringify(body),
|
|
5571
|
+
});
|
|
5572
|
+
if (!response.ok) {
|
|
5573
|
+
const errorText = await response.text();
|
|
5574
|
+
throw new Error(`Convex API error (${response.status}): ${errorText}`);
|
|
5575
|
+
}
|
|
5576
|
+
return await response.json();
|
|
5577
|
+
}
|
|
5504
5578
|
// Create the MCP server
|
|
5505
5579
|
const server = new Server({
|
|
5506
5580
|
name: "lifeos-pm",
|
|
@@ -5539,28 +5613,36 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
5539
5613
|
try {
|
|
5540
5614
|
// Handle LLM Council deliberation (special endpoint, long-running)
|
|
5541
5615
|
if (name === "llm_council_deliberate") {
|
|
5542
|
-
const url = `${CONVEX_URL}/llm-council/mcp-deliberate`;
|
|
5543
5616
|
const params = args || {};
|
|
5544
|
-
const
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5617
|
+
const { userId: overrideUserId } = params;
|
|
5618
|
+
const result = await callConvexJsonEndpoint("/llm-council/mcp-deliberate", {
|
|
5619
|
+
userId: overrideUserId || USER_ID,
|
|
5620
|
+
query: params.query,
|
|
5621
|
+
tier: params.tier,
|
|
5622
|
+
title: params.title,
|
|
5623
|
+
councilModels: params.councilModels,
|
|
5624
|
+
chairmanModel: params.chairmanModel,
|
|
5625
|
+
});
|
|
5626
|
+
return {
|
|
5627
|
+
content: [
|
|
5628
|
+
{
|
|
5629
|
+
type: "text",
|
|
5630
|
+
text: JSON.stringify(result, null, 2),
|
|
5631
|
+
},
|
|
5632
|
+
],
|
|
5633
|
+
};
|
|
5634
|
+
}
|
|
5635
|
+
if (name === "run_council") {
|
|
5636
|
+
const params = args || {};
|
|
5637
|
+
const { userId: overrideUserId } = params;
|
|
5638
|
+
const result = await callConvexJsonEndpoint("/council-skill", {
|
|
5639
|
+
userId: overrideUserId || USER_ID,
|
|
5640
|
+
query: params.query,
|
|
5641
|
+
tier: params.tier,
|
|
5642
|
+
councilModels: params.councilModels,
|
|
5643
|
+
chairmanModel: params.chairmanModel,
|
|
5644
|
+
pageContext: params.pageContext,
|
|
5558
5645
|
});
|
|
5559
|
-
if (!response.ok) {
|
|
5560
|
-
const errorText = await response.text();
|
|
5561
|
-
throw new Error(`LLM Council error (${response.status}): ${errorText}`);
|
|
5562
|
-
}
|
|
5563
|
-
const result = await response.json();
|
|
5564
5646
|
return {
|
|
5565
5647
|
content: [
|
|
5566
5648
|
{
|
package/package.json
CHANGED