@intangle/mcp-server 1.0.9 → 1.0.10
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 +25 -27
- package/index.ts +27 -29
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ if (!MCP_API_KEY) {
|
|
|
22
22
|
console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
23
23
|
// Version checking
|
|
24
24
|
// IMPORTANT: Update BOTH package.json version AND this constant when bumping version
|
|
25
|
-
const CURRENT_VERSION = "1.0.
|
|
25
|
+
const CURRENT_VERSION = "1.0.10";
|
|
26
26
|
let latestVersion = null;
|
|
27
27
|
let versionCheckDone = false;
|
|
28
28
|
async function checkVersion() {
|
|
@@ -75,7 +75,7 @@ const server = new Server({
|
|
|
75
75
|
const TOOLS = [
|
|
76
76
|
{
|
|
77
77
|
name: "add_memory",
|
|
78
|
-
description: "Store
|
|
78
|
+
description: "Store CONTEXT (general information and knowledge) in the user's memory system. For actionable workflow items with status tracking, use add_task instead. Accepts a single context item or an array of context items for batch creation. REQUIRES space_id parameter.",
|
|
79
79
|
inputSchema: {
|
|
80
80
|
type: "object",
|
|
81
81
|
properties: {
|
|
@@ -135,7 +135,7 @@ const TOOLS = [
|
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
137
|
name: "search_memories",
|
|
138
|
-
description: "Search through stored
|
|
138
|
+
description: "Search through ALL stored data including BOTH context (general information) AND tasks (actionable workflow items). Uses advanced hybrid search (semantic + text + entity relationships). When a user asks to 'update memory' or 'check memory', this tool searches BOTH types. ALWAYS provide space_id parameter - this is mandatory for all searches.",
|
|
139
139
|
inputSchema: {
|
|
140
140
|
type: "object",
|
|
141
141
|
properties: {
|
|
@@ -163,7 +163,7 @@ const TOOLS = [
|
|
|
163
163
|
},
|
|
164
164
|
{
|
|
165
165
|
name: "get_recent_memories",
|
|
166
|
-
description: "Get the most recent
|
|
166
|
+
description: "Get the most recent CONTEXT items (general information). For recent tasks, use list_tasks instead. NOTE: This tool is called 'get_recent_memories' (not 'fetch'). Returns fully decrypted data. REQUIRES space_id parameter.",
|
|
167
167
|
inputSchema: {
|
|
168
168
|
type: "object",
|
|
169
169
|
properties: {
|
|
@@ -187,20 +187,20 @@ const TOOLS = [
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
name: "get_entities",
|
|
190
|
-
description: "Get extracted entities (people, places, concepts) from
|
|
190
|
+
description: "Get extracted entities (people, places, concepts) from CONTEXT items (general information). If no memory_id provided, returns top 20 most frequently mentioned entities across all context. WARNING: This tool can return large responses - use sparingly and only when entity information is specifically needed.",
|
|
191
191
|
inputSchema: {
|
|
192
192
|
type: "object",
|
|
193
193
|
properties: {
|
|
194
194
|
memory_id: {
|
|
195
195
|
type: "string",
|
|
196
|
-
description: "
|
|
196
|
+
description: "Memory ID to get entities for. RECOMMENDED: Always provide memory_id to get focused results.",
|
|
197
197
|
},
|
|
198
198
|
},
|
|
199
199
|
},
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
202
|
name: "delete_memory",
|
|
203
|
-
description: "Delete one or more
|
|
203
|
+
description: "Delete one or more CONTEXT items (general information). For deleting tasks, use delete_task instead. Accepts a single memory ID or an array of memory IDs for batch deletion.",
|
|
204
204
|
inputSchema: {
|
|
205
205
|
type: "object",
|
|
206
206
|
properties: {
|
|
@@ -222,17 +222,9 @@ const TOOLS = [
|
|
|
222
222
|
required: ["memory_ids"],
|
|
223
223
|
},
|
|
224
224
|
},
|
|
225
|
-
{
|
|
226
|
-
name: "debug_memory_structure",
|
|
227
|
-
description: "Debug tool to inspect the current memory structure in the database",
|
|
228
|
-
inputSchema: {
|
|
229
|
-
type: "object",
|
|
230
|
-
properties: {},
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
225
|
{
|
|
234
226
|
name: "list_spaces",
|
|
235
|
-
description: "Get all available spaces with their descriptions and
|
|
227
|
+
description: "Get all available spaces with their descriptions and item counts (both context and tasks). Spaces are top-level containers that isolate different contexts (e.g., personal, work, projects).",
|
|
236
228
|
inputSchema: {
|
|
237
229
|
type: "object",
|
|
238
230
|
properties: {},
|
|
@@ -240,7 +232,7 @@ const TOOLS = [
|
|
|
240
232
|
},
|
|
241
233
|
{
|
|
242
234
|
name: "create_space",
|
|
243
|
-
description: "Create a new space with optional startup configuration. The 'start' tool loads this configuration when beginning work in this space. Checks user's plan limits and returns upgrade link if limit reached.",
|
|
235
|
+
description: "Create a new space with optional startup configuration. Spaces are top-level containers that hold both context (general information) and tasks (actionable items). The 'start' tool loads this configuration when beginning work in this space. Checks user's plan limits and returns upgrade link if limit reached.",
|
|
244
236
|
inputSchema: {
|
|
245
237
|
type: "object",
|
|
246
238
|
properties: {
|
|
@@ -250,7 +242,7 @@ const TOOLS = [
|
|
|
250
242
|
},
|
|
251
243
|
description: {
|
|
252
244
|
type: "string",
|
|
253
|
-
description: "Brief description of what this space is for (e.g., 'Work-related
|
|
245
|
+
description: "Brief description of what this space is for (e.g., 'Work-related context and tasks')",
|
|
254
246
|
},
|
|
255
247
|
startup_context: {
|
|
256
248
|
type: "string",
|
|
@@ -285,7 +277,7 @@ const TOOLS = [
|
|
|
285
277
|
},
|
|
286
278
|
{
|
|
287
279
|
name: "start",
|
|
288
|
-
description: "Start working in a space and get
|
|
280
|
+
description: "Start working in a space and get comprehensive initialization. Returns static context, auto-searched context (general information), preferences, and optionally pending tasks. This tool retrieves BOTH context AND tasks based on space configuration. Call this when starting a conversation in a space to get relevant information.",
|
|
289
281
|
inputSchema: {
|
|
290
282
|
type: "object",
|
|
291
283
|
properties: {
|
|
@@ -299,7 +291,7 @@ const TOOLS = [
|
|
|
299
291
|
},
|
|
300
292
|
{
|
|
301
293
|
name: "add_task",
|
|
302
|
-
description: "Create one or more tasks in your space with status tracking. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
294
|
+
description: "Create one or more tasks in your space with status tracking and priority levels. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
303
295
|
inputSchema: {
|
|
304
296
|
type: "object",
|
|
305
297
|
properties: {
|
|
@@ -331,6 +323,12 @@ const TOOLS = [
|
|
|
331
323
|
description: "Task status (default: pending)",
|
|
332
324
|
default: "pending",
|
|
333
325
|
},
|
|
326
|
+
priority: {
|
|
327
|
+
type: "string",
|
|
328
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
329
|
+
description: "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
330
|
+
default: "medium",
|
|
331
|
+
},
|
|
334
332
|
parent_id: {
|
|
335
333
|
type: "string",
|
|
336
334
|
description: "Optional parent task ID to create this as a subtask",
|
|
@@ -362,6 +360,12 @@ const TOOLS = [
|
|
|
362
360
|
description: "Task status (default: pending)",
|
|
363
361
|
default: "pending",
|
|
364
362
|
},
|
|
363
|
+
priority: {
|
|
364
|
+
type: "string",
|
|
365
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
366
|
+
description: "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
367
|
+
default: "medium",
|
|
368
|
+
},
|
|
365
369
|
parent_id: {
|
|
366
370
|
type: "string",
|
|
367
371
|
description: "Optional parent task ID to create this as a subtask",
|
|
@@ -398,7 +402,7 @@ const TOOLS = [
|
|
|
398
402
|
},
|
|
399
403
|
{
|
|
400
404
|
name: "update_task",
|
|
401
|
-
description: "Update one or more
|
|
405
|
+
description: "Update one or more TASKS (not context/memories - use add_memory to update context by creating new versions). Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
402
406
|
inputSchema: {
|
|
403
407
|
type: "object",
|
|
404
408
|
properties: {
|
|
@@ -565,9 +569,6 @@ async function handleDeleteMemory(args) {
|
|
|
565
569
|
const { memory_ids } = args;
|
|
566
570
|
return makeApiCall("delete-memory", { memory_ids });
|
|
567
571
|
}
|
|
568
|
-
async function handleDebugStructure() {
|
|
569
|
-
return makeApiCall("debug-structure", {});
|
|
570
|
-
}
|
|
571
572
|
async function handleListSpaces() {
|
|
572
573
|
return makeApiCall("list-spaces", {});
|
|
573
574
|
}
|
|
@@ -634,9 +635,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
634
635
|
case "delete_memory":
|
|
635
636
|
result = await handleDeleteMemory(args);
|
|
636
637
|
break;
|
|
637
|
-
case "debug_memory_structure":
|
|
638
|
-
result = await handleDebugStructure();
|
|
639
|
-
break;
|
|
640
638
|
case "list_spaces":
|
|
641
639
|
result = await handleListSpaces();
|
|
642
640
|
break;
|
package/index.ts
CHANGED
|
@@ -35,7 +35,7 @@ console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
|
35
35
|
|
|
36
36
|
// Version checking
|
|
37
37
|
// IMPORTANT: Update BOTH package.json version AND this constant when bumping version
|
|
38
|
-
const CURRENT_VERSION = "1.0.
|
|
38
|
+
const CURRENT_VERSION = "1.0.10";
|
|
39
39
|
let latestVersion: string | null = null;
|
|
40
40
|
let versionCheckDone = false;
|
|
41
41
|
|
|
@@ -100,7 +100,7 @@ const TOOLS = [
|
|
|
100
100
|
{
|
|
101
101
|
name: "add_memory",
|
|
102
102
|
description:
|
|
103
|
-
"Store
|
|
103
|
+
"Store CONTEXT (general information and knowledge) in the user's memory system. For actionable workflow items with status tracking, use add_task instead. Accepts a single context item or an array of context items for batch creation. REQUIRES space_id parameter.",
|
|
104
104
|
inputSchema: {
|
|
105
105
|
type: "object",
|
|
106
106
|
properties: {
|
|
@@ -164,7 +164,7 @@ const TOOLS = [
|
|
|
164
164
|
{
|
|
165
165
|
name: "search_memories",
|
|
166
166
|
description:
|
|
167
|
-
"Search through stored
|
|
167
|
+
"Search through ALL stored data including BOTH context (general information) AND tasks (actionable workflow items). Uses advanced hybrid search (semantic + text + entity relationships). When a user asks to 'update memory' or 'check memory', this tool searches BOTH types. ALWAYS provide space_id parameter - this is mandatory for all searches.",
|
|
168
168
|
inputSchema: {
|
|
169
169
|
type: "object",
|
|
170
170
|
properties: {
|
|
@@ -194,7 +194,7 @@ const TOOLS = [
|
|
|
194
194
|
{
|
|
195
195
|
name: "get_recent_memories",
|
|
196
196
|
description:
|
|
197
|
-
"Get the most recent
|
|
197
|
+
"Get the most recent CONTEXT items (general information). For recent tasks, use list_tasks instead. NOTE: This tool is called 'get_recent_memories' (not 'fetch'). Returns fully decrypted data. REQUIRES space_id parameter.",
|
|
198
198
|
inputSchema: {
|
|
199
199
|
type: "object",
|
|
200
200
|
properties: {
|
|
@@ -220,20 +220,20 @@ const TOOLS = [
|
|
|
220
220
|
{
|
|
221
221
|
name: "get_entities",
|
|
222
222
|
description:
|
|
223
|
-
"Get extracted entities (people, places, concepts) from
|
|
223
|
+
"Get extracted entities (people, places, concepts) from CONTEXT items (general information). If no memory_id provided, returns top 20 most frequently mentioned entities across all context. WARNING: This tool can return large responses - use sparingly and only when entity information is specifically needed.",
|
|
224
224
|
inputSchema: {
|
|
225
225
|
type: "object",
|
|
226
226
|
properties: {
|
|
227
227
|
memory_id: {
|
|
228
228
|
type: "string",
|
|
229
|
-
description: "
|
|
229
|
+
description: "Memory ID to get entities for. RECOMMENDED: Always provide memory_id to get focused results.",
|
|
230
230
|
},
|
|
231
231
|
},
|
|
232
232
|
},
|
|
233
233
|
},
|
|
234
234
|
{
|
|
235
235
|
name: "delete_memory",
|
|
236
|
-
description: "Delete one or more
|
|
236
|
+
description: "Delete one or more CONTEXT items (general information). For deleting tasks, use delete_task instead. Accepts a single memory ID or an array of memory IDs for batch deletion.",
|
|
237
237
|
inputSchema: {
|
|
238
238
|
type: "object",
|
|
239
239
|
properties: {
|
|
@@ -255,19 +255,10 @@ const TOOLS = [
|
|
|
255
255
|
required: ["memory_ids"],
|
|
256
256
|
},
|
|
257
257
|
},
|
|
258
|
-
{
|
|
259
|
-
name: "debug_memory_structure",
|
|
260
|
-
description:
|
|
261
|
-
"Debug tool to inspect the current memory structure in the database",
|
|
262
|
-
inputSchema: {
|
|
263
|
-
type: "object",
|
|
264
|
-
properties: {},
|
|
265
|
-
},
|
|
266
|
-
},
|
|
267
258
|
{
|
|
268
259
|
name: "list_spaces",
|
|
269
260
|
description:
|
|
270
|
-
"Get all available spaces with their descriptions and
|
|
261
|
+
"Get all available spaces with their descriptions and item counts (both context and tasks). Spaces are top-level containers that isolate different contexts (e.g., personal, work, projects).",
|
|
271
262
|
inputSchema: {
|
|
272
263
|
type: "object",
|
|
273
264
|
properties: {},
|
|
@@ -276,7 +267,7 @@ const TOOLS = [
|
|
|
276
267
|
{
|
|
277
268
|
name: "create_space",
|
|
278
269
|
description:
|
|
279
|
-
"Create a new space with optional startup configuration. The 'start' tool loads this configuration when beginning work in this space. Checks user's plan limits and returns upgrade link if limit reached.",
|
|
270
|
+
"Create a new space with optional startup configuration. Spaces are top-level containers that hold both context (general information) and tasks (actionable items). The 'start' tool loads this configuration when beginning work in this space. Checks user's plan limits and returns upgrade link if limit reached.",
|
|
280
271
|
inputSchema: {
|
|
281
272
|
type: "object",
|
|
282
273
|
properties: {
|
|
@@ -286,7 +277,7 @@ const TOOLS = [
|
|
|
286
277
|
},
|
|
287
278
|
description: {
|
|
288
279
|
type: "string",
|
|
289
|
-
description: "Brief description of what this space is for (e.g., 'Work-related
|
|
280
|
+
description: "Brief description of what this space is for (e.g., 'Work-related context and tasks')",
|
|
290
281
|
},
|
|
291
282
|
startup_context: {
|
|
292
283
|
type: "string",
|
|
@@ -322,7 +313,7 @@ const TOOLS = [
|
|
|
322
313
|
{
|
|
323
314
|
name: "start",
|
|
324
315
|
description:
|
|
325
|
-
"Start working in a space and get
|
|
316
|
+
"Start working in a space and get comprehensive initialization. Returns static context, auto-searched context (general information), preferences, and optionally pending tasks. This tool retrieves BOTH context AND tasks based on space configuration. Call this when starting a conversation in a space to get relevant information.",
|
|
326
317
|
inputSchema: {
|
|
327
318
|
type: "object",
|
|
328
319
|
properties: {
|
|
@@ -337,7 +328,7 @@ const TOOLS = [
|
|
|
337
328
|
{
|
|
338
329
|
name: "add_task",
|
|
339
330
|
description:
|
|
340
|
-
"Create one or more tasks in your space with status tracking. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
331
|
+
"Create one or more tasks in your space with status tracking and priority levels. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
341
332
|
inputSchema: {
|
|
342
333
|
type: "object",
|
|
343
334
|
properties: {
|
|
@@ -370,6 +361,13 @@ const TOOLS = [
|
|
|
370
361
|
description: "Task status (default: pending)",
|
|
371
362
|
default: "pending",
|
|
372
363
|
},
|
|
364
|
+
priority: {
|
|
365
|
+
type: "string",
|
|
366
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
367
|
+
description:
|
|
368
|
+
"Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
369
|
+
default: "medium",
|
|
370
|
+
},
|
|
373
371
|
parent_id: {
|
|
374
372
|
type: "string",
|
|
375
373
|
description: "Optional parent task ID to create this as a subtask",
|
|
@@ -401,6 +399,13 @@ const TOOLS = [
|
|
|
401
399
|
description: "Task status (default: pending)",
|
|
402
400
|
default: "pending",
|
|
403
401
|
},
|
|
402
|
+
priority: {
|
|
403
|
+
type: "string",
|
|
404
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
405
|
+
description:
|
|
406
|
+
"Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
407
|
+
default: "medium",
|
|
408
|
+
},
|
|
404
409
|
parent_id: {
|
|
405
410
|
type: "string",
|
|
406
411
|
description: "Optional parent task ID to create this as a subtask",
|
|
@@ -437,7 +442,7 @@ const TOOLS = [
|
|
|
437
442
|
},
|
|
438
443
|
{
|
|
439
444
|
name: "update_task",
|
|
440
|
-
description: "Update one or more
|
|
445
|
+
description: "Update one or more TASKS (not context/memories - use add_memory to update context by creating new versions). Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
441
446
|
inputSchema: {
|
|
442
447
|
type: "object",
|
|
443
448
|
properties: {
|
|
@@ -645,10 +650,6 @@ async function handleDeleteMemory(args: any) {
|
|
|
645
650
|
return makeApiCall("delete-memory", { memory_ids });
|
|
646
651
|
}
|
|
647
652
|
|
|
648
|
-
async function handleDebugStructure() {
|
|
649
|
-
return makeApiCall("debug-structure", {});
|
|
650
|
-
}
|
|
651
|
-
|
|
652
653
|
async function handleListSpaces() {
|
|
653
654
|
return makeApiCall("list-spaces", {});
|
|
654
655
|
}
|
|
@@ -734,9 +735,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
734
735
|
case "delete_memory":
|
|
735
736
|
result = await handleDeleteMemory(args);
|
|
736
737
|
break;
|
|
737
|
-
case "debug_memory_structure":
|
|
738
|
-
result = await handleDebugStructure();
|
|
739
|
-
break;
|
|
740
738
|
case "list_spaces":
|
|
741
739
|
result = await handleListSpaces();
|
|
742
740
|
break;
|