Skip to main content

Google ADK + Memanto

Google ADK A Google ADK agent forgets everything when its session ends. ADK’s built-in InMemoryMemoryService is lost on restart, and Vertex AI Memory Bank ties you to Google Cloud. memanto-google-adk is a drop-in ADK memory service backed by Memanto.

Works with ADK's own tools

MemantoMemoryService implements ADK’s BaseMemoryService, so preload_memory and load_memory read from Memanto unchanged.

Typed memories, not transcripts

Saved turns go through Memanto’s extraction: preferences, facts, decisions and commitments are kept; small talk is dropped.

Private per user

Every memory is tagged with its ADK user, and results are re-checked against that tag before they are returned.

Save every turn, store once

Each save extracts only events added since the last one, across processes, and a retried save stores nothing.

How It Works

Everything lives in a Memanto agent, so you can read, correct, and audit what your ADK agent knows with the CLI or the web UI.

Prerequisites

  • Python 3.10+
  • google-adk 2.0+
  • Memanto 0.2.21+ and a Moorcheh API key (or an on-prem Memanto backend)

Install

Until memanto-google-adk is on PyPI, install it from a checkout of the Memanto repo: pip install ./integrations/google-adk (see GitHub source).

Use it

  • preload_memory recalls memories that match the user’s message and adds them to every request. Use load_memory instead if the model should decide when to look things up.
  • remember_tool is optional. Memories are extracted from saved sessions anyway, but the tool lets the agent save a fact the moment it hears it.
  • after_agent_callback is where saving happens. Calling it every turn is safe: only new events are extracted.
Extraction is one LLM call per save. To keep it off the response path, run the save as a background task.

With adk web / adk run

Register the memanto:// scheme in a services.py:
Where ADK looks for it depends on the command: A services.py in the wrong folder fails at startup with Unsupported memory service URI: memanto:. Set MOORCHEH_API_KEY in the environment before starting. memanto://my-agent uses the Memanto agent my-agent for every app, instead of one per app.

How memory is scoped

API

Behavior and limits

Shared memory across integrations

All Memanto integration packages use the same Moorcheh-backed agents when they share an agent_id:

Next Steps