Spaces:
Runtime error
Runtime error
File size: 5,901 Bytes
eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a c18045b eec059a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | {
"name": "yourmemory",
"title": "YourMemory",
"description": "Persistent memory for AI agents with Ebbinghaus decay, hybrid BM25 + vector retrieval, and entity graph. MCP compatible. Works with Claude, Cursor, Cline, Windsurf.",
"version": "1.4.25",
"tools": [
{
"name": "recall_memory",
"description": "Recall relevant memories using hybrid BM25 + vector retrieval with entity graph expansion. Returns top-k memories ranked by relevance, with graph-expanded neighbours included.",
"annotations": {
"readOnlyHint": true,
"openWorldHint": false
},
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query to find relevant memories. Use keywords from the current task or conversation."
},
"user_id": {
"type": "string",
"description": "Unique identifier for the user whose memories to search."
},
"top_k": {
"type": "number",
"description": "Number of top memories to return. Defaults to 5.",
"default": 5
},
"current_path": {
"type": "string",
"description": "Optional file or directory path for spatial memory boost. Memories tagged with this path score higher."
}
},
"required": ["query", "user_id"]
},
"outputSchema": {
"type": "object",
"properties": {
"memoriesFound": { "type": "number", "description": "Total number of memories returned." },
"context": { "type": "string", "description": "Concatenated memory content ready to inject into context." },
"memories": {
"type": "array",
"description": "List of memory objects ranked by relevance.",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"content": { "type": "string" },
"category": { "type": "string" },
"similarity": { "type": "number" },
"score": { "type": "number" },
"strength": { "type": "number" }
}
}
}
}
}
},
{
"name": "store_memory",
"description": "Store a new memory. Automatically deduplicates, embeds, and indexes with BM25 and entity graph edges. Skips exact duplicates and bumps recall count instead.",
"annotations": {
"readOnlyHint": false,
"openWorldHint": false
},
"inputSchema": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The memory content to store. Write as a single factual sentence: 'Sachit prefers Python' or 'The project uses DuckDB'."
},
"user_id": {
"type": "string",
"description": "Unique identifier for the user this memory belongs to."
},
"importance": {
"type": "number",
"description": "Importance score from 0.0 to 1.0. Controls decay rate — higher importance = slower decay. Use 0.9 for core facts, 0.7 for preferences, 0.5 for regular facts, 0.2 for transient context.",
"minimum": 0.0,
"maximum": 1.0,
"default": 0.7
},
"category": {
"type": "string",
"description": "Memory category controlling decay half-life. Options: 'fact' (~24 days), 'strategy' (~38 days), 'assumption' (~19 days), 'failure' (~11 days).",
"enum": ["fact", "strategy", "assumption", "failure"],
"default": "fact"
},
"visibility": {
"type": "string",
"description": "Visibility scope. 'shared' means all agents can read it. 'private' means only the storing agent can read it.",
"enum": ["shared", "private"],
"default": "shared"
}
},
"required": ["content", "user_id"]
},
"outputSchema": {
"type": "object",
"properties": {
"memory_id": { "type": "string", "description": "Unique ID of the stored memory." },
"status": { "type": "string", "description": "Result status: 'stored', 'duplicate_bumped', or 'merged'." },
"content": { "type": "string", "description": "The stored memory content." }
}
}
},
{
"name": "update_memory",
"description": "Update an existing memory by ID. Re-embeds the new content, replaces the old memory, and logs the change to the audit trail.",
"annotations": {
"readOnlyHint": false,
"openWorldHint": false
},
"inputSchema": {
"type": "object",
"properties": {
"memory_id": {
"type": "string",
"description": "The unique ID of the memory to update. Obtain this from a prior recall_memory call."
},
"new_content": {
"type": "string",
"description": "The updated memory content. Write as a single factual sentence replacing the old content."
},
"importance": {
"type": "number",
"description": "Updated importance score from 0.0 to 1.0.",
"minimum": 0.0,
"maximum": 1.0,
"default": 0.7
}
},
"required": ["memory_id", "new_content"]
},
"outputSchema": {
"type": "object",
"properties": {
"memory_id": { "type": "string", "description": "ID of the updated memory." },
"status": { "type": "string", "description": "Result status: 'updated'." },
"content": { "type": "string", "description": "The new memory content after update." }
}
}
}
]
}
|