Install
openclaw skills install memory-mcp-cyber-byeGraph-based memory MCP server with 9 consolidated tools, 8-phase auto-linking, persona tracking, emotional memory, adaptive learning, and knowledge graph entities.
openclaw skills install memory-mcp-cyber-bye[!IMPORTANT] Dependency Warning: This skill requires the
memoryMCP server to be running and registered with the Model Context Protocol (MCP) host. It enables persistent memory, knowledge graph entities, context tracking, and cross-session intelligence.
This skill equips the agent to store, search, and manage memories across sessions; track entities and relationships in a knowledge graph; maintain user persona, mood, and learning patterns; and surface proactive suggestions based on memory health.
The memory MCP exposes 9 tools, each with an op (operation) parameter:
| Tool | Prefix | Purpose | Operations |
|---|---|---|---|
memory__memory | memory_ | Core memory store & search | remember, recall, search, context, stats, health, decay, boost, pin, inspect, export, import, trim, suggest, remind, dedup, backup, restore |
memory__entity | entity_ | Knowledge graph entities | create, read, update, delete, search |
memory__relation | relation_ | Entity relationships | create, delete, search |
memory__short_term | short_term_ | Fast KV storage | set, get, list, delete, clear, search |
memory__project | project_ | Projects, tasks, workflows | create_project, get_project, list_projects, update_project, delete_project, plan_task, get_task, list_tasks, update_task, complete_task, delete_task, plan_workflow, get_workflow, list_workflows |
memory__context | context_ | Conversation context | better, chat_add, chat_get, chat_summary, get_summary |
memory__extract | extract_ | Extract/remember info | entities, text, keypoint, thought, note, discovery, mistake, learning, boundary |
memory__share | share_ | Share with others | share, shared_with_me, shared_by_me, get_network, person_memories |
memory__memory_tool_search | — | Find tools by keyword | query |
Every tool call requires:
userId (required) — Who owns this data. Always pass the user identifier.op (required) — Which operation to perform on the tool.Each tool also accepts optional context parameters:
projectId — Scope to a projectsessionId — Conversation thread identifier{ "op": "remember", "userId": "u1", "userMessage": "Fixed @AuthService bug!", "agentMessage": "Great work!" }
Auto-features: intent detection, entity extraction (@mentions, CamelCase, URLs), auto-linking.
{ "op": "recall", "userId": "u1", "query": "auth bug" }
{ "op": "search", "userId": "u1", "query": "database config" }
{ "op": "context", "userId": "u1", "sessionId": "sess_123", "maxTokens": 2000 }
{ "op": "health", "userId": "u1" }
{ "op": "decay", "userId": "u1", "daysUnused": 7 }
{ "op": "dedup", "userId": "u1", "threshold": 0.8, "autoMerge": false }
{ "op": "suggest", "userId": "u1" }
{ "op": "remind", "userId": "u1", "reminderType": "followup", "title": "Check database", "priority": 8 }
{ "op": "mood", "userId": "u1", "mood": "excited", "intensity": 8, "context": "Launch day!" }
{ "op": "persona", "userId": "u1", "traits": {"creative": true}, "style": "friendly" }
{ "op": "learn", "userId": "u1", "type": "work", "pattern": "prefers morning" }
{ "op": "create", "userId": "u1", "entityType": "Person", "name": "Alice", "properties": {"role": "Engineer"} }
{ "op": "search", "userId": "u1", "entityType": "Person", "search": "alice" }
{ "op": "create", "userId": "u1", "fromId": "e1", "toId": "e2", "type": "WORKS_WITH" }
Fast key-value store for session data. Cleared periodically.
{ "op": "set", "userId": "u1", "key": "active_task", "value": {"id": "t1"} }
{ "op": "get", "userId": "u1", "key": "active_task" }
{ "op": "list", "userId": "u1" }
{ "op": "create_project", "userId": "u1", "name": "My App", "description": "A new app" }
{ "op": "plan_task", "userId": "u1", "projectId": "p1", "title": "Fix bug", "status": "pending" }
{ "op": "list_tasks", "userId": "u1", "projectId": "p1" }
{ "op": "complete_task", "id": "task_123" }
{ "op": "better", "userId": "u1", "timeRange": "week" }
{ "op": "chat_add", "userId": "u1", "role": "user", "content": "Hello" }
{ "op": "chat_get", "userId": "u1", "limit": 10 }
{ "op": "entities", "userId": "u1", "text": "John from Acme called" }
{ "op": "learning", "userId": "u1", "insight": "Tests first" }
{ "op": "discovery", "userId": "u1", "content": "Found new approach" }
{ "op": "mistake", "userId": "u1", "description": "Used wrong API", "resolution": "Update docs" }
{ "op": "share", "userId": "u1", "toOwnerId": "u2", "content": "Deadline Sunday" }
{ "op": "shared_with_me", "userId": "u1" }
Memories are automatically linked across sessions using:
| Phase | Method | Description |
|---|---|---|
| 0 | Temporal | Same conversation flow (strongest) |
| 1 | Entity | Shared @mentions, CamelCase entities |
| 2 | Project | Same project context |
| 3 | Intent | Same detected intent |
| 4 | Keyword | Content keyword overlap |
| 5 | Cross-Project | Related across different projects |
| 6 | Temporal Chain | Within 30-minute window |
| 7 | Entity Graph | Knowledge graph traversal |
Features: bidirectional links, max 15 links per memory, adaptive boost for high-priority items.
The system auto-detects intent when storing memories:
| Intent | Priority | Examples |
|---|---|---|
| error | 80% | bug, crash, failed |
| success | 70% | fixed, working, completed |
| learning | 80% | learned, discovered |
| question | 50% | how, why, what |
| planning | 50% | will, going to |
At session start:
// Get recent context
{ "op": "better", "userId": "u1", "timeRange": "week" }
// Check pending reminders
{ "op": "remind", "userId": "u1" }
// Get health overview
{ "op": "health", "userId": "u1" }
During session:
// Store conversation
{ "op": "remember", "userId": "u1", "userMessage": "...", "agentMessage": "..." }
// Extract entities
{ "op": "entities", "userId": "u1", "text": "..." }
// Track mood
{ "op": "mood", "userId": "u1", "mood": "happy", "context": "..." }
At session end:
// Store summary
{ "op": "chat_summary", "userId": "u1", "summary": "..." }
// Clean up short-term
{ "op": "cleanup", "userId": "u1" }
| Error | Cause | Solution |
|---|---|---|
| "id required" | Missing ID param | Add id field |
| "sessionId required" | Missing sessionId | Add sessionId field |
| "mood required" | Missing mood | Add mood (happy/sad/excited/etc) |
| "userId required" | Missing userId | Always pass userId |
userId — Every tool call requires it.mood during emotionally significant moments.better op gives you full context before you begin.health + decay to keep memory clean.