From 39ca1ac190277e3b0241f762d6a20d9199b7606e Mon Sep 17 00:00:00 2001 From: Rishi Gupta Date: Fri, 2 Oct 2026 21:04:12 +0530 Subject: [PATCH 1/4] feat(mcp): support metadata in add_memory --- apps/mcp/src/server/client/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/mcp/src/server/client/index.ts b/apps/mcp/src/server/client/index.ts index a2ccc8e7..ad7b8dac 100644 --- a/apps/mcp/src/server/client/index.ts +++ b/apps/mcp/src/server/client/index.ts @@ -158,12 +158,13 @@ export class SupermemoryClient { async createMemory( content: string, + metadata?: Record, ): Promise<{ id: string; status: string; containerTag: string }> { try { const result = await this.client.add({ content, containerTag: this.containerTag, - metadata: { sm_source: MCP_SOURCE }, + metadata: { ...metadata, sm_source: MCP_SOURCE }, }) return { id: result.id, From 47d7818dd5cd30303d691dc6cf1ad3a132a6d490 Mon Sep 17 00:00:00 2001 From: Rishi Gupta Date: Fri, 2 Oct 2026 21:04:13 +0530 Subject: [PATCH 2/4] feat(mcp): support metadata in add_memory --- apps/mcp/src/server/tools/add-memory.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/mcp/src/server/tools/add-memory.ts b/apps/mcp/src/server/tools/add-memory.ts index c708deb5..23c729dd 100644 --- a/apps/mcp/src/server/tools/add-memory.ts +++ b/apps/mcp/src/server/tools/add-memory.ts @@ -12,6 +12,7 @@ export function register(deps: ToolDeps) { .describe("The memory content to save or forget"), action: z.enum(["save", "forget"]).optional().default("save"), containerTag: optionalContainerTagSchema, + metadata: z.record(z.string(), z.unknown()).optional().describe("Optional metadata to attach to the saved memory"), }) deps.server.registerTool( @@ -42,7 +43,7 @@ export function register(deps: ToolDeps) { } } - const result = await client.createMemory(args.content) + const result = await client.createMemory(args.content, args.metadata) const message = `Memory saved (ID: ${result.id}, space: ${result.containerTag})` const structuredContent: AddMemoryOutput = { action: "save", From f7d846e4c464a0b286a93f707ddf5d93e25425d2 Mon Sep 17 00:00:00 2001 From: Rishi Gupta Date: Fri, 2 Oct 2026 21:04:16 +0530 Subject: [PATCH 3/4] feat(mcp): support metadata in add_memory --- apps/mcp/e2e/space-scope.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/mcp/e2e/space-scope.test.ts b/apps/mcp/e2e/space-scope.test.ts index 3b5c013b..ff1e0ce5 100644 --- a/apps/mcp/e2e/space-scope.test.ts +++ b/apps/mcp/e2e/space-scope.test.ts @@ -22,12 +22,14 @@ describeWithAuth("MCP - space scoping", () => { const plainTools = (await plain.client.listTools()).tools expect(propsOf(plainTools, "add_memory")).toHaveProperty("containerTag") + expect(propsOf(plainTools, "add_memory")).toHaveProperty("metadata") expect(propsOf(plainTools, "search_memory")).toHaveProperty( "containerTag", ) expect(propsOf(plainTools, "get_profile")).toHaveProperty("containerTag") expect(propsOf(scopedTools, "add_memory")).toHaveProperty("containerTag") + expect(propsOf(scopedTools, "add_memory")).toHaveProperty("metadata") expect(propsOf(scopedTools, "search_memory")).toHaveProperty( "containerTag", ) From 3844c1480c28a7405da61957b586ded313a4d6f0 Mon Sep 17 00:00:00 2001 From: Rishi Gupta Date: Fri, 2 Oct 2026 21:04:18 +0530 Subject: [PATCH 4/4] feat(mcp): support metadata in add_memory --- apps/docs/supermemory-mcp/mcp.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/supermemory-mcp/mcp.mdx b/apps/docs/supermemory-mcp/mcp.mdx index c7f5f6dc..2b8be168 100644 --- a/apps/docs/supermemory-mcp/mcp.mdx +++ b/apps/docs/supermemory-mcp/mcp.mdx @@ -48,7 +48,7 @@ Your assistant chooses these tools automatically. Use this table when you need t | --- | --- | --- | --- | | `search_memory` | Semantic recall from one space | `query` (required), `containerTag` | Matching memories | | `get_profile` | Stable and recent profile context for one space | `containerTag` | Profile facts | -| `add_memory` | Save information or forget outdated information | `content` (required), `action` (`save` or `forget`), `containerTag` | Save or forget confirmation | +| `add_memory` | Save information or forget outdated information | `content` (required), `action` (`save` or `forget`), `containerTag`, optional `metadata` | Save or forget confirmation | | `list_documents` | Browse stored source documents and their summaries | `page`, `limit`, `containerTag` | Document IDs, titles, types, status, dates, and summaries | | `get_document` | Read the available content of one document | `documentId` (required) | Document metadata, summary, and available content | | `list_memories` | Browse recent extracted memory entries and their source document IDs | `page`, `limit`, `containerTag` | Memory IDs, text, versions, and source document IDs |