Skip to Content
AgentMem is in active development. Star us on GitHub.
FeaturesVercel AI SDK integration

Vercel AI SDK integration

@agentmem/vercel-ai-provider plugs AgentMem into Vercel’s AI SDK . Three patterns — pick one or stack them.

npm install @agentmem/vercel-ai-provider ai

ai and zod are peer deps; if you already use the AI SDK you have them.

Pattern A — middleware (auto-recall)

Wrap any @ai-sdk/* model. Memories auto-inject on every call.

import { generateText, wrapLanguageModel } from 'ai' import { anthropic } from '@ai-sdk/anthropic' import { createAgentMemMiddleware } from '@agentmem/vercel-ai-provider' const cfg = { apiKey: process.env.AGENTMEM_API_KEY!, agentId: 'support-bot' } const model = wrapLanguageModel({ model: anthropic('claude-opus-4-7'), middleware: createAgentMemMiddleware(cfg), }) const { text } = await generateText({ model, prompt: 'How do we handle escalations?' })

If memory search fails (network, auth), the middleware logs to stderr and lets the call proceed without injection — the model never blocks on AgentMem.

Pattern B — tools

Let the agent decide when to call memorize / recall.

import { generateText } from 'ai' import { anthropic } from '@ai-sdk/anthropic' import { agentmemMemorize, agentmemRecall } from '@agentmem/vercel-ai-provider' await generateText({ model: anthropic('claude-opus-4-7'), tools: { memorize: agentmemMemorize(cfg), recall: agentmemRecall(cfg), }, prompt: '...', })

Pattern C — helpers (manual control)

import { addMemories, retrieveMemories, searchMemories, } from '@agentmem/vercel-ai-provider' await addMemories('User prefers email.', cfg) const memories = await retrieveMemories(userMessage, cfg) const system = `${memories}\n\nYou are a helpful assistant.` const hits = await searchMemories('what was decided?', cfg)

These are name-compatible with @mem0/vercel-ai-provider — switching is a one-line import change plus an env-var rename.

Drop-in migration from @mem0/vercel-ai-provider

- import { addMemories, retrieveMemories } from '@mem0/vercel-ai-provider' + import { addMemories, retrieveMemories } from '@agentmem/vercel-ai-provider' - const cfg = { mem0ApiKey: process.env.MEM0_API_KEY, user_id: 'u1' } + const cfg = { apiKey: process.env.AGENTMEM_API_KEY!, agentId: 'u1' }

We don’t wrap every model SDK — we apply at the AI SDK level so any @ai-sdk/* provider works.

Config

FieldDefaultNotes
apiKey—Required.
agentId—Required on the config or per-call.
baseUrlhostedSelf-host override.
scopeprivateDefault scope for writes / searches.
workflowId—Default workflow.
topK5Hits per recall.
rerankfalseRe-rank with Gemini (+500-1500ms).
minScore0Drop hits below this score.
prefixdefaultCustom text before injected memories.
Last updated on