move_to_notes
Transfer completed reminders from temporary alerts to permanent notes for long-term reference and organization.
Instructions
Move reminder to permanent notes
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Reminder ID | |
| note | No | Additional note (optional) |
Implementation Reference
- src/index.ts:161-194 (handler)Core implementation of the move_to_notes tool: retrieves the reminder, creates a markdown note in Obsidian vault, updates status to 'moved', and returns success message with filename.moveToNotes(id: string, additionalNote?: string): { success: boolean; message: string } { const reminder = this.reminders.get(id); if (!reminder || reminder.status !== 'active') { return { success: false, message: 'Reminder not found or already processed' }; } // Create note content const noteContent = `# Reminder: ${reminder.content} Created: ${reminder.created} Priority: ${reminder.priority} ${additionalNote ? `\nNote: ${additionalNote}` : ''} Moved to notes on: ${new Date().toISOString()} `; // Save to Obsidian vault (or wherever permanent notes go) try { const obsidianPath = path.join(homedir(), 'Documents/Obsidian/Brain/Reminders'); if (!fs.existsSync(obsidianPath)) { fs.mkdirSync(obsidianPath, { recursive: true }); } const filename = `reminder_${new Date().toISOString().split('T')[0]}_${id}.md`; fs.writeFileSync(path.join(obsidianPath, filename), noteContent); reminder.status = 'moved'; this.saveReminders(); return { success: true, message: `Moved to notes: ${filename}` }; } catch (e) { return { success: false, message: `Error moving to notes: ${e}` }; } }
- src/index.ts:292-309 (schema)MCP tool schema definition including name, description, and input schema for move_to_notes.{ name: 'move_to_notes', description: 'Move reminder to permanent notes', inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'Reminder ID' }, note: { type: 'string', description: 'Additional note (optional)' } }, required: ['id'], }, },
- src/index.ts:389-395 (registration)Registration of the tool handler in the CallToolRequestSchema switch statement, dispatching to the moveToNotes method.case 'move_to_notes': { const { id, note } = args as { id: string; note?: string }; const result = reminders.moveToNotes(id, note); return { content: [{ type: 'text', text: result.message }], }; }