Encrypted, ephemeral, private memos on atproto

fix(mcp): return record key when iterating memos

graham.systems 1fd4fe70 993ba750

verified
Changed files
+8 -4
packages
mcp
+3 -2
deno.lock
··· 23 23 "npm:@atcute/lexicons@^1.2.2": "1.2.2", 24 24 "npm:@atcute/tid@^1.0.3": "1.0.3", 25 25 "npm:@atproto/lexicon@~0.5.1": "0.5.1", 26 - "npm:@modelcontextprotocol/inspector@*": "0.15.0", 26 + "npm:@modelcontextprotocol/inspector@*": "0.15.0_@types+node@24.2.0", 27 27 "npm:@modelcontextprotocol/sdk@^1.21.1": "1.21.1_ajv@8.17.1_express@5.1.0_zod@3.25.76", 28 + "npm:@types/node@*": "24.2.0", 28 29 "npm:fetch-to-node@^2.1.0": "2.1.0", 29 30 "npm:zod@^3.25.76": "3.25.76" 30 31 }, ··· 272 273 ], 273 274 "bin": true 274 275 }, 275 - "@modelcontextprotocol/inspector@0.15.0": { 276 + "@modelcontextprotocol/inspector@0.15.0_@types+node@24.2.0": { 276 277 "integrity": "sha512-PN1R7InR48Y6wU8s/vHWc0KOYAjlYQkgCpjUQsNFB078ebdv+empkMI6d1Gg+UIRx8mTrwtbBgv0A6ookGG+0w==", 277 278 "dependencies": [ 278 279 "@modelcontextprotocol/inspector-cli",
+5 -2
packages/mcp/server.ts
··· 19 19 { 20 20 title: "Next memo", 21 21 description: "Retrieve the next outstanding memo", 22 - outputSchema: { tid: z.string(), text: z.string() }, 22 + outputSchema: { key: z.string(), tid: z.string(), text: z.string() }, 23 23 }, 24 24 async () => { 25 25 if (!iterator) { ··· 37 37 return { 38 38 content: [{ 39 39 type: "text", 40 - text: res.value?.text ?? "no memos remaining", 40 + text: res.value?.text 41 + ? `key: ${res.value.key}, text: ${res.value.text}` 42 + : "no memos remaining", 41 43 }], 42 44 structuredContent: { 45 + key: res.value?.key ?? "", 43 46 tid: res.value?.tid ?? "", 44 47 text: res.value?.text ?? "no memos remaining", 45 48 },