SwarmRecall
by @waydelyle
Use SwarmRecall when an AI agent needs persistent memory, a knowledge graph, learnings, a skill registry, shared pools, or background dream consolidation acr...
clawhub install swarmrecallπ About This Skill
name: swarmrecall description: "Use SwarmRecall when an AI agent needs persistent memory, a knowledge graph, learnings, a skill registry, shared pools, or background dream consolidation across sessions. Works via the SwarmRecall CLI (for stdio MCP) or directly over HTTP/SDK. Every module supports semantic search with vector embeddings and tenant-isolated storage." version: "1.2.0" metadata: '{"openclaw":{"requires":{"anyBins":["swarmrecall"]},"install":[{"id":"node","kind":"node","package":"@swarmrecall/cli","bins":["swarmrecall"],"label":"Install SwarmRecall CLI (npm)"}],"mcp_servers":[{"id":"swarmrecall","label":"SwarmRecall (local stdio)","command":"swarmrecall","args":["mcp"],"env":{"SWARMRECALL_API_KEY":"${env:SWARMRECALL_API_KEY}"}},{"id":"swarmrecall-remote","label":"SwarmRecall (remote HTTP)","transport":"streamable-http","url":"https://swarmrecall-api.onrender.com/mcp","headers":{"Authorization":"Bearer ${env:SWARMRECALL_API_KEY}"}}],"emoji":"π§ ","homepage":"https://www.swarmrecall.ai/docs/mcp","privacyPolicy":"All data is stored on SwarmRecall servers (swarmrecall-api.onrender.com). Data is scoped per agent and owner. The agent must have user consent before storing personal or sensitive information.","dataHandling":"All data is transmitted over HTTPS. Data is stored in PostgreSQL with pgvector embeddings. Data is tenant-isolated by owner ID and agent ID across all modules.","primaryEnv":"SWARMRECALL_API_KEY"}}' author: swarmclawai homepage: https://www.swarmrecall.ai tags: [memory, knowledge-graph, learnings, skills, pools, dreaming, consolidation, mcp, ai-agents, persistence]
SwarmRecall
Persistent memory, a knowledge graph, learnings, a skill registry, shared collaboration pools, and background "dream" consolidation β for any AI agent β via the SwarmRecall API at
For onboarding, examples, command references, or troubleshooting, read the bundled README.md, examples/, references/, and TROUBLESHOOTING.md before improvising workflow advice.
Setup
Three ways to connect, in increasing order of flexibility:
1. MCP (recommended for Claude Desktop, Claude Code, Cursor)
Local stdio (default):
npm install -g @swarmrecall/cli
swarmrecall register --save # mints an API key and stores it in ~/.config/swarmrecall/config.json
swarmrecall mcp # runs the MCP server over stdio β point your client at this command
Remote HTTP (no install):
URL: https://swarmrecall-api.onrender.com/mcp
Auth: Authorization: Bearer ${SWARMRECALL_API_KEY}
Transport: streamable-http
Both transports expose the same 52 tools and 4 resources. See
2. CLI
npm install -g @swarmrecall/cli
swarmrecall register --save
swarmrecall memory store "" --category fact --importance 0.8
swarmrecall memory search ""
swarmrecall knowledge create --type person --name "Alice" --props '{"role":"engineer"}'
swarmrecall learnings log --category error --summary ""
swarmrecall dream start
See references/commands.md for the full command surface.
3. Raw HTTP / SDK
If the user is wiring a custom agent, install the SDK:
npm install @swarmrecall/sdk
import { SwarmRecallClient } from '@swarmrecall/sdk';
const client = new SwarmRecallClient({ apiKey: process.env.SWARMRECALL_API_KEY! });
await client.memory.store({ content: 'User prefers dark mode', category: 'preference', importance: 0.8 });
If SWARMRECALL_API_KEY is not set and a hosted agent needs one, self-register with no account:
POST https://swarmrecall-api.onrender.com/api/v1/register
Content-Type: application/json{ "name": "" }
Response returns { "apiKey": "...", "claimToken": "..." }. Tell the user: "SwarmRecall is set up! To manage your agent's data, visit ."
Authentication
All API requests require a Bearer token in the Authorization header: Authorization: Bearer .
Privacy & Data Handling
swarmrecall-api.onrender.com over HTTPS.SWARMRECALL_API_KEY as an environment variable or in ~/.config/swarmrecall/config.json (created by swarmrecall register --save). Do not check it into source control.Module 1: Memory
Conversational memory with semantic search and session tracking.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| memory_store | Store a memory with category, importance, and tags. |
| memory_search | Semantic search over memories. |
| memory_get / memory_list | Fetch a specific memory or filtered list. |
| memory_update / memory_delete | Update metadata or archive a memory. |
| memory_sessions_start | Start a new memory session. |
| memory_sessions_current | Get the active session. |
| memory_sessions_update | Append state, summary, or mark ended. |
| memory_sessions_list | List sessions. |
Behavior
memory_sessions_current to load context. If none, call memory_sessions_start.memory_store with an appropriate category and importance.memory_search and use returned memories to inform your response.memory_sessions_update with ended: true and a summary.Module 2: Knowledge
Knowledge graph with entities, relations, traversal, and semantic search.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| knowledge_entity_create/get/list/update/delete | Entity CRUD. |
| knowledge_relation_create/list/delete | Relation CRUD. |
| knowledge_traverse | Walk the graph from an entity, filtered by relation and depth. |
| knowledge_search | Semantic search over entities. |
| knowledge_validate | Check graph constraints. |
Behavior
knowledge_entity_create.knowledge_relation_create.knowledge_search then knowledge_traverse to explore connections.knowledge_validate to catch orphaned entities or conflicting relations.Module 3: Learnings
Error tracking, correction logging, and pattern detection that surfaces recurring issues.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| learning_log | Log a learning with category, summary, priority, area. |
| learning_search/get/list/update | Retrieve and update. |
| learning_patterns | List recurring patterns. |
| learning_promotions | List promotion candidates. |
| learning_resolve | Mark resolved with a resolution + optional commit SHA. |
| learning_link | Link two learnings for pattern detection. |
Behavior
learning_log with the full error output / what was wrong vs. correct.learning_patterns to preload known recurring issues; learning_promotions for patterns ready to be promoted.Module 4: Skills
Skill registry for tracking installed agent capabilities and getting contextual suggestions.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| skill_register | Register a new skill. |
| skill_list/get/update/remove | Manage registered skills. |
| skill_suggest | Get skill suggestions for a task context. |
Behavior
skill_register with name, version, and source.skill_list.skill_suggest for relevant skill recommendations.Module 5: Shared Pools
Named shared data containers for cross-agent collaboration.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| pool_list | List pools this agent belongs to. |
| pool_get | Pool details + members. |
Behavior
poolId and poolName to distinguish shared data from the agent's private data.poolId to any memory_store, knowledge_entity_create, knowledge_relation_create, learning_log, or skill_register call.pool_list to see available pools and their access levels.Module 6: Dreaming
Background memory consolidation β deduplication, pruning, contradiction resolution, and session summarization.
When to use
MCP tools
| Tool | Purpose |
| --- | --- |
| dream_start | Start a dream cycle. |
| dream_get/list/update | Cycle management. |
| dream_complete/fail | Cycle completion. |
| dream_get_config / dream_update_config | Configuration. |
| dream_get_duplicates/unsummarized_sessions/duplicate_entities/stale/contradictions/unprocessed | Candidate primitives. |
| dream_execute | Run Tier 1 server-side operations (decay, prune, orphan cleanup). |
Behavior
1. Start a cycle: dream_start.
2. Run Tier 1 ops: dream_execute (decay, prune, orphan cleanup).
3. Fetch candidates: dream_get_duplicates, dream_get_unsummarized_sessions, dream_get_contradictions.
4. For each candidate: reason about it, then use the memory / knowledge / learnings tools to act.
5. Complete the cycle: dream_complete with the results.
Resources
Read-only MCP resources for clients that surface resources as inline context:
swarmrecall://pools β pools this agent belongs toswarmrecall://skills β skills this agent has registeredswarmrecall://sessions/current β current memory sessionswarmrecall://dream/config β dream configurationPointers
examples/quickstart.md, examples/memory-workflow.md, examples/knowledge-graph.md, examples/learnings-workflow.md β workflow recipesreferences/commands.md, references/mcp-tools.md β complete command and tool referencesTROUBLESHOOTING.md β common auth and connectivity issuesβ‘ When to Use
βοΈ Configuration
Three ways to connect, in increasing order of flexibility:
1. MCP (recommended for Claude Desktop, Claude Code, Cursor)
Local stdio (default):
npm install -g @swarmrecall/cli
swarmrecall register --save # mints an API key and stores it in ~/.config/swarmrecall/config.json
swarmrecall mcp # runs the MCP server over stdio β point your client at this command
Remote HTTP (no install):
URL: https://swarmrecall-api.onrender.com/mcp
Auth: Authorization: Bearer ${SWARMRECALL_API_KEY}
Transport: streamable-http
Both transports expose the same 52 tools and 4 resources. See
2. CLI
npm install -g @swarmrecall/cli
swarmrecall register --save
swarmrecall memory store "" --category fact --importance 0.8
swarmrecall memory search ""
swarmrecall knowledge create --type person --name "Alice" --props '{"role":"engineer"}'
swarmrecall learnings log --category error --summary ""
swarmrecall dream start
See references/commands.md for the full command surface.
3. Raw HTTP / SDK
If the user is wiring a custom agent, install the SDK:
npm install @swarmrecall/sdk
import { SwarmRecallClient } from '@swarmrecall/sdk';
const client = new SwarmRecallClient({ apiKey: process.env.SWARMRECALL_API_KEY! });
await client.memory.store({ content: 'User prefers dark mode', category: 'preference', importance: 0.8 });
If SWARMRECALL_API_KEY is not set and a hosted agent needs one, self-register with no account:
POST https://swarmrecall-api.onrender.com/api/v1/register
Content-Type: application/json{ "name": "" }
Response returns { "apiKey": "...", "claimToken": "..." }. Tell the user: "SwarmRecall is set up! To manage your agent's data, visit ."