memcontext

Custom n8n nodes for memcontext API integration

Documentation

n8n-nodes-memcontext

n8n custom nodes for a self-hosted memcontext API (Flask). Includes:

  • Memory Add: add text memories (/init_memory/import_conversations)
  • Memory Search: search memories and get a reply (/init_memory/chat)
  • Memory Add Multimodal: add multimodal memories (video/audio/image, /init_memory/add_multimodal_memory), supports binary upload or local file path.

Installation

Local / private install

# in package root
npm run build
npm pack  # produces n8n-nodes-memcontext-<version>.tgz

# in n8n custom nodes dir (example: C:\Users\<you>\.n8n\nodes)
npm init -y
npm install /path/to/n8n-nodes-memcontext-<version>.tgz

Restart n8n to load the nodes.

Publish to npm (optional)

# ensure version is bumped
npm login
npm publish   # if using a scope, rename to @your-scope/n8n-nodes-memcontext and add --access public

Target env: npm install n8n-nodes-memcontext, then restart n8n.

Backend requirements

  • Your Flask backend running (default http://127.0.0.1:5019).
  • Multimodal video converter needs:
    • env vars: LLM_API_KEY, LLM_BASE_URL, LLM_MODEL
    • ffmpeg/ffprobe in PATH
  • videorag converter is optional (imagebind/hnswlib, better on Linux/GPU). On Windows/CPU, use video.

Credentials (Memory API)

  • Base URL: backend URL (default http://127.0.0.1:5019)
  • API Key: optional; if backend requires auth, fill it (e.g. Bearer xxx, passed through as-is)

Nodes

Memory Add

  • Writes text memory.
  • Params: userId, userInput, agentResponse, timestamp (optional), metaData (JSON).
  • Routes: /init_memory/import_conversations.

Memory Search

  • Searches memory and returns reply.
  • Params: userId, query.
  • Routes: /init_memory/chat.

Memory Add Multimodal

  • Writes multimodal memory (video/audio/image).
  • Modes:
    • Upload File (Binary): binary from upstream node; set Binary Property Name.
    • Use Local File Path: absolute path accessible by backend host.
  • Converters:
    • video (recommended; requires ffmpeg + Ark SDK + LLM API env vars)
    • videorag (optional; extra deps/models)
  • Routes: /init_memory/add_multimodal_memory.

Example workflow

Manual Trigger
  └─ Memory Add
       └─ Memory Add Multimodal
            └─ Memory Search
  • Three nodes share the same Memory API credential and the same userId.
  • Base URL recommendation: http://127.0.0.1:5019.
  • For Memory Add Multimodal path mode: File Path must be an absolute path reachable by the backend machine; start with converter video.

FAQ

  • ECONNREFUSED 127.0.0.1:5019: backend not running or wrong port; curl http://127.0.0.1:5019/ first.
  • Video file missing / ingested_rounds=0: path not reachable or ffmpeg/env vars missing; check backend logs.
  • Backend 500: inspect python app.py console stack; common causes are deps/env/path issues.
  • Community nodes TLS errors: unrelated to node execution; usually external network/proxy; ignore or configure network.

Development build

  • npm run build to generate dist/
  • npm pack to produce release .tgz
  • Before publishing, ensure package.json n8n field points to nodes/credentials under dist.

Discussion