{ "name": "Memento MCP — Daily Digest", "nodes": [ { "parameters": { "rule": { "interval": [ { "field": "cronExpression", "expression": "0 0 8 * * 1-5" } ] } }, "id": "schedule-trigger", "name": "Daily 8AM (Mon-Fri)", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [240, 300] }, { "parameters": { "method": "POST", "url": "http://memento-mcp:3001/mcp", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" }, { "name": "x-api-key", "value": "={{ $vars.MEMENTO_API_KEY }}" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"get_notes\",\n \"arguments\": {\n \"limit\": 30,\n \"includeArchived\": false\n }\n }\n}" }, "id": "mcp-get-notes", "name": "MCP — Get Recent Notes", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [480, 300] }, { "parameters": { "method": "POST", "url": "http://memento-mcp:3001/mcp", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" }, { "name": "x-api-key", "value": "={{ $vars.MEMENTO_API_KEY }}" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "{\n \"jsonrpc\": \"2.0\",\n \"id\": 2,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"get_due_reminders\",\n \"arguments\": {}\n }\n}" }, "id": "mcp-get-reminders", "name": "MCP — Get Due Reminders", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [480, 480] }, { "parameters": { "jsCode": "const notesResponse = $('MCP — Get Recent Notes').item.json;\nconst remindersResponse = $('MCP — Get Due Reminders').item.json;\n\nconst notes = JSON.parse(notesResponse.result?.content?.[0]?.text || '[]');\nconst reminders = JSON.parse(remindersResponse.result?.content?.[0]?.text || '[]');\n\nconst today = new Date().toLocaleDateString('en-GB', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });\n\nconst pinnedNotes = notes.filter(n => n.isPinned).slice(0, 5);\nconst recentNotes = notes.filter(n => !n.isPinned).slice(0, 10);\n\nlet digest = `# 📋 Daily Digest — ${today}\\n\\n`;\n\nif (reminders.length > 0) {\n digest += `## ⏰ Reminders Due (${reminders.length})\\n\\n`;\n reminders.forEach(r => {\n const time = new Date(r.reminder).toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit' });\n digest += `- **${r.title || 'Untitled'}** @ ${time}\\n`;\n });\n digest += '\\n';\n}\n\nif (pinnedNotes.length > 0) {\n digest += `## 📌 Pinned Notes (${pinnedNotes.length})\\n\\n`;\n pinnedNotes.forEach(n => {\n digest += `- **${n.title || 'Untitled'}**\\n`;\n });\n digest += '\\n';\n}\n\ndigest += `## 📝 Recent Notes (${recentNotes.length})\\n\\n`;\nrecentNotes.forEach(n => {\n const date = new Date(n.updatedAt).toLocaleDateString('en-GB');\n digest += `- ${n.title || 'Untitled'} *(${date})*\\n`;\n});\n\nreturn [{ json: { digest, noteCount: notes.length, reminderCount: reminders.length, today } }];" }, "id": "build-digest", "name": "Build Digest", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [720, 390] }, { "parameters": { "method": "POST", "url": "http://memento-mcp:3001/mcp", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" }, { "name": "x-api-key", "value": "={{ $vars.MEMENTO_API_KEY }}" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={\n \"jsonrpc\": \"2.0\",\n \"id\": 3,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"create_note\",\n \"arguments\": {\n \"title\": \"Daily Digest — {{ $json.today }}\",\n \"content\": {{ JSON.stringify($json.digest) }},\n \"isMarkdown\": true,\n \"color\": \"teal\",\n \"isPinned\": false,\n \"labels\": [\"digest\", \"auto\"]\n }\n }\n}" }, "id": "mcp-save-digest", "name": "MCP — Save Digest as Note", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [960, 390] }, { "parameters": { "channel": "general", "text": "📋 *Daily Digest ready!*\n\n📝 {{ $('Build Digest').item.json.noteCount }} notes · ⏰ {{ $('Build Digest').item.json.reminderCount }} reminders\n\nView in Memento: http://memento:3000", "additionalFields": { "parse_mode": "Markdown" } }, "id": "slack-digest", "name": "Slack — Share Digest", "type": "n8n-nodes-base.slack", "typeVersion": 2.1, "position": [1200, 390], "continueOnFail": true } ], "connections": { "Daily 8AM (Mon-Fri)": { "main": [ [ { "node": "MCP — Get Recent Notes", "type": "main", "index": 0 }, { "node": "MCP — Get Due Reminders", "type": "main", "index": 0 } ] ] }, "MCP — Get Recent Notes": { "main": [[{ "node": "Build Digest", "type": "main", "index": 0 }]] }, "MCP — Get Due Reminders": { "main": [[{ "node": "Build Digest", "type": "main", "index": 0 }]] }, "Build Digest": { "main": [[{ "node": "MCP — Save Digest as Note", "type": "main", "index": 0 }]] }, "MCP — Save Digest as Note": { "main": [[{ "node": "Slack — Share Digest", "type": "main", "index": 0 }]] } }, "pinData": {}, "settings": { "executionOrder": "v1" }, "staticData": null, "tags": [{ "id": "memento-mcp", "name": "Memento MCP" }], "triggerCount": 1, "updatedAt": "2026-05-03T00:00:00.000Z", "versionId": "1" }