{"name":"io.github.TadFuji/kirok-mcp","slug":"tadfuji-kirok-mcp","title":"Kirok Memory","description":"Persistent memory for AI agents - hybrid semantic + keyword recall with autonomous consolidation","url":"https://mcp.market/server/tadfuji-kirok-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"seo","tags":["seo"],"presence":{"score":24,"stars":1,"forks":0,"downloads_week":18,"last_push_at":"2026-09-10T05:24:36.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/TadFuji/kirok-mcp","website":null,"version":"1.4.2","remotes":[],"packages":[{"registryType":"pypi","identifier":"kirok-mcp","version":"1.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Google Gemini API key used for embeddings and LLM inference (can also be placed in ~/.kirok/.env)","isRequired":true,"format":"string","isSecret":true,"name":"GEMINI_API_KEY"}]}],"tools":[{"name":"KIROK_clear_bank","description":"Delete ALL memories and observations in a bank, keeping the bank itself. Mental models are preserved. This is destructive and cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"KIROK_consolidate","description":"Manually trigger observation consolidation for a bank.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_delete_bank","description":"Permanently delete a bank and ALL its memories, observations, models, and config. This is destructive and cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"KIROK_delete_mental_model","description":"Delete a specific mental model. This is destructive and cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"KIROK_forget","description":"Delete a specific memory by its ID. This is destructive and cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"KIROK_get_bank_config","description":"Get the current configuration for a memory bank.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_get_memory","description":"Get full details of a specific memory by its ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_get_mental_model","description":"Get full details of a specific mental model.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_list_banks","description":"List all available memory banks with their memory counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_list_memories","description":"List memories in a bank with pagination, ordered by most recent.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_list_mental_models","description":"List mental models (insights generated by Reflect) for a bank.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_recall","description":"Search and retrieve relevant memories using semantic similarity and keyword matching, merged with Reciprocal Rank Fusion.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_reflect","description":"Reflect on accumulated memories to generate new insights.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_refresh_mental_model","description":"Refresh an existing mental model by re-analyzing current memories. Updates the insight based on the latest data in the bank.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_retain","description":"Store new information in agent memory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_set_bank_config","description":"Configure a memory bank's retain and observations missions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_smart_retain","description":"Evaluate content importance before retaining. Uses LLM to score the content from 1-10 and only retains if score >= threshold.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_stats","description":"Get statistics for a specific memory bank.","write_action":false,"price_micros":0,"input_schema":null},{"name":"KIROK_update_memory","description":"Update an existing memory's content. Re-extracts entities/keywords and regenerates the embedding if content changes.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-25T17:24:24.146Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:24:24.042Z","components":{"code":{"score":25,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 15 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"kirok-mcp","version":"1.4.2","found":true,"weeklyDownloads":18,"license":"MIT","dependencyCount":6,"publishedAt":"2026-07-20T00:25:57.009043Z","repositoryUrl":"https://github.com/TadFuji/kirok-mcp"}],"repo":{"found":true,"owner":"TadFuji","repo":"kirok-mcp","archived":false,"pushedAt":"2026-09-10T05:24:36Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/130803256?v=4","ownerCreatedAt":"2023-04-14T22:44:18Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/130803256?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":18,"license":"MIT","lastPushAt":"2026-09-10T05:24:36.000Z","score":24}}}},"grade_history":[],"reviews":[]}