mcp-task-server 0.3.0 → 1.0.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.
package/README.md CHANGED
@@ -58,7 +58,7 @@ flowchart TB
58
58
  end
59
59
 
60
60
  subgraph MCP Task Server
61
- B[22 Tools]
61
+ B[27 Tools]
62
62
  C[Preferences Engine]
63
63
  end
64
64
 
@@ -78,7 +78,7 @@ flowchart TB
78
78
 
79
79
  ## Features
80
80
 
81
- - **22 MCP Tools**: Comprehensive task management and coordination
81
+ - **27 MCP Tools**: Comprehensive task management and coordination
82
82
  - **Auto Workspace Detection**: Works globally without per-project config
83
83
  - **Multi-Agent Coordination**: Support for Planner, Worker, and Judge roles
84
84
  - **Dependency Tracking**: Tasks can depend on other tasks
@@ -140,30 +140,73 @@ flowchart TB
140
140
 
141
141
  ### Syncing Cursor Memories
142
142
 
143
- The `sync` action makes it easy to transfer memories from Cursor to shared context:
143
+ The `sync` action transfers memories from Cursor to shared context, preserving IDs:
144
144
 
145
145
  ```mermaid
146
146
  flowchart TD
147
- A[Agent sees Cursor memory] --> B["update_memory(action: sync)"]
148
- B --> C{Title exists?}
147
+ A["Agent sees Cursor memory (ID: 13502615)"] --> B["update_memory(action: sync, id: 13502615)"]
148
+ B --> C{ID or title exists?}
149
149
  C -->|Yes| D[Update existing memory]
150
- C -->|No| E[Create new memory]
150
+ C -->|No| E[Create with Cursor ID]
151
151
  D --> F[Save to shared-context.json]
152
152
  E --> F
153
153
  ```
154
154
 
155
- When Cursor shows you its memories, use `sync` to save them without worrying about IDs:
155
+ Always include the Cursor memory ID to keep IDs consistent:
156
156
 
157
157
  ```typescript
158
- // Sync finds by title (case-insensitive) and creates or updates
158
+ // Sync with Cursor ID (recommended)
159
159
  update_memory({
160
- action: "sync",
160
+ action: "sync",
161
+ id: "13502615", // Cursor's memory ID
161
162
  title: "Writing preferences",
162
163
  content: "British English, ISO dates, no emojis..."
163
164
  })
164
- // Returns: { status: "synced_existing" } or { status: "synced_new" }
165
+ // Returns: { status: "synced_existing", memory: { id: "13502615", ... } }
165
166
  ```
166
167
 
168
+ ### Why Shared Context Exists
169
+
170
+ Cursor's memory system has limitations that make shared context necessary:
171
+
172
+ ```mermaid
173
+ flowchart TB
174
+ subgraph cursor [Cursor IDE]
175
+ A[AI Assistant]
176
+ B[Internal Memory DB]
177
+ end
178
+
179
+ subgraph mcp [MCP Server]
180
+ C[Task Tools]
181
+ D[Memory Tools]
182
+ end
183
+
184
+ subgraph problem [The Problem]
185
+ E["AI can READ Cursor memories"]
186
+ F["MCP cannot ACCESS Cursor memories"]
187
+ end
188
+
189
+ A -->|can see| B
190
+ A -->|can call| C
191
+ C -.-x|no access| B
192
+
193
+ E --> G[Need bridge]
194
+ F --> G
195
+ ```
196
+
197
+ | Cursor Memory Limitation | Impact | Solution |
198
+ |-------------------------|--------|----------|
199
+ | No API access | MCP tools can't read Cursor's memory database | `~/.cursor/shared-context.json` as shared store |
200
+ | Isolated per conversation | Memories don't persist across all contexts | Shared file accessible to all MCP servers |
201
+ | No programmatic sync | Can't auto-export memories | `update_memory` sync action with Cursor ID |
202
+ | Different ID systems | Cursor IDs vs generated IDs cause duplicates | Pass Cursor ID to sync to preserve consistency |
203
+
204
+ **Workflow:**
205
+ 1. Cursor creates a memory (you see it in chat with ID like `13502615`)
206
+ 2. Ask agent to sync it: `update_memory({ action: "sync", id: "13502615", title: "...", content: "..." })`
207
+ 3. Memory saved to `~/.cursor/shared-context.json` with same ID
208
+ 4. All MCP servers can now read it
209
+
167
210
  ### Where Preferences Are Used
168
211
 
169
212
  | Tool Type | How Preferences Are Applied |
@@ -406,14 +449,28 @@ init_project({ force: true })
406
449
 
407
450
  | Tool | Description |
408
451
  |------|-------------|
409
- | `get_version` | Get the current version of the MCP task server |
452
+ | `help` | List all available tools with descriptions and parameters |
453
+ | `get_version` | Get server version and workspace detection info |
454
+ | `diagnose` | Diagnose MCP configuration, paths, and workspace detection |
410
455
  | `show_memory` | Show shared context memories from `~/.cursor/shared-context.json` |
411
- | `update_memory` | Create, update, sync, or delete memories in shared context |
456
+ | `update_memory` | Create, update, sync, or delete memories (sync preserves Cursor IDs) |
412
457
 
413
458
  ```typescript
414
- // Check the server version
459
+ // List all tools
460
+ help()
461
+ // Returns: { server, version, tool_count: 27, tools: [...] }
462
+
463
+ // Get help for specific tool
464
+ help({ tool: "update_memory" })
465
+ // Returns: { name, description, parameters: { action: {...}, id: {...}, ... } }
466
+
467
+ // Check version and workspace
415
468
  get_version()
416
- // Returns: { name: "mcp-task-server", version: "x.x.x", description: "..." }
469
+ // Returns: { version: "x.x.x", workspace: { root: "/path", source: "found .git" } }
470
+
471
+ // Diagnose configuration
472
+ diagnose() // Basic info
473
+ diagnose({ verbose: true }) // Include env vars and file checks
417
474
 
418
475
  // Show all memories
419
476
  show_memory()
@@ -424,30 +481,31 @@ show_memory({ search: "writing" })
424
481
  // Force reload from file (clears cache)
425
482
  show_memory({ reload: true })
426
483
 
427
- // Create a new memory
484
+ // Sync a Cursor memory (preserves Cursor ID)
428
485
  update_memory({
429
- action: "create",
430
- title: "Project conventions",
431
- content: "Use TypeScript strict mode. Prefer functional components."
486
+ action: "sync",
487
+ id: "13502615", // Cursor's memory ID
488
+ title: "Writing preferences",
489
+ content: "British English, ISO dates, no emojis..."
432
490
  })
433
491
 
434
- // Sync a memory (finds by title, creates or updates)
492
+ // Create a new memory (generates ID)
435
493
  update_memory({
436
- action: "sync",
437
- title: "Writing preferences",
438
- content: "British English, ISO dates, no emojis..."
494
+ action: "create",
495
+ title: "Project conventions",
496
+ content: "Use TypeScript strict mode."
439
497
  })
440
498
 
441
499
  // Update an existing memory by ID
442
500
  update_memory({
443
501
  action: "update",
444
- id: "mem_123",
502
+ id: "13502615",
445
503
  title: "Writing preferences",
446
504
  content: "Updated content..."
447
505
  })
448
506
 
449
507
  // Delete a memory
450
- update_memory({ action: "delete", id: "mem_123" })
508
+ update_memory({ action: "delete", id: "13502615" })
451
509
 
452
510
  // Analyse project and get suggestions for memory_bank
453
511
  analyse_project()
package/dist/context.d.ts CHANGED
@@ -46,8 +46,12 @@ export declare function upsertMemory(memory: CursorMemory): SharedContext;
46
46
  /**
47
47
  * Add or update a memory by title (case-insensitive match)
48
48
  * If a memory with the same title exists, updates it. Otherwise creates new.
49
+ *
50
+ * @param title - Memory title
51
+ * @param content - Memory content
52
+ * @param cursorId - Optional Cursor memory ID to use (preserves original ID from Cursor)
49
53
  */
50
- export declare function upsertMemoryByTitle(title: string, content: string): {
54
+ export declare function upsertMemoryByTitle(title: string, content: string, cursorId?: string): {
51
55
  memory: CursorMemory;
52
56
  wasUpdated: boolean;
53
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAgBxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAKxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAOvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAGtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAW9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAiBhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAqBjH;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAgB5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAgBxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAKxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAOvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAGtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAW9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAiBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAoC/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAgB5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
package/dist/context.js CHANGED
@@ -101,20 +101,38 @@ export function upsertMemory(memory) {
101
101
  /**
102
102
  * Add or update a memory by title (case-insensitive match)
103
103
  * If a memory with the same title exists, updates it. Otherwise creates new.
104
+ *
105
+ * @param title - Memory title
106
+ * @param content - Memory content
107
+ * @param cursorId - Optional Cursor memory ID to use (preserves original ID from Cursor)
104
108
  */
105
- export function upsertMemoryByTitle(title, content) {
109
+ export function upsertMemoryByTitle(title, content, cursorId) {
106
110
  let ctx = loadSharedContext() || { cursor_memories: [] };
107
- // Case-insensitive title match
108
- const existingIndex = ctx.cursor_memories.findIndex((m) => m.title.toLowerCase() === title.toLowerCase());
109
- if (existingIndex >= 0) {
110
- // Update existing - keep the ID
111
- ctx.cursor_memories[existingIndex].content = content;
112
- ctx.cursor_memories[existingIndex].title = title; // preserve casing from new input
111
+ // First check if we have a memory with this exact Cursor ID
112
+ if (cursorId) {
113
+ const existingByIdIndex = ctx.cursor_memories.findIndex((m) => m.id === cursorId);
114
+ if (existingByIdIndex >= 0) {
115
+ // Update existing by ID - also update title in case it changed
116
+ ctx.cursor_memories[existingByIdIndex].content = content;
117
+ ctx.cursor_memories[existingByIdIndex].title = title;
118
+ saveSharedContext(ctx);
119
+ return { memory: ctx.cursor_memories[existingByIdIndex], wasUpdated: true };
120
+ }
121
+ }
122
+ // Fall back to case-insensitive title match
123
+ const existingByTitleIndex = ctx.cursor_memories.findIndex((m) => m.title.toLowerCase() === title.toLowerCase());
124
+ if (existingByTitleIndex >= 0) {
125
+ // Update existing - use provided cursorId if available, otherwise keep existing ID
126
+ if (cursorId) {
127
+ ctx.cursor_memories[existingByTitleIndex].id = cursorId;
128
+ }
129
+ ctx.cursor_memories[existingByTitleIndex].content = content;
130
+ ctx.cursor_memories[existingByTitleIndex].title = title;
113
131
  saveSharedContext(ctx);
114
- return { memory: ctx.cursor_memories[existingIndex], wasUpdated: true };
132
+ return { memory: ctx.cursor_memories[existingByTitleIndex], wasUpdated: true };
115
133
  }
116
- // Create new
117
- const memory = { id: generateMemoryId(), title, content };
134
+ // Create new - use cursorId if provided, otherwise generate
135
+ const memory = { id: cursorId || generateMemoryId(), title, content };
118
136
  ctx.cursor_memories.push(memory);
119
137
  saveSharedContext(ctx);
120
138
  return { memory, wasUpdated: false };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}