chore(n8n): publish under the scoped @mem0/n8n-nodes-mem0 name

The unscoped `n8n-nodes-mem0` name is already taken on npm by an
unrelated publisher, so the CD workflow could never publish it. Move to
the `@mem0` scope, matching `@mem0/pi-agent-plugin` and
`@mem0/openclaw-mem0`, and add `publishConfig.access: public` since
scoped packages default to restricted.

n8n accepts scoped community packages: it strips the scope before
enforcing the `n8n-nodes-` prefix, the same shape as n8n's own
`@n8n/n8n-nodes-langchain`. Verified end to end on n8n 2.22.6 by
installing the packed tarball into the community-packages directory and
executing a workflow against node type `@mem0/n8n-nodes-mem0.mem0`.

The directory, workflow filenames, and the `n8n-nodes-mem0-v*` tag
prefix are unchanged. pnpm-lock.yaml needs no update: the pnpm v9 root
importer is anonymous and never recorded the package name.
This commit is contained in:
kartik-mem0
2026-07-29 17:01:49 +05:30
parent 7417f87252
commit a618939f00
6 changed files with 12 additions and 9 deletions
+2 -2
View File
@@ -27,7 +27,7 @@ This is a **polyglot monorepo** containing Python and TypeScript packages, CLIs,
| `integrations/openclaw/` | `@mem0/openclaw-mem0` — OpenClaw plugin for Claude Code / AI editors |
| `integrations/pi-agent-plugin/` | `@mem0/pi-agent-plugin` — Pi Agent plugin |
| `integrations/vercel-ai-sdk/` | `@mem0/vercel-ai-provider` — Vercel AI SDK memory provider |
| `integrations/n8n-nodes-mem0/` | `n8n-nodes-mem0` — n8n community node; add / search / get / update / delete memories |
| `integrations/n8n-nodes-mem0/` | `@mem0/n8n-nodes-mem0` — n8n community node; add / search / get / update / delete memories |
| `server/` | FastAPI REST server for self-hosted Mem0 (Docker: FastAPI + PostgreSQL/pgvector + Neo4j) |
| `openmemory/` | Self-hosted memory platform — `api/` (FastAPI + Alembic + MCP server) and `ui/` (Next.js 15 + React 19) |
| `skills/` | Claude Code skill definitions. Reference skills (SDK knowledge, always-on): `mem0/`, `mem0-cli/`, `mem0-vercel-ai-sdk/`. Pipeline skills (run on demand): `mem0-integrate/`, `mem0-test-integration/`, `mem0-oss-to-platform/` |
@@ -452,7 +452,7 @@ Publishing is routed through a single entry point: **`release.yml` (Release Rout
| OpenClaw | `openclaw-cd.yml` | `openclaw-v*` | npm (`@mem0/openclaw-mem0`) |
| OpenCode Plugin | `opencode-plugin-cd.yml` | `opencode-v*` | npm (`@mem0/opencode-plugin`) |
| Pi Agent Plugin | `pi-agent-plugin-cd.yml` | `pi-agent-v*` | npm (`@mem0/pi-agent-plugin`) |
| n8n Node | `n8n-nodes-mem0-cd.yml` | `n8n-nodes-mem0-v*` | npm (`n8n-nodes-mem0`) |
| n8n Node | `n8n-nodes-mem0-cd.yml` | `n8n-nodes-mem0-v*` | npm (`@mem0/n8n-nodes-mem0`) |
- Package CD workflows are `workflow_dispatch`-only (inputs: `tag`, `prerelease`); they check out and build the given tag. Registry trusted-publisher settings stay pinned to each package's own workflow filename.
- All publishing uses **OIDC trusted publishing** — no tokens or secrets required.
+2 -2
View File
@@ -3,7 +3,7 @@ title: n8n
description: "Add long-term memory to n8n workflows and AI Agents with the Mem0 community node, no code required."
---
The [`n8n-nodes-mem0`](https://www.npmjs.com/package/n8n-nodes-mem0) community node brings [Mem0](https://mem0.ai) memory to [n8n](https://n8n.io). Add, search, and manage long-term memories inside any workflow, and use it as a tool for the n8n AI Agent.
The [`@mem0/n8n-nodes-mem0`](https://www.npmjs.com/package/@mem0/n8n-nodes-mem0) community node brings [Mem0](https://mem0.ai) memory to [n8n](https://n8n.io). Add, search, and manage long-term memories inside any workflow, and use it as a tool for the n8n AI Agent.
## Overview
@@ -25,7 +25,7 @@ It is marked `usableAsTool`, so the n8n AI Agent (Tools Agent) can call it direc
Install it like any n8n community node:
1. In n8n, go to **Settings → Community Nodes → Install**.
2. Enter `n8n-nodes-mem0` and confirm.
2. Enter `@mem0/n8n-nodes-mem0` and confirm.
The node then appears in the nodes panel under the AI category.
+2 -2
View File
@@ -1,4 +1,4 @@
# n8n-nodes-mem0
# @mem0/n8n-nodes-mem0
This is an n8n community node that lets you use [Mem0](https://mem0.ai) — the memory layer for AI agents — in your n8n workflows.
@@ -10,7 +10,7 @@ Mem0 gives your agents long-term memory: add memories from conversations, then s
## Installation
Follow the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) and install `n8n-nodes-mem0`.
Follow the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) and install `@mem0/n8n-nodes-mem0`.
## Operations
@@ -1,5 +1,5 @@
{
"node": "n8n-nodes-mem0.mem0",
"node": "@mem0/n8n-nodes-mem0.mem0",
"nodeVersion": "1.0",
"codexVersion": "1.0",
"categories": ["AI"],
+4 -1
View File
@@ -1,5 +1,5 @@
{
"name": "n8n-nodes-mem0",
"name": "@mem0/n8n-nodes-mem0",
"version": "0.1.0",
"description": "n8n community node for Mem0 — the memory layer for AI agents. Add, search, get, update, and delete long-term memories.",
"keywords": [
@@ -25,6 +25,9 @@
"node": ">=20.15"
},
"main": "index.js",
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "npx rimraf dist && tsc && gulp build:icons",
"dev": "tsc --watch",
@@ -20,7 +20,7 @@ function makeCtx(
opts: { continueOnFail?: boolean } = {},
): any {
const requests: any[] = [];
const node = { name: 'Mem0', type: 'n8n-nodes-mem0.mem0', typeVersion: 1 };
const node = { name: 'Mem0', type: '@mem0/n8n-nodes-mem0.mem0', typeVersion: 1 };
const ctx: any = {
getInputData: () => [{ json: {} }],
getCredentials: async () => ({ apiKey: 'm0-test', baseUrl: 'https://api.mem0.ai' }),