@starascendin/lifeos-mcp 0.3.0 → 0.3.2
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/dist/build-info.d.ts +2 -0
- package/dist/build-info.js +3 -0
- package/dist/index.js +63 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* LIFEOS_API_KEY API key for authentication
|
|
17
17
|
*/
|
|
18
18
|
import { Command } from "commander";
|
|
19
|
+
import { VERSION, BUILD_TIME } from "./build-info.js";
|
|
19
20
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
20
21
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
21
22
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
@@ -24,7 +25,7 @@ const program = new Command();
|
|
|
24
25
|
program
|
|
25
26
|
.name("lifeos-mcp")
|
|
26
27
|
.description("MCP server for LifeOS Project Management")
|
|
27
|
-
.version(
|
|
28
|
+
.version(VERSION)
|
|
28
29
|
.option("-u, --url <url>", "Convex deployment URL")
|
|
29
30
|
.option("-i, --user-id <id>", "User ID for API authentication")
|
|
30
31
|
.option("-k, --api-key <key>", "API key for authentication")
|
|
@@ -1477,6 +1478,55 @@ const TOOLS = [
|
|
|
1477
1478
|
required: ["beeperThreadId"],
|
|
1478
1479
|
},
|
|
1479
1480
|
},
|
|
1481
|
+
// Composite / Dossier Tools
|
|
1482
|
+
{
|
|
1483
|
+
name: "get_contact_dossier",
|
|
1484
|
+
description: "Get everything about a contact in one call: person info, AI profile, Beeper threads, Granola meetings (with AI notes and calendar events), and voice memos. Supports lookup by personId OR fuzzy name search.",
|
|
1485
|
+
inputSchema: {
|
|
1486
|
+
type: "object",
|
|
1487
|
+
properties: {
|
|
1488
|
+
userId: {
|
|
1489
|
+
type: "string",
|
|
1490
|
+
description: "Override the default user ID (optional)",
|
|
1491
|
+
},
|
|
1492
|
+
personId: {
|
|
1493
|
+
type: "string",
|
|
1494
|
+
description: "The person's ID (provide this OR nameQuery)",
|
|
1495
|
+
},
|
|
1496
|
+
nameQuery: {
|
|
1497
|
+
type: "string",
|
|
1498
|
+
description: "Fuzzy name search (provide this OR personId)",
|
|
1499
|
+
},
|
|
1500
|
+
},
|
|
1501
|
+
},
|
|
1502
|
+
},
|
|
1503
|
+
{
|
|
1504
|
+
name: "get_meeting_calendar_links",
|
|
1505
|
+
description: "Get calendar events linked to a Granola meeting, including attendees and event details.",
|
|
1506
|
+
inputSchema: {
|
|
1507
|
+
type: "object",
|
|
1508
|
+
properties: {
|
|
1509
|
+
userId: {
|
|
1510
|
+
type: "string",
|
|
1511
|
+
description: "Override the default user ID (optional)",
|
|
1512
|
+
},
|
|
1513
|
+
meetingId: {
|
|
1514
|
+
type: "string",
|
|
1515
|
+
description: "The Convex meeting ID (required)",
|
|
1516
|
+
},
|
|
1517
|
+
},
|
|
1518
|
+
required: ["meetingId"],
|
|
1519
|
+
},
|
|
1520
|
+
},
|
|
1521
|
+
// MCP Server Info
|
|
1522
|
+
{
|
|
1523
|
+
name: "get_version",
|
|
1524
|
+
description: "Get the current version and build time of the LifeOS MCP server package.",
|
|
1525
|
+
inputSchema: {
|
|
1526
|
+
type: "object",
|
|
1527
|
+
properties: {},
|
|
1528
|
+
},
|
|
1529
|
+
},
|
|
1480
1530
|
];
|
|
1481
1531
|
// Configuration: CLI flags take precedence over env vars
|
|
1482
1532
|
// NOTE: HTTP routes are served from .convex.site, NOT .convex.cloud
|
|
@@ -1535,7 +1585,7 @@ async function callConvexTool(tool, params) {
|
|
|
1535
1585
|
// Create the MCP server
|
|
1536
1586
|
const server = new Server({
|
|
1537
1587
|
name: "lifeos-pm",
|
|
1538
|
-
version:
|
|
1588
|
+
version: VERSION,
|
|
1539
1589
|
}, {
|
|
1540
1590
|
capabilities: {
|
|
1541
1591
|
tools: {},
|
|
@@ -1549,6 +1599,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
1549
1599
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
1550
1600
|
const { name, arguments: args } = request.params;
|
|
1551
1601
|
try {
|
|
1602
|
+
// Handle local-only tools (no Convex call needed)
|
|
1603
|
+
if (name === "get_version") {
|
|
1604
|
+
return {
|
|
1605
|
+
content: [
|
|
1606
|
+
{
|
|
1607
|
+
type: "text",
|
|
1608
|
+
text: JSON.stringify({ version: VERSION, buildTime: BUILD_TIME }, null, 2),
|
|
1609
|
+
},
|
|
1610
|
+
],
|
|
1611
|
+
};
|
|
1612
|
+
}
|
|
1552
1613
|
const result = await callConvexTool(name, args || {});
|
|
1553
1614
|
return {
|
|
1554
1615
|
content: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starascendin/lifeos-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
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",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"README.md"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
-
"build": "tsc",
|
|
15
|
+
"build": "node scripts/generate-build-info.mjs && tsc",
|
|
16
16
|
"dev": "tsx src/index.ts",
|
|
17
17
|
"start": "node dist/index.js",
|
|
18
18
|
"prepublishOnly": "npm run build",
|