@intangle/mcp-server 1.0.2 → 1.0.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.
- package/dist/index.js +197 -0
- package/index.ts +207 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -184,6 +184,160 @@ const TOOLS = [
|
|
|
184
184
|
required: ["space_id"],
|
|
185
185
|
},
|
|
186
186
|
},
|
|
187
|
+
{
|
|
188
|
+
name: "start",
|
|
189
|
+
description: "Start working in a space and get its context. Returns static context, auto-searched memories, preferences, and optionally pending tasks. Call this when starting a conversation in a space to get relevant context.",
|
|
190
|
+
inputSchema: {
|
|
191
|
+
type: "object",
|
|
192
|
+
properties: {
|
|
193
|
+
space_id: {
|
|
194
|
+
type: "string",
|
|
195
|
+
description: "Space to start (e.g., 'renvoi', 'personal')",
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
required: ["space_id"],
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: "add_task",
|
|
203
|
+
description: "Create a task in your space with status tracking. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
204
|
+
inputSchema: {
|
|
205
|
+
type: "object",
|
|
206
|
+
properties: {
|
|
207
|
+
space_id: {
|
|
208
|
+
type: "string",
|
|
209
|
+
description: "REQUIRED: Space to create task in (use list_spaces to see available options)",
|
|
210
|
+
},
|
|
211
|
+
title: {
|
|
212
|
+
type: "string",
|
|
213
|
+
description: "Task title/summary",
|
|
214
|
+
},
|
|
215
|
+
content: {
|
|
216
|
+
type: "string",
|
|
217
|
+
description: "Detailed task description",
|
|
218
|
+
},
|
|
219
|
+
topics: {
|
|
220
|
+
type: "array",
|
|
221
|
+
items: { type: "string" },
|
|
222
|
+
description: "Optional topics/tags for organization",
|
|
223
|
+
},
|
|
224
|
+
status: {
|
|
225
|
+
type: "string",
|
|
226
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
227
|
+
description: "Task status (default: pending)",
|
|
228
|
+
default: "pending",
|
|
229
|
+
},
|
|
230
|
+
parent_id: {
|
|
231
|
+
type: "string",
|
|
232
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
required: ["space_id", "title", "content"],
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: "update_task_status",
|
|
240
|
+
description: "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
241
|
+
inputSchema: {
|
|
242
|
+
type: "object",
|
|
243
|
+
properties: {
|
|
244
|
+
task_id: {
|
|
245
|
+
type: "string",
|
|
246
|
+
description: "Task ID to update",
|
|
247
|
+
},
|
|
248
|
+
status: {
|
|
249
|
+
type: "string",
|
|
250
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
251
|
+
description: "New status",
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
required: ["task_id", "status"],
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: "update_task",
|
|
259
|
+
description: "Update task title, content, or topics",
|
|
260
|
+
inputSchema: {
|
|
261
|
+
type: "object",
|
|
262
|
+
properties: {
|
|
263
|
+
task_id: {
|
|
264
|
+
type: "string",
|
|
265
|
+
description: "Task ID to update",
|
|
266
|
+
},
|
|
267
|
+
title: {
|
|
268
|
+
type: "string",
|
|
269
|
+
description: "New title (optional)",
|
|
270
|
+
},
|
|
271
|
+
content: {
|
|
272
|
+
type: "string",
|
|
273
|
+
description: "New content (optional)",
|
|
274
|
+
},
|
|
275
|
+
topics: {
|
|
276
|
+
type: "array",
|
|
277
|
+
items: { type: "string" },
|
|
278
|
+
description: "New topics array (optional)",
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
required: ["task_id"],
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: "list_tasks",
|
|
286
|
+
description: "List tasks in a space with optional filtering",
|
|
287
|
+
inputSchema: {
|
|
288
|
+
type: "object",
|
|
289
|
+
properties: {
|
|
290
|
+
space_id: {
|
|
291
|
+
type: "string",
|
|
292
|
+
description: "Space to list tasks from",
|
|
293
|
+
},
|
|
294
|
+
status: {
|
|
295
|
+
type: "string",
|
|
296
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
297
|
+
description: "Optional: Filter by status",
|
|
298
|
+
},
|
|
299
|
+
topics: {
|
|
300
|
+
type: "array",
|
|
301
|
+
items: { type: "string" },
|
|
302
|
+
description: "Optional: Filter by topics",
|
|
303
|
+
},
|
|
304
|
+
limit: {
|
|
305
|
+
type: "number",
|
|
306
|
+
description: "Maximum number of tasks to return",
|
|
307
|
+
default: 50,
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
required: ["space_id"],
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
name: "delete_task",
|
|
315
|
+
description: "Delete a task and its relationships",
|
|
316
|
+
inputSchema: {
|
|
317
|
+
type: "object",
|
|
318
|
+
properties: {
|
|
319
|
+
task_id: {
|
|
320
|
+
type: "string",
|
|
321
|
+
description: "ID of task to delete",
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
required: ["task_id"],
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
name: "list_subtasks",
|
|
329
|
+
description: "Get all subtasks of a parent task",
|
|
330
|
+
inputSchema: {
|
|
331
|
+
type: "object",
|
|
332
|
+
properties: {
|
|
333
|
+
parent_id: {
|
|
334
|
+
type: "string",
|
|
335
|
+
description: "Parent task ID",
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
required: ["parent_id"],
|
|
339
|
+
},
|
|
340
|
+
},
|
|
187
341
|
];
|
|
188
342
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
189
343
|
tools: TOOLS,
|
|
@@ -243,6 +397,28 @@ async function handleGetSpaceInfo(args) {
|
|
|
243
397
|
const { space_id } = args;
|
|
244
398
|
return makeApiCall("get-space-info", { space_id });
|
|
245
399
|
}
|
|
400
|
+
async function handleStart(args) {
|
|
401
|
+
const { space_id } = args;
|
|
402
|
+
return makeApiCall("start", { space_id });
|
|
403
|
+
}
|
|
404
|
+
async function handleAddTask(args) {
|
|
405
|
+
return makeApiCall("add-task", args);
|
|
406
|
+
}
|
|
407
|
+
async function handleUpdateTaskStatus(args) {
|
|
408
|
+
return makeApiCall("update-task-status", args);
|
|
409
|
+
}
|
|
410
|
+
async function handleUpdateTask(args) {
|
|
411
|
+
return makeApiCall("update-task", args);
|
|
412
|
+
}
|
|
413
|
+
async function handleListTasks(args) {
|
|
414
|
+
return makeApiCall("list-tasks", args);
|
|
415
|
+
}
|
|
416
|
+
async function handleDeleteTask(args) {
|
|
417
|
+
return makeApiCall("delete-task", args);
|
|
418
|
+
}
|
|
419
|
+
async function handleListSubtasks(args) {
|
|
420
|
+
return makeApiCall("list-subtasks", args);
|
|
421
|
+
}
|
|
246
422
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
247
423
|
const { name, arguments: args } = request.params;
|
|
248
424
|
try {
|
|
@@ -272,6 +448,27 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
272
448
|
case "get_space_info":
|
|
273
449
|
result = await handleGetSpaceInfo(args);
|
|
274
450
|
break;
|
|
451
|
+
case "start":
|
|
452
|
+
result = await handleStart(args);
|
|
453
|
+
break;
|
|
454
|
+
case "add_task":
|
|
455
|
+
result = await handleAddTask(args);
|
|
456
|
+
break;
|
|
457
|
+
case "update_task_status":
|
|
458
|
+
result = await handleUpdateTaskStatus(args);
|
|
459
|
+
break;
|
|
460
|
+
case "update_task":
|
|
461
|
+
result = await handleUpdateTask(args);
|
|
462
|
+
break;
|
|
463
|
+
case "list_tasks":
|
|
464
|
+
result = await handleListTasks(args);
|
|
465
|
+
break;
|
|
466
|
+
case "delete_task":
|
|
467
|
+
result = await handleDeleteTask(args);
|
|
468
|
+
break;
|
|
469
|
+
case "list_subtasks":
|
|
470
|
+
result = await handleListSubtasks(args);
|
|
471
|
+
break;
|
|
275
472
|
default:
|
|
276
473
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
277
474
|
}
|
package/index.ts
CHANGED
|
@@ -217,6 +217,163 @@ const TOOLS = [
|
|
|
217
217
|
required: ["space_id"],
|
|
218
218
|
},
|
|
219
219
|
},
|
|
220
|
+
{
|
|
221
|
+
name: "start",
|
|
222
|
+
description:
|
|
223
|
+
"Start working in a space and get its context. Returns static context, auto-searched memories, preferences, and optionally pending tasks. Call this when starting a conversation in a space to get relevant context.",
|
|
224
|
+
inputSchema: {
|
|
225
|
+
type: "object",
|
|
226
|
+
properties: {
|
|
227
|
+
space_id: {
|
|
228
|
+
type: "string",
|
|
229
|
+
description: "Space to start (e.g., 'renvoi', 'personal')",
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
required: ["space_id"],
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: "add_task",
|
|
237
|
+
description:
|
|
238
|
+
"Create a task in your space with status tracking. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
239
|
+
inputSchema: {
|
|
240
|
+
type: "object",
|
|
241
|
+
properties: {
|
|
242
|
+
space_id: {
|
|
243
|
+
type: "string",
|
|
244
|
+
description:
|
|
245
|
+
"REQUIRED: Space to create task in (use list_spaces to see available options)",
|
|
246
|
+
},
|
|
247
|
+
title: {
|
|
248
|
+
type: "string",
|
|
249
|
+
description: "Task title/summary",
|
|
250
|
+
},
|
|
251
|
+
content: {
|
|
252
|
+
type: "string",
|
|
253
|
+
description: "Detailed task description",
|
|
254
|
+
},
|
|
255
|
+
topics: {
|
|
256
|
+
type: "array",
|
|
257
|
+
items: { type: "string" },
|
|
258
|
+
description: "Optional topics/tags for organization",
|
|
259
|
+
},
|
|
260
|
+
status: {
|
|
261
|
+
type: "string",
|
|
262
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
263
|
+
description: "Task status (default: pending)",
|
|
264
|
+
default: "pending",
|
|
265
|
+
},
|
|
266
|
+
parent_id: {
|
|
267
|
+
type: "string",
|
|
268
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
required: ["space_id", "title", "content"],
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: "update_task_status",
|
|
276
|
+
description: "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
277
|
+
inputSchema: {
|
|
278
|
+
type: "object",
|
|
279
|
+
properties: {
|
|
280
|
+
task_id: {
|
|
281
|
+
type: "string",
|
|
282
|
+
description: "Task ID to update",
|
|
283
|
+
},
|
|
284
|
+
status: {
|
|
285
|
+
type: "string",
|
|
286
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
287
|
+
description: "New status",
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
required: ["task_id", "status"],
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
name: "update_task",
|
|
295
|
+
description: "Update task title, content, or topics",
|
|
296
|
+
inputSchema: {
|
|
297
|
+
type: "object",
|
|
298
|
+
properties: {
|
|
299
|
+
task_id: {
|
|
300
|
+
type: "string",
|
|
301
|
+
description: "Task ID to update",
|
|
302
|
+
},
|
|
303
|
+
title: {
|
|
304
|
+
type: "string",
|
|
305
|
+
description: "New title (optional)",
|
|
306
|
+
},
|
|
307
|
+
content: {
|
|
308
|
+
type: "string",
|
|
309
|
+
description: "New content (optional)",
|
|
310
|
+
},
|
|
311
|
+
topics: {
|
|
312
|
+
type: "array",
|
|
313
|
+
items: { type: "string" },
|
|
314
|
+
description: "New topics array (optional)",
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
required: ["task_id"],
|
|
318
|
+
},
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
name: "list_tasks",
|
|
322
|
+
description: "List tasks in a space with optional filtering",
|
|
323
|
+
inputSchema: {
|
|
324
|
+
type: "object",
|
|
325
|
+
properties: {
|
|
326
|
+
space_id: {
|
|
327
|
+
type: "string",
|
|
328
|
+
description: "Space to list tasks from",
|
|
329
|
+
},
|
|
330
|
+
status: {
|
|
331
|
+
type: "string",
|
|
332
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
333
|
+
description: "Optional: Filter by status",
|
|
334
|
+
},
|
|
335
|
+
topics: {
|
|
336
|
+
type: "array",
|
|
337
|
+
items: { type: "string" },
|
|
338
|
+
description: "Optional: Filter by topics",
|
|
339
|
+
},
|
|
340
|
+
limit: {
|
|
341
|
+
type: "number",
|
|
342
|
+
description: "Maximum number of tasks to return",
|
|
343
|
+
default: 50,
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
required: ["space_id"],
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
name: "delete_task",
|
|
351
|
+
description: "Delete a task and its relationships",
|
|
352
|
+
inputSchema: {
|
|
353
|
+
type: "object",
|
|
354
|
+
properties: {
|
|
355
|
+
task_id: {
|
|
356
|
+
type: "string",
|
|
357
|
+
description: "ID of task to delete",
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
required: ["task_id"],
|
|
361
|
+
},
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
name: "list_subtasks",
|
|
365
|
+
description: "Get all subtasks of a parent task",
|
|
366
|
+
inputSchema: {
|
|
367
|
+
type: "object",
|
|
368
|
+
properties: {
|
|
369
|
+
parent_id: {
|
|
370
|
+
type: "string",
|
|
371
|
+
description: "Parent task ID",
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
required: ["parent_id"],
|
|
375
|
+
},
|
|
376
|
+
},
|
|
220
377
|
];
|
|
221
378
|
|
|
222
379
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
@@ -321,6 +478,35 @@ async function handleGetSpaceInfo(args: any) {
|
|
|
321
478
|
return makeApiCall("get-space-info", { space_id });
|
|
322
479
|
}
|
|
323
480
|
|
|
481
|
+
async function handleStart(args: any) {
|
|
482
|
+
const { space_id } = args as { space_id: string };
|
|
483
|
+
return makeApiCall("start", { space_id });
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
async function handleAddTask(args: any) {
|
|
487
|
+
return makeApiCall("add-task", args);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
async function handleUpdateTaskStatus(args: any) {
|
|
491
|
+
return makeApiCall("update-task-status", args);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
async function handleUpdateTask(args: any) {
|
|
495
|
+
return makeApiCall("update-task", args);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
async function handleListTasks(args: any) {
|
|
499
|
+
return makeApiCall("list-tasks", args);
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
async function handleDeleteTask(args: any) {
|
|
503
|
+
return makeApiCall("delete-task", args);
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
async function handleListSubtasks(args: any) {
|
|
507
|
+
return makeApiCall("list-subtasks", args);
|
|
508
|
+
}
|
|
509
|
+
|
|
324
510
|
server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
325
511
|
const { name, arguments: args } = request.params;
|
|
326
512
|
|
|
@@ -352,6 +538,27 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
352
538
|
case "get_space_info":
|
|
353
539
|
result = await handleGetSpaceInfo(args);
|
|
354
540
|
break;
|
|
541
|
+
case "start":
|
|
542
|
+
result = await handleStart(args);
|
|
543
|
+
break;
|
|
544
|
+
case "add_task":
|
|
545
|
+
result = await handleAddTask(args);
|
|
546
|
+
break;
|
|
547
|
+
case "update_task_status":
|
|
548
|
+
result = await handleUpdateTaskStatus(args);
|
|
549
|
+
break;
|
|
550
|
+
case "update_task":
|
|
551
|
+
result = await handleUpdateTask(args);
|
|
552
|
+
break;
|
|
553
|
+
case "list_tasks":
|
|
554
|
+
result = await handleListTasks(args);
|
|
555
|
+
break;
|
|
556
|
+
case "delete_task":
|
|
557
|
+
result = await handleDeleteTask(args);
|
|
558
|
+
break;
|
|
559
|
+
case "list_subtasks":
|
|
560
|
+
result = await handleListSubtasks(args);
|
|
561
|
+
break;
|
|
355
562
|
default:
|
|
356
563
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
357
564
|
}
|