Overview
This integration provides two specialized nodes:- MemMachine Manager: Store messages and “Enrich” your agent prompts with semantic context.
- MemMachine AI Memory: A native memory node that plugs directly into n8n’s AI Agent node.
Start n8n
To start a simple n8n container run the upstream docker container as described in the official docs:With Tracing
If you want to visualize the memory interactions you might want to use thedocker-compose file in the github repository.
First Login
Open localhost:5678/:
-
Fill out a sign-up form.

-
Skip the customization and click
Get Started.
-
Skip the offer page with
Skip.
Install the Community Node
If you are using a self-hosted n8n instance:
- Navigate to Settings > Community Nodes.
-
Click Install a community node.

- Enter the package name:
-
Acknowledge the risk and click Install.

MemMachine Manager Node
The Manager node is used for manual memory operations at any point in your workflow.Connect MemMachine
To use the node you’ll need to configure a connection. In case you are running MemMachine on the same machine as a docker container use this endpoint:
Action: Store a message
Saves a specific content string to long-term memory.| Parameter | Type | Description |
|---|---|---|
| orgId / projectId | String | Required. Your unique organization and project identifiers. |
| types | multiOptions | Required. Memory types to use (episodic, semantic). |
| producer | String | Required. Who created this message (e.g., “Agent” or “User”). |
| producedFor | String | Required. Intended recipient of the message. |
| episodeContent | String | Required. The actual message text to store. |
| episodeType | Options | none (default) or message. |
| metadata | JSON | Additional metadata to associate with the message. |
| sessionId | String | Required. Unique session identifier. |
| groupId | String | Unique group identifier (defaults to default). |
| agentId / userId | String | Required. Identifiers for the specific AI agent and user. |
Action: Enrich with context
Retrieves historical context to inject into an LLM prompt.| Parameter | Type | Default | Description |
|---|---|---|---|
| orgId / projectId | String | - | Required. Unique organization and project identifiers. |
| types | multiOptions | - | Required. Memory types to use (episodic, semantic). |
| query | String | - | Required. Natural language query for semantic search. |
| limit | Number | 50 | Maximum number of memory results to return. |
| scoreThreshold | Number | - | Minimum relevance score required to include a memory. |
| filter | String | - | Filter expression to refine memory search results. |
| expandContext | Number | 0 | Number of extra episodes to include for context. |
| sessionId | String | - | Required. Unique session identifier. |
| groupId | String | default | Unique group identifier. |
| agentId / userId | String | - | Required. Identifiers for the specific AI agent and user. |
| enableTemplate | Boolean | true | Renders a formatted context string using a template. |
| contextTemplate | String | default template | Markdown template for formatting. |
MemMachine AI Memory Node
Connect this node directly to the Memory input of a native n8n AI Agent node.| Parameter | Type | Default | Description |
|---|---|---|---|
| orgId / projectId | String | - | Required. Your unique organization and project identifiers. |
| contextWindowLength | Number | 10 | Max recent messages to include in chat history. |
| enableMemoryTemplate | Boolean | false | Whether to wrap history in a formatted template. |
| historyCount | Number | 5 | Number of episodic memories to include in the template. |
| shortTermCount | Number | 10 | Number of short-term memories to include. |
| memoryContextTemplate | String | default template | Markdown template for formatting. |
default template refers to the system’s built-in memory context template. Users may override it with a custom template.Observability & Tracing
MemMachine nodes support native OTLP Tracing for debugging complex agent logic.
| Parameter | Type | Description |
|---|---|---|
| tracingEnabled | Boolean | Set to true to enable operation tracing. |
| traceVerbosity | Options | minimal, normal, or verbose. |
| exportToJaeger | Boolean | If true, sends traces to your Jaeger instance. |
| jaegerOtlpEndpoint | String | The endpoint URL (e.g., http://jaeger:4318/v1/traces). |

