@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.
@@ -3,7 +3,7 @@ export const TOOLS = [
3
3
  {
4
4
  name: "search",
5
5
  title: "Search Space",
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.",
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 'proc_789')",
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 process IDs). Use this to fetch multiple items in one call.",
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: "view_topic",
48
- title: "View Topic",
49
- description: "View all context, tasks, and processes tagged with a specific topic. Perfect for exploring a topic area or following up on topics from the start briefing.",
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
- topic_id: {
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: "Topic ID to view (e.g., 'architecture', 'bug-fix', 'feature-request'). Get topic IDs from view_topics.",
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 process (workflow/procedure) and suggests relevant topics",
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 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.",
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 processes) - system detects type from ID prefix",
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, proc_* for processes)" },
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, proc_* = process). For context/process items, status/priority are ignored.",
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, proc_* for processes). Type automatically detected from ID prefix.",
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
- "name": "@intangle/mcp-server",
3
- "version": "2.2.2",
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
- }
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
  }
@@ -4,7 +4,7 @@ export const TOOLS = [
4
4
  name: "search",
5
5
  title: "Search Space",
6
6
  description:
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.",
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 'proc_789')",
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 process IDs). Use this to fetch multiple items in one call.",
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: "view_topic",
53
- title: "View Topic",
52
+ name: "view_projects",
53
+ title: "View Projects",
54
54
  description:
55
- "View all context, tasks, and processes tagged with a specific topic. Perfect for exploring a topic area or following up on topics from the start briefing.",
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
- topic_id: {
59
+ space_id: {
60
60
  type: "string",
61
61
  description:
62
- "Topic ID to view (e.g., 'architecture', 'bug-fix', 'feature-request'). Get topic IDs from view_topics.",
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 process (workflow/procedure) and suggests relevant topics",
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 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.",
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 processes) - system detects type from ID prefix",
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, proc_* for processes)" },
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, proc_* = process). For context/process items, status/priority are ignored.",
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, proc_* for processes). Type automatically detected from ID prefix.",
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
  },