Memnode OpenClaw Plugin
Native OpenClaw plugin for Memnode, persistent hosted memory for AI agents.
It registers a single tool, memnode, with actions for:
recallrecord_observationrecord_entitiesquerylineagefeedbackstatushealth
Why Native
This package is intentionally a native OpenClaw plugin rather than a pure bundle.
- It exposes a real
configSchema, so ClawHub/OpenClaw can prompt for the Memnode API key. - It gives OpenClaw one first-class
memnodetool instead of hiding Memnode behind static bundle metadata. - It stays thin by reusing the published
@memnode/clientpackage instead of reimplementing the Memnode API.
Install
openclaw plugins install ./plugins/memnode-openclaw-plugin
openclaw gateway restart
After publishing:
openclaw plugins install clawhub:memnode-openclaw-plugin
openclaw gateway restart
Configure
Minimal plugin config:
{
"plugins": {
"entries": {
"memnode-openclaw-plugin": {
"enabled": true,
"config": {
"apiKey": "mnx_..."
}
}
}
},
"tools": {
"alsoAllow": ["memnode"]
}
}
Optional fields:
baseUrltimeoutMsenabledTools
Defaults:
baseUrl:https://api.memnode.devtimeoutMs:30000
Tool Usage
Recall
{
"action": "recall",
"question": "What repo conventions should I follow here?",
"limit": 5
}
Record observation
{
"action": "record_observation",
"summary": "This repo prefers Zod for request validation.",
"epistemicType": "observed",
"factSource": "agent",
"source": "code-review"
}
Record entities
{
"action": "record_entities",
"entities": [
{
"ref": "repo:memnode",
"label": "Repository",
"identity": {
"name": "memnode",
"owner": "pbudzik"
},
"properties": {
"summary": "Agent memory system"
},
"epistemic_type": "observed"
}
]
}
Query
{
"action": "query",
"label": "Observation",
"filter": {
"_support_count": {
"$gte": 2
}
},
"limit": 10
}
Lineage
{
"action": "lineage",
"nodeId": 42
}
Publish to ClawHub
From the repo root:
clawhub package publish ./plugins/memnode-openclaw-plugin --dry-run
clawhub package publish ./plugins/memnode-openclaw-plugin
Or upload the plugins/memnode-openclaw-plugin folder on:
Notes
- This package targets the hosted Memnode API path, not the local
memnode mcpstdio path. - The single-tool design keeps the plugin easier to configure and review in ClawHub.
- If you want Claude/Codex/Cursor bundle compatibility later, add a bundle fallback as a second iteration instead of blocking the native plugin launch now.