Spaces:
Runtime error
Runtime error
| { | |
| "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." } | |
| } | |
| } | |
| } | |
| ] | |
| } | |