Skip to main content

langchain-memoryrouter

Persistent, user-scoped memory for LangChain and LangGraph agents, backed by MemoryRouter.

MemoryRouter gives each user in an AI product a private memory vault. This package connects that memory layer to LangChain through tools, LangGraph nodes, and a BaseStore implementation.

Install

pip install langchain-memoryrouter

Python 3.9–3.13 is supported. The package requires langchain-core>=0.3.0, langgraph>=0.2.0, and httpx>=0.25.

Create a Memory Key at app.memoryrouter.ai. In multi-user products, map each app user to a separate Memory Key so each user has a separate vault.

Choose an integration pattern

Pattern Best for Memory behavior
Tools Agents that should decide when to retain or recall The model calls memoryrouter_retain or memoryrouter_recall
LangGraph nodes Automatic memory on graph turns Your graph runs recall/retain nodes directly
MemoryRouterStore LangGraph code that expects a BaseStore Semantic retain/search rather than literal key-value storage

Pattern 1: tools

Works with LangChain bind_tools() and LangGraph create_react_agent().

from langchain_memoryrouter import create_memory_tools

retain, recall = create_memory_tools(memory_key="mk_user_123")
model_with_tools = model.bind_tools([retain, recall])

The package exposes two tool primitives:

  • memoryrouter_retain stores sanitized conversation text with /v1/memory/ingest
  • memoryrouter_recall searches memory with /v1/memory/search

MemoryRouter is retain and recall; this package does not add a separate reflect tool.

Pattern 2: LangGraph nodes

Use nodes when you want memory to run automatically in the graph.

from langchain_memoryrouter import create_recall_node, create_retain_node

recall_node = create_recall_node(memory_key_config_key="memory_key")
retain_node = create_retain_node(memory_key_config_key="memory_key")

result = graph.invoke(
    {"messages": messages},
    config={"configurable": {"memory_key": "mk_user_123", "thread_id": "chat_abc"}},
)

create_recall_node calls /v1/memory/prepare and returns a ready-to-inject memory context block. create_retain_node sanitizes conversation messages before calling /v1/memory/ingest.

Pattern 3: BaseStore

Use MemoryRouterStore when a LangGraph integration expects a LangChain BaseStore.

from langchain_memoryrouter import MemoryRouterStore

store = MemoryRouterStore(memory_key="mk_user_123")
graph = builder.compile(store=store)

MemoryRouter is semantic memory, not a literal key-value database. mset retains text into the user's vault. mget searches by key and returns the best matching memory content. The public MemoryRouter API does not expose arbitrary LangChain store-key listing or deletion, so yield_keys returns an empty iterator and mdelete is a documented no-op.

Storage hygiene

Every write path sanitizes messages before ingest. The integration stores conversation text only:

  • Keeps HumanMessage text as user
  • Keeps AIMessage text as assistant
  • Drops SystemMessage and ToolMessage content
  • Drops tool calls, tool-call IDs, and function-call arguments
  • Drops AI messages that contain only tool calls and no text

This behavior is enforced in tools, nodes, and store writes; it is not a configuration option.

Never commit a Memory Key, paste one into an issue, or share private memory content in a support request. See the MemoryRouter security page or email hello@memoryrouter.ai privately.

API targeted

Base URL: https://api.memoryrouter.ai

Auth: Authorization: Bearer mk_xxx

Retain:

POST /v1/memory/ingest
{
  "messages": [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}],
  "session_id": "optional",
  "model": "optional",
  "embeddings": "optional"
}

Recall:

POST /v1/memory/search
{"query": "what does the user prefer", "limit": 10}

Graph recall context:

POST /v1/memory/prepare
{
  "messages": [{"role": "user", "content": "..."}],
  "session_id": "optional",
  "density": "default",
  "context_limit": 10
}

For the current API surface, use the live API reference.

Support and package history

Changelog

0.1.2 — 2026-08-08

  • Replaced package-local README links with public URLs that resolve correctly from PyPI.

0.1.1 — 2026-08-08

  • Corrected official project URLs, added public-safe metadata and classifiers, and expanded integration, security, and store-semantics documentation.

0.1.0 — 2026-06-07

  • Initial release with clients, tools, LangGraph nodes, MemoryRouterStore, and write-path sanitization.

The package is maintained by MemoryRouter and available under the MIT License.

Metadata

Release files for langchain-memoryrouter 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-memoryrouter 0.1.2
File Size Uploaded
langchain_memoryrouter-0.1.2.tar.gz 8.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-memoryrouter 0.1.2
File Interpreter ABI Platform
langchain_memoryrouter-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 19.0 kB

Release files / langchain_memoryrouter-0.1.2.tar.gz

Download URL langchain_memoryrouter-0.1.2.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2afe476ebb03a7d505d625cb4edc77726c96b6a4e5a025999fce2385ec0f6c62
BLAKE2b-256 checksum
How to use checksums
a9a1a7f2d696f3d342b754c380576de883ba28e5e9bf64794988e235cd09c946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release files / langchain_memoryrouter-0.1.2-py3-none-any.whl

Download URL langchain_memoryrouter-0.1.2-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9cc339cab7e7d16c9d20f71351117d7ce8191bc71b3a9be4083ca1c185465e5
BLAKE2b-256 checksum
How to use checksums
eec7e1e166df5665f251a4703c410125968c86f26f839fc5e6d6957299ef5638
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page