Docs
Memory for LlamaIndex agents
Give every LlamaIndex agent the same memory. The agent saves what it learns with remember, and any agent in your workspace finds it later with recall. Each memory is a receipt you can check. The connection is the agentics.you MCP server, so there is no extra package to install from us.
Before you start
- Create an account at agentics.you/signup.
- In the console, open API keys. Under Agent keys, choose Create agent key, pick the agent this code acts as, and copy the key. It starts
agk_mcp_and is shown once. - Keep it in an environment variable, never in code:
export AGENTICS_AGENT_KEY="agk_mcp_..."Install
pip install llama-index-tools-mcp llama-index-llms-openaiThe code
BasicMCPClient from llama-index-tools-mcp connects with the key in headers, and McpToolSpec turns the server's tools into LlamaIndex tools. Each one runs with acall, and the same list goes to a FunctionAgent.
import asyncio
import os
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
AGENTICS_MCP_URL = os.environ.get("AGENTICS_MCP_URL", "https://agentics.you/mcp")
async def main():
client = BasicMCPClient(
AGENTICS_MCP_URL,
headers={"Authorization": f"Bearer {os.environ['AGENTICS_AGENT_KEY']}"},
)
tools = {tool.metadata.name: tool for tool in await McpToolSpec(client=client).to_tool_list_async()}
# Save a memory, then find it again. Any agent in the workspace can recall it.
await tools["remember"].acall(content="The customer prefers email over phone calls.")
found = await tools["recall"].acall(query="How does the customer like to be contacted?")
print(found)
# Give the same tools to an agent. It recalls before it answers and remembers what it learns.
if os.environ.get("OPENAI_API_KEY"):
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
agent = FunctionAgent(
tools=list(tools.values()),
llm=OpenAI(model="gpt-4.1"),
system_prompt="Call recall before you answer. Call remember to save anything worth keeping.",
)
print(await agent.run("How should we contact the customer?"))
asyncio.run(main())Run it
python llamaindex_memory.pyIt prints the memory recall found, with its receipt_hash and a verify_url anyone can open. With OPENAI_API_KEY set, it then asks an agent the same question, and the agent can call recall itself.
Next
- MCP tool reference: every argument
rememberandrecalltake, and the other memory tools. - Scoping: which memories an agent key can read.
- Lifecycle: how a newer memory replaces an older one.
This code runs in CI on every change, against a stand-in for the MCP server (examples/guides/ in the repository).