@intangle/mcp-server 1.1.8 → 1.2.0

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 +22 -7
  2. package/index.ts +27 -6
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -80,7 +80,7 @@ const server = new Server({
80
80
  const TOOLS = [
81
81
  {
82
82
  name: "search_memories",
83
- 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.",
83
+ description: "Search through ALL stored data including BOTH context (general information) AND tasks (actionable workflow items). Uses intelligent routing with query classification. Supports depth control for speed vs thoroughness tradeoff. ALWAYS provide space_id parameter - this is mandatory for all searches.",
84
84
  inputSchema: {
85
85
  type: "object",
86
86
  properties: {
@@ -102,6 +102,18 @@ const TOOLS = [
102
102
  description: "Maximum number of results to return",
103
103
  default: 10,
104
104
  },
105
+ depth: {
106
+ type: "string",
107
+ enum: ["quick", "balanced", "thorough"],
108
+ description: "Search depth: 'quick' = fast list retrieval, 'balanced' = smart routing with AI (default), 'thorough' = full hybrid search with attention agent",
109
+ default: "balanced",
110
+ },
111
+ return_format: {
112
+ type: "string",
113
+ enum: ["full", "summary", "ids_only"],
114
+ description: "Result format: 'full' = complete content (default), 'summary' = truncated content, 'ids_only' = just IDs for subsequent fetch",
115
+ default: "full",
116
+ },
105
117
  },
106
118
  required: ["query"],
107
119
  },
@@ -158,7 +170,7 @@ const TOOLS = [
158
170
  },
159
171
  {
160
172
  name: "create_space",
161
- 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.",
173
+ description: "Create a new space with optional 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.",
162
174
  inputSchema: {
163
175
  type: "object",
164
176
  properties: {
@@ -170,13 +182,14 @@ const TOOLS = [
170
182
  type: "string",
171
183
  description: "Brief description of what this space is for (e.g., 'Work-related context and tasks')",
172
184
  },
173
- startup_context: {
174
- type: "string",
175
- description: "Context and keywords provided to AI when starting this space. Include role, preferences, common tasks, and relevant search terms. This helps the AI understand what information to prioritize from memory.",
185
+ config_badges: {
186
+ type: "array",
187
+ items: { type: "string" },
188
+ description: "Array of keywords for memory focus in this space. These keywords help steer what context gets loaded when running 'start' for this space. Examples: ['TypeScript', 'React', 'API design', 'authentication']. They act as search terms to prioritize relevant memories.",
176
189
  },
177
190
  startup_preferences: {
178
191
  type: "string",
179
- description: "AI behavior preferences for this space. Guides how the AI should interact and respond when working in this context (e.g., 'Be concise and technical', 'Focus on creative solutions').",
192
+ description: "AI behavior preferences for this space. Guides how AI assistants and agents should communicate and behave (e.g., 'be concise and frank', 'think critically', 'play devils advocate'). This appears in the start briefing under 'Assistant Preferences'.",
180
193
  },
181
194
  include_tasks: {
182
195
  type: "boolean",
@@ -406,7 +419,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
406
419
  tools: TOOLS,
407
420
  }));
408
421
  async function handleSearchMemories(args) {
409
- const { space_id, query, topics, max_results = 10, } = args;
422
+ const { space_id, query, topics, max_results = 10, depth = "balanced", return_format = "full", } = args;
410
423
  // Require space_id
411
424
  if (!space_id) {
412
425
  throw new Error("space_id is required. Use list_spaces to see available options.");
@@ -417,6 +430,8 @@ async function handleSearchMemories(args) {
417
430
  query,
418
431
  topics,
419
432
  max_results,
433
+ depth,
434
+ return_format,
420
435
  });
421
436
  }
422
437
  async function handleGetRecentMemories(args) {
package/index.ts CHANGED
@@ -111,7 +111,7 @@ const TOOLS = [
111
111
  {
112
112
  name: "search_memories",
113
113
  description:
114
- "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.",
114
+ "Search through ALL stored data including BOTH context (general information) AND tasks (actionable workflow items). Uses intelligent routing with query classification. Supports depth control for speed vs thoroughness tradeoff. ALWAYS provide space_id parameter - this is mandatory for all searches.",
115
115
  inputSchema: {
116
116
  type: "object",
117
117
  properties: {
@@ -134,6 +134,20 @@ const TOOLS = [
134
134
  description: "Maximum number of results to return",
135
135
  default: 10,
136
136
  },
137
+ depth: {
138
+ type: "string",
139
+ enum: ["quick", "balanced", "thorough"],
140
+ description:
141
+ "Search depth: 'quick' = fast list retrieval, 'balanced' = smart routing with AI (default), 'thorough' = full hybrid search with attention agent",
142
+ default: "balanced",
143
+ },
144
+ return_format: {
145
+ type: "string",
146
+ enum: ["full", "summary", "ids_only"],
147
+ description:
148
+ "Result format: 'full' = complete content (default), 'summary' = truncated content, 'ids_only' = just IDs for subsequent fetch",
149
+ default: "full",
150
+ },
137
151
  },
138
152
  required: ["query"],
139
153
  },
@@ -197,7 +211,7 @@ const TOOLS = [
197
211
  {
198
212
  name: "create_space",
199
213
  description:
200
- "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.",
214
+ "Create a new space with optional 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.",
201
215
  inputSchema: {
202
216
  type: "object",
203
217
  properties: {
@@ -211,15 +225,16 @@ const TOOLS = [
211
225
  description:
212
226
  "Brief description of what this space is for (e.g., 'Work-related context and tasks')",
213
227
  },
214
- startup_context: {
215
- type: "string",
228
+ config_badges: {
229
+ type: "array",
230
+ items: { type: "string" },
216
231
  description:
217
- "Context and keywords provided to AI when starting this space. Include role, preferences, common tasks, and relevant search terms. This helps the AI understand what information to prioritize from memory.",
232
+ "Array of keywords for memory focus in this space. These keywords help steer what context gets loaded when running 'start' for this space. Examples: ['TypeScript', 'React', 'API design', 'authentication']. They act as search terms to prioritize relevant memories.",
218
233
  },
219
234
  startup_preferences: {
220
235
  type: "string",
221
236
  description:
222
- "AI behavior preferences for this space. Guides how the AI should interact and respond when working in this context (e.g., 'Be concise and technical', 'Focus on creative solutions').",
237
+ "AI behavior preferences for this space. Guides how AI assistants and agents should communicate and behave (e.g., 'be concise and frank', 'think critically', 'play devils advocate'). This appears in the start briefing under 'Assistant Preferences'.",
223
238
  },
224
239
  include_tasks: {
225
240
  type: "boolean",
@@ -460,11 +475,15 @@ async function handleSearchMemories(args: any) {
460
475
  query,
461
476
  topics,
462
477
  max_results = 10,
478
+ depth = "balanced",
479
+ return_format = "full",
463
480
  } = args as {
464
481
  space_id: string;
465
482
  query: string;
466
483
  topics?: string[];
467
484
  max_results?: number;
485
+ depth?: "quick" | "balanced" | "thorough";
486
+ return_format?: "full" | "summary" | "ids_only";
468
487
  };
469
488
 
470
489
  // Require space_id
@@ -480,6 +499,8 @@ async function handleSearchMemories(args: any) {
480
499
  query,
481
500
  topics,
482
501
  max_results,
502
+ depth,
503
+ return_format,
483
504
  });
484
505
  }
485
506
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intangle/mcp-server",
3
- "version": "1.1.8",
3
+ "version": "1.2.0",
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",