@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.
Files changed (3) hide show
  1. package/dist/index.js +25 -27
  2. package/index.ts +27 -29
  3. 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.8";
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 one or more memories in the user's memory graph with flexible topics. Accepts a single memory object or an array of memory objects for batch creation. REQUIRES space_id parameter.",
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 memories using advanced hybrid search (semantic + text + entity relationships). ALWAYS provide space_id parameter - this is mandatory for all searches.",
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 memories stored in the system. REQUIRES space_id parameter.",
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 memories",
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: "Optional memory ID to get entities for specific memory",
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 memories in a single transaction. Accepts a single memory ID or an array of memory IDs for batch deletion.",
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 memory counts",
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 memories and tasks')",
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 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.",
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 tasks. Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
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.8";
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 one or more memories in the user's memory graph with flexible topics. Accepts a single memory object or an array of memory objects for batch creation. REQUIRES space_id parameter.",
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 memories using advanced hybrid search (semantic + text + entity relationships). ALWAYS provide space_id parameter - this is mandatory for all searches.",
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 memories stored in the system. REQUIRES space_id parameter.",
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 memories",
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: "Optional memory ID to get entities for specific memory",
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 memories in a single transaction. Accepts a single memory ID or an array of memory IDs for batch deletion.",
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 memory counts",
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 memories and tasks')",
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 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.",
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 tasks. Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intangle/mcp-server",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Model Context Protocol server for Intangle - AI memory that persists across conversations",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",