@intangle/mcp-server 2.2.2 → 2.3.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/tool-definitions.js +37 -30
- package/package.json +51 -51
- package/tool-definitions.ts +41 -31
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,
|
|
6
|
+
description: "Search for context, tasks, skills, 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: {
|
|
@@ -33,29 +33,51 @@ export const TOOLS = [
|
|
|
33
33
|
properties: {
|
|
34
34
|
id: {
|
|
35
35
|
type: "string",
|
|
36
|
-
description: "Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or '
|
|
36
|
+
description: "Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or 'skill_789')",
|
|
37
37
|
},
|
|
38
38
|
ids: {
|
|
39
39
|
type: "array",
|
|
40
40
|
items: { type: "string" },
|
|
41
|
-
description: "Array of IDs to fetch (mix of context, task, and
|
|
41
|
+
description: "Array of IDs to fetch (mix of context, task, and skill IDs). Use this to fetch multiple items in one call.",
|
|
42
42
|
},
|
|
43
43
|
},
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
name: "
|
|
48
|
-
title: "View
|
|
49
|
-
description: "
|
|
47
|
+
name: "view_projects",
|
|
48
|
+
title: "View Projects",
|
|
49
|
+
description: "List all projects in a space. Projects are user-created canvases that organize context, tasks, documents, and skills. Use this to discover available projects before viewing their contents.",
|
|
50
50
|
inputSchema: {
|
|
51
51
|
type: "object",
|
|
52
52
|
properties: {
|
|
53
|
-
|
|
53
|
+
space_id: {
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "REQUIRED: Space to list projects from (use view_spaces to see available options)",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
required: ["space_id"],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "view_project",
|
|
63
|
+
title: "View Project",
|
|
64
|
+
description: "View a specific project with all its items (context, tasks, documents, skills). Returns item metadata (IDs, titles, types, status) for each item in the project. Use fetch_items to get full content of specific items.",
|
|
65
|
+
inputSchema: {
|
|
66
|
+
type: "object",
|
|
67
|
+
properties: {
|
|
68
|
+
project_id: {
|
|
69
|
+
type: "string",
|
|
70
|
+
description: "Project ID to view (e.g., 'proj_123...'). Get project IDs from view_projects.",
|
|
71
|
+
},
|
|
72
|
+
space_id: {
|
|
73
|
+
type: "string",
|
|
74
|
+
description: "Optional: Space ID (required if using slug instead of project_id)",
|
|
75
|
+
},
|
|
76
|
+
slug: {
|
|
54
77
|
type: "string",
|
|
55
|
-
description: "
|
|
78
|
+
description: "Optional: Project slug (URL-friendly name). Requires space_id if used.",
|
|
56
79
|
},
|
|
57
80
|
},
|
|
58
|
-
required: ["topic_id"],
|
|
59
81
|
},
|
|
60
82
|
},
|
|
61
83
|
{
|
|
@@ -82,21 +104,6 @@ export const TOOLS = [
|
|
|
82
104
|
properties: {},
|
|
83
105
|
},
|
|
84
106
|
},
|
|
85
|
-
{
|
|
86
|
-
name: "view_topics",
|
|
87
|
-
title: "View Topics",
|
|
88
|
-
description: "View all available topics in a space with their IDs and titles. Use this to get the topic_id needed for view_topic.",
|
|
89
|
-
inputSchema: {
|
|
90
|
-
type: "object",
|
|
91
|
-
properties: {
|
|
92
|
-
space_id: {
|
|
93
|
-
type: "string",
|
|
94
|
-
description: "Space to get topics from",
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
required: ["space_id"],
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
107
|
{
|
|
101
108
|
name: "create_space",
|
|
102
109
|
title: "Create Space",
|
|
@@ -167,7 +174,7 @@ export const TOOLS = [
|
|
|
167
174
|
title: { type: "string", description: "Item title" },
|
|
168
175
|
content: {
|
|
169
176
|
type: "string",
|
|
170
|
-
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or
|
|
177
|
+
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or skill (workflow/procedure) and suggests relevant topics",
|
|
171
178
|
},
|
|
172
179
|
subtasks: {
|
|
173
180
|
type: "array",
|
|
@@ -184,20 +191,20 @@ export const TOOLS = [
|
|
|
184
191
|
},
|
|
185
192
|
required: ["title", "content"],
|
|
186
193
|
},
|
|
187
|
-
description: "Array of items to add. System intelligently: (1) classifies as task, context, or
|
|
194
|
+
description: "Array of items to add. System intelligently: (1) classifies as task, context, or skill, (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.",
|
|
188
195
|
},
|
|
189
196
|
},
|
|
190
197
|
},
|
|
191
198
|
update: {
|
|
192
199
|
type: "object",
|
|
193
|
-
description: "Update existing items (context, tasks, or
|
|
200
|
+
description: "Update existing items (context, tasks, or skills) - system detects type from ID prefix",
|
|
194
201
|
properties: {
|
|
195
202
|
items: {
|
|
196
203
|
type: "array",
|
|
197
204
|
items: {
|
|
198
205
|
type: "object",
|
|
199
206
|
properties: {
|
|
200
|
-
id: { type: "string", description: "Item ID to update (mem_* for context, task_* for tasks,
|
|
207
|
+
id: { type: "string", description: "Item ID to update (mem_* for context, task_* for tasks, skill_* for skills)" },
|
|
201
208
|
title: {
|
|
202
209
|
type: "string",
|
|
203
210
|
description: "New title (optional)",
|
|
@@ -229,7 +236,7 @@ export const TOOLS = [
|
|
|
229
236
|
},
|
|
230
237
|
required: ["id"],
|
|
231
238
|
},
|
|
232
|
-
description: "Array of items to update. Type automatically detected from ID prefix (mem_* = context, task_* = task,
|
|
239
|
+
description: "Array of items to update. Type automatically detected from ID prefix (mem_* = context, task_* = task, skill_* = skill). For context/skill items, status/priority are ignored.",
|
|
233
240
|
},
|
|
234
241
|
},
|
|
235
242
|
},
|
|
@@ -240,7 +247,7 @@ export const TOOLS = [
|
|
|
240
247
|
item_ids: {
|
|
241
248
|
type: "array",
|
|
242
249
|
items: { type: "string" },
|
|
243
|
-
description: "Array of item IDs to delete (mem_* for context, task_* for tasks,
|
|
250
|
+
description: "Array of item IDs to delete (mem_* for context, task_* for tasks, skill_* for skills). Type automatically detected from ID prefix.",
|
|
244
251
|
},
|
|
245
252
|
},
|
|
246
253
|
},
|
package/package.json
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
2
|
+
"name": "@intangle/mcp-server",
|
|
3
|
+
"version": "2.3.1",
|
|
4
|
+
"description": "Model Context Protocol server for Intangle - AI context that persists across conversations",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"start": "node dist/index.js",
|
|
9
|
+
"dev": "tsx watch index.ts",
|
|
10
|
+
"prebuild": "cp ../web/src/app/api/mcp-remote/tool-definitions.ts ./tool-definitions.ts",
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"lint": "biome check .",
|
|
13
|
+
"lint:fix": "biome check --fix .",
|
|
14
|
+
"prepublishOnly": "npm run build"
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"intangle-mcp": "dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"mcp",
|
|
21
|
+
"model-context-protocol",
|
|
22
|
+
"claude",
|
|
23
|
+
"claude-code",
|
|
24
|
+
"ai",
|
|
25
|
+
"context",
|
|
26
|
+
"knowledge-management",
|
|
27
|
+
"intangle",
|
|
28
|
+
"claude-desktop",
|
|
29
|
+
"anthropic"
|
|
30
|
+
],
|
|
31
|
+
"author": "Intangle",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/intangle/mcp-server.git"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://intangle.app",
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
43
|
+
"dotenv": "^17.2.0",
|
|
44
|
+
"node-fetch": "^3.3.2"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@biomejs/biome": "^1.9.4",
|
|
48
|
+
"@types/node": "^22.0.0",
|
|
49
|
+
"@types/node-fetch": "^2.6.12",
|
|
50
|
+
"tsx": "^4.0.0",
|
|
51
|
+
"typescript": "^5.0.0"
|
|
52
|
+
}
|
|
53
53
|
}
|
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,
|
|
7
|
+
"Search for context, tasks, skills, 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: {
|
|
@@ -37,32 +37,58 @@ export const TOOLS = [
|
|
|
37
37
|
id: {
|
|
38
38
|
type: "string",
|
|
39
39
|
description:
|
|
40
|
-
"Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or '
|
|
40
|
+
"Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or 'skill_789')",
|
|
41
41
|
},
|
|
42
42
|
ids: {
|
|
43
43
|
type: "array",
|
|
44
44
|
items: { type: "string" },
|
|
45
45
|
description:
|
|
46
|
-
"Array of IDs to fetch (mix of context, task, and
|
|
46
|
+
"Array of IDs to fetch (mix of context, task, and skill IDs). Use this to fetch multiple items in one call.",
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
|
-
name: "
|
|
53
|
-
title: "View
|
|
52
|
+
name: "view_projects",
|
|
53
|
+
title: "View Projects",
|
|
54
54
|
description:
|
|
55
|
-
"
|
|
55
|
+
"List all projects in a space. Projects are user-created canvases that organize context, tasks, documents, and skills. Use this to discover available projects before viewing their contents.",
|
|
56
56
|
inputSchema: {
|
|
57
57
|
type: "object",
|
|
58
58
|
properties: {
|
|
59
|
-
|
|
59
|
+
space_id: {
|
|
60
60
|
type: "string",
|
|
61
61
|
description:
|
|
62
|
-
"
|
|
62
|
+
"REQUIRED: Space to list projects from (use view_spaces to see available options)",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: ["space_id"],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "view_project",
|
|
70
|
+
title: "View Project",
|
|
71
|
+
description:
|
|
72
|
+
"View a specific project with all its items (context, tasks, documents, skills). Returns item metadata (IDs, titles, types, status) for each item in the project. Use fetch_items to get full content of specific items.",
|
|
73
|
+
inputSchema: {
|
|
74
|
+
type: "object",
|
|
75
|
+
properties: {
|
|
76
|
+
project_id: {
|
|
77
|
+
type: "string",
|
|
78
|
+
description:
|
|
79
|
+
"Project ID to view (e.g., 'proj_123...'). Get project IDs from view_projects.",
|
|
80
|
+
},
|
|
81
|
+
space_id: {
|
|
82
|
+
type: "string",
|
|
83
|
+
description:
|
|
84
|
+
"Optional: Space ID (required if using slug instead of project_id)",
|
|
85
|
+
},
|
|
86
|
+
slug: {
|
|
87
|
+
type: "string",
|
|
88
|
+
description:
|
|
89
|
+
"Optional: Project slug (URL-friendly name). Requires space_id if used.",
|
|
63
90
|
},
|
|
64
91
|
},
|
|
65
|
-
required: ["topic_id"],
|
|
66
92
|
},
|
|
67
93
|
},
|
|
68
94
|
{
|
|
@@ -91,22 +117,6 @@ export const TOOLS = [
|
|
|
91
117
|
properties: {},
|
|
92
118
|
},
|
|
93
119
|
},
|
|
94
|
-
{
|
|
95
|
-
name: "view_topics",
|
|
96
|
-
title: "View Topics",
|
|
97
|
-
description:
|
|
98
|
-
"View all available topics in a space with their IDs and titles. Use this to get the topic_id needed for view_topic.",
|
|
99
|
-
inputSchema: {
|
|
100
|
-
type: "object",
|
|
101
|
-
properties: {
|
|
102
|
-
space_id: {
|
|
103
|
-
type: "string",
|
|
104
|
-
description: "Space to get topics from",
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
required: ["space_id"],
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
120
|
{
|
|
111
121
|
name: "create_space",
|
|
112
122
|
title: "Create Space",
|
|
@@ -185,7 +195,7 @@ export const TOOLS = [
|
|
|
185
195
|
title: { type: "string", description: "Item title" },
|
|
186
196
|
content: {
|
|
187
197
|
type: "string",
|
|
188
|
-
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or
|
|
198
|
+
description: "Item content - system automatically classifies as task (actionable), context (knowledge), or skill (workflow/procedure) and suggests relevant topics",
|
|
189
199
|
},
|
|
190
200
|
subtasks: {
|
|
191
201
|
type: "array",
|
|
@@ -202,20 +212,20 @@ export const TOOLS = [
|
|
|
202
212
|
},
|
|
203
213
|
required: ["title", "content"],
|
|
204
214
|
},
|
|
205
|
-
description: "Array of items to add. System intelligently: (1) classifies as task, context, or
|
|
215
|
+
description: "Array of items to add. System intelligently: (1) classifies as task, context, or skill, (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.",
|
|
206
216
|
},
|
|
207
217
|
},
|
|
208
218
|
},
|
|
209
219
|
update: {
|
|
210
220
|
type: "object",
|
|
211
|
-
description: "Update existing items (context, tasks, or
|
|
221
|
+
description: "Update existing items (context, tasks, or skills) - system detects type from ID prefix",
|
|
212
222
|
properties: {
|
|
213
223
|
items: {
|
|
214
224
|
type: "array",
|
|
215
225
|
items: {
|
|
216
226
|
type: "object",
|
|
217
227
|
properties: {
|
|
218
|
-
id: { type: "string", description: "Item ID to update (mem_* for context, task_* for tasks,
|
|
228
|
+
id: { type: "string", description: "Item ID to update (mem_* for context, task_* for tasks, skill_* for skills)" },
|
|
219
229
|
title: {
|
|
220
230
|
type: "string",
|
|
221
231
|
description: "New title (optional)",
|
|
@@ -247,7 +257,7 @@ export const TOOLS = [
|
|
|
247
257
|
},
|
|
248
258
|
required: ["id"],
|
|
249
259
|
},
|
|
250
|
-
description: "Array of items to update. Type automatically detected from ID prefix (mem_* = context, task_* = task,
|
|
260
|
+
description: "Array of items to update. Type automatically detected from ID prefix (mem_* = context, task_* = task, skill_* = skill). For context/skill items, status/priority are ignored.",
|
|
251
261
|
},
|
|
252
262
|
},
|
|
253
263
|
},
|
|
@@ -258,7 +268,7 @@ export const TOOLS = [
|
|
|
258
268
|
item_ids: {
|
|
259
269
|
type: "array",
|
|
260
270
|
items: { type: "string" },
|
|
261
|
-
description: "Array of item IDs to delete (mem_* for context, task_* for tasks,
|
|
271
|
+
description: "Array of item IDs to delete (mem_* for context, task_* for tasks, skill_* for skills). Type automatically detected from ID prefix.",
|
|
262
272
|
},
|
|
263
273
|
},
|
|
264
274
|
},
|