@intangle/mcp-server 2.1.9 → 2.2.1
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 +15 -14
- package/dist/tool-definitions.js +18 -2
- package/index.ts +22 -14
- package/package.json +1 -1
- package/tool-definitions.ts +19 -2
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Intangle MCP Server - Exposes Intangle context functionality through MCP
|
|
4
4
|
*/
|
|
5
5
|
import { readFileSync } from "fs";
|
|
6
6
|
import { dirname, join } from "path";
|
|
@@ -151,21 +151,22 @@ try {
|
|
|
151
151
|
async function handleViewSpaces() {
|
|
152
152
|
return makeApiCall("list-spaces", {});
|
|
153
153
|
}
|
|
154
|
-
async function
|
|
154
|
+
async function handleViewProjects(args) {
|
|
155
155
|
const { space_id } = args;
|
|
156
156
|
if (!space_id) {
|
|
157
157
|
throw new Error("space_id is required. Use view_spaces to see available options.");
|
|
158
158
|
}
|
|
159
|
-
return makeApiCall("view-
|
|
159
|
+
return makeApiCall("view-projects", { space_id });
|
|
160
160
|
}
|
|
161
|
-
async function
|
|
162
|
-
const {
|
|
163
|
-
if (!
|
|
164
|
-
throw new Error("
|
|
161
|
+
async function handleViewProject(args) {
|
|
162
|
+
const { project_id, space_id, slug } = args;
|
|
163
|
+
if (!project_id && !slug) {
|
|
164
|
+
throw new Error("Either project_id or slug (with space_id) is required. Use view_projects to get valid IDs.");
|
|
165
165
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
if (slug && !space_id) {
|
|
167
|
+
throw new Error("space_id is required when using slug. Use view_spaces to see available options.");
|
|
168
|
+
}
|
|
169
|
+
return makeApiCall("view-project", { project_id, space_id, slug });
|
|
169
170
|
}
|
|
170
171
|
async function handleCreateSpace(args) {
|
|
171
172
|
return makeApiCall("create-space", args);
|
|
@@ -207,11 +208,11 @@ try {
|
|
|
207
208
|
case "view_spaces":
|
|
208
209
|
result = await handleViewSpaces();
|
|
209
210
|
break;
|
|
210
|
-
case "
|
|
211
|
-
result = await
|
|
211
|
+
case "view_projects":
|
|
212
|
+
result = await handleViewProjects(args);
|
|
212
213
|
break;
|
|
213
|
-
case "
|
|
214
|
-
result = await
|
|
214
|
+
case "view_project":
|
|
215
|
+
result = await handleViewProject(args);
|
|
215
216
|
break;
|
|
216
217
|
case "create_space":
|
|
217
218
|
result = await handleCreateSpace(args);
|
package/dist/tool-definitions.js
CHANGED
|
@@ -3,7 +3,7 @@ export const TOOLS = [
|
|
|
3
3
|
{
|
|
4
4
|
name: "search",
|
|
5
5
|
title: "Search Space",
|
|
6
|
-
description: "Search for context, tasks, and
|
|
6
|
+
description: "Search for context, tasks, processes, and projects within a space. System automatically extracts quantity from natural language ('show 3 tasks' → 3 results, 'the last one' → 1 result) and intelligently formats results (1-3 items → summaries, 4+ items → IDs only). Use fetch tool to get full content for specific IDs when needed.",
|
|
7
7
|
inputSchema: {
|
|
8
8
|
type: "object",
|
|
9
9
|
properties: {
|
|
@@ -151,6 +151,10 @@ export const TOOLS = [
|
|
|
151
151
|
type: "string",
|
|
152
152
|
description: "REQUIRED: Space to operate in (use view_spaces to see available options)",
|
|
153
153
|
},
|
|
154
|
+
project_id: {
|
|
155
|
+
type: "string",
|
|
156
|
+
description: "Optional: Project to add items to. All items created in this request will be linked to this project and appear on its canvas. Get project IDs from the start tool output.",
|
|
157
|
+
},
|
|
154
158
|
add: {
|
|
155
159
|
type: "object",
|
|
156
160
|
description: "Add new items to context with automatic intelligent classification and topic suggestion",
|
|
@@ -165,10 +169,22 @@ export const TOOLS = [
|
|
|
165
169
|
type: "string",
|
|
166
170
|
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or process (workflow/procedure) and suggests relevant topics",
|
|
167
171
|
},
|
|
172
|
+
subtasks: {
|
|
173
|
+
type: "array",
|
|
174
|
+
items: {
|
|
175
|
+
type: "object",
|
|
176
|
+
properties: {
|
|
177
|
+
title: { type: "string", description: "Subtask title" },
|
|
178
|
+
content: { type: "string", description: "Subtask details" },
|
|
179
|
+
},
|
|
180
|
+
required: ["title"],
|
|
181
|
+
},
|
|
182
|
+
description: "Optional: Array of subtasks for task items. Each subtask becomes a linked child task.",
|
|
183
|
+
},
|
|
168
184
|
},
|
|
169
185
|
required: ["title", "content"],
|
|
170
186
|
},
|
|
171
|
-
description: "Array of items to add. System intelligently: (1) classifies as task, context, or process, (2) suggests 1-3 relevant topics based on content and existing topics. Examples: 'Need to fix auth bug' → task with topics like 'authentication', 'bug-fix'. 'Learned React batches updates' → context with topics like 'react', 'learning'.",
|
|
187
|
+
description: "Array of items to add. System intelligently: (1) classifies as task, context, or process, (2) suggests 1-3 relevant topics based on content and existing topics. Examples: 'Need to fix auth bug' → task with topics like 'authentication', 'bug-fix'. 'Learned React batches updates' → context with topics like 'react', 'learning'. Tasks can include subtasks array for hierarchical task management.",
|
|
172
188
|
},
|
|
173
189
|
},
|
|
174
190
|
},
|
package/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Intangle MCP Server - Exposes Intangle context functionality through MCP
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { readFileSync } from "fs"
|
|
@@ -204,24 +204,32 @@ try {
|
|
|
204
204
|
return makeApiCall("list-spaces", {})
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
async function
|
|
207
|
+
async function handleViewProjects(args: any) {
|
|
208
208
|
const { space_id } = args as { space_id: string }
|
|
209
209
|
if (!space_id) {
|
|
210
210
|
throw new Error(
|
|
211
211
|
"space_id is required. Use view_spaces to see available options."
|
|
212
212
|
)
|
|
213
213
|
}
|
|
214
|
-
return makeApiCall("view-
|
|
214
|
+
return makeApiCall("view-projects", { space_id })
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
async function
|
|
218
|
-
const {
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
async function handleViewProject(args: any) {
|
|
218
|
+
const { project_id, space_id, slug } = args as {
|
|
219
|
+
project_id?: string
|
|
220
|
+
space_id?: string
|
|
221
|
+
slug?: string
|
|
221
222
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
|
|
224
|
+
if (!project_id && !slug) {
|
|
225
|
+
throw new Error("Either project_id or slug (with space_id) is required. Use view_projects to get valid IDs.")
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (slug && !space_id) {
|
|
229
|
+
throw new Error("space_id is required when using slug. Use view_spaces to see available options.")
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return makeApiCall("view-project", { project_id, space_id, slug })
|
|
225
233
|
}
|
|
226
234
|
|
|
227
235
|
async function handleCreateSpace(args: any) {
|
|
@@ -276,11 +284,11 @@ try {
|
|
|
276
284
|
case "view_spaces":
|
|
277
285
|
result = await handleViewSpaces()
|
|
278
286
|
break
|
|
279
|
-
case "
|
|
280
|
-
result = await
|
|
287
|
+
case "view_projects":
|
|
288
|
+
result = await handleViewProjects(args)
|
|
281
289
|
break
|
|
282
|
-
case "
|
|
283
|
-
result = await
|
|
290
|
+
case "view_project":
|
|
291
|
+
result = await handleViewProject(args)
|
|
284
292
|
break
|
|
285
293
|
case "create_space":
|
|
286
294
|
result = await handleCreateSpace(args)
|
package/package.json
CHANGED
package/tool-definitions.ts
CHANGED
|
@@ -4,7 +4,7 @@ export const TOOLS = [
|
|
|
4
4
|
name: "search",
|
|
5
5
|
title: "Search Space",
|
|
6
6
|
description:
|
|
7
|
-
"Search for context, tasks, and
|
|
7
|
+
"Search for context, tasks, processes, and projects within a space. System automatically extracts quantity from natural language ('show 3 tasks' → 3 results, 'the last one' → 1 result) and intelligently formats results (1-3 items → summaries, 4+ items → IDs only). Use fetch tool to get full content for specific IDs when needed.",
|
|
8
8
|
inputSchema: {
|
|
9
9
|
type: "object",
|
|
10
10
|
properties: {
|
|
@@ -168,6 +168,11 @@ export const TOOLS = [
|
|
|
168
168
|
description:
|
|
169
169
|
"REQUIRED: Space to operate in (use view_spaces to see available options)",
|
|
170
170
|
},
|
|
171
|
+
project_id: {
|
|
172
|
+
type: "string",
|
|
173
|
+
description:
|
|
174
|
+
"Optional: Project to add items to. All items created in this request will be linked to this project and appear on its canvas. Get project IDs from the start tool output.",
|
|
175
|
+
},
|
|
171
176
|
add: {
|
|
172
177
|
type: "object",
|
|
173
178
|
description: "Add new items to context with automatic intelligent classification and topic suggestion",
|
|
@@ -182,10 +187,22 @@ export const TOOLS = [
|
|
|
182
187
|
type: "string",
|
|
183
188
|
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or process (workflow/procedure) and suggests relevant topics",
|
|
184
189
|
},
|
|
190
|
+
subtasks: {
|
|
191
|
+
type: "array",
|
|
192
|
+
items: {
|
|
193
|
+
type: "object",
|
|
194
|
+
properties: {
|
|
195
|
+
title: { type: "string", description: "Subtask title" },
|
|
196
|
+
content: { type: "string", description: "Subtask details" },
|
|
197
|
+
},
|
|
198
|
+
required: ["title"],
|
|
199
|
+
},
|
|
200
|
+
description: "Optional: Array of subtasks for task items. Each subtask becomes a linked child task.",
|
|
201
|
+
},
|
|
185
202
|
},
|
|
186
203
|
required: ["title", "content"],
|
|
187
204
|
},
|
|
188
|
-
description: "Array of items to add. System intelligently: (1) classifies as task, context, or process, (2) suggests 1-3 relevant topics based on content and existing topics. Examples: 'Need to fix auth bug' → task with topics like 'authentication', 'bug-fix'. 'Learned React batches updates' → context with topics like 'react', 'learning'.",
|
|
205
|
+
description: "Array of items to add. System intelligently: (1) classifies as task, context, or process, (2) suggests 1-3 relevant topics based on content and existing topics. Examples: 'Need to fix auth bug' → task with topics like 'authentication', 'bug-fix'. 'Learned React batches updates' → context with topics like 'react', 'learning'. Tasks can include subtasks array for hierarchical task management.",
|
|
189
206
|
},
|
|
190
207
|
},
|
|
191
208
|
},
|