{"components":[{"slug":"memini","name":"memini","summary":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","publisher":"eleboucher","homepage":"https://github.com/eleboucher/memini","kind":"mcp","hasApi":true,"hasMcp":true,"costRange":"unknown","costNotes":"No price, plan, seat, or usage fee is stated. The repository is AGPL-3.0 and described as self-hosted software. An external OpenAI-compatible embeddings endpoint is required; an LLM is optional. The cost of those external services is not stated.","functions":["connect","code","compose","deploy","memory","policy","rank","search","store","embed","retrieve"],"slices":[{"functionId":"memory","label":"Tiered agent memory","note":"Shared remember and recall across working, episodic, semantic, and procedural tiers, with decay, TTLs, namespace isolation, and optional consolidation into durable facts.","cost":"Unknown"},{"functionId":"search","label":"Hybrid vector and keyword search","note":"Hybrid vector and keyword retrieval fused with Reciprocal Rank Fusion.","cost":"Unknown"},{"functionId":"rank","label":"Composite re-ranking","note":"Hybrid results are re-ranked by relevance, access recency, and importance rather than similarity alone.","cost":"Unknown"},{"functionId":"policy","label":"Client connect policy","note":"The MCP server sends a standing policy to every client on connect.","cost":"Unknown"},{"functionId":"connect","label":"connect","note":"Inferred from executor","cost":"Unknown"},{"functionId":"code","label":"code","note":"Inferred from executor","cost":"Unknown"},{"functionId":"compose","label":"compose","note":"Inferred from executor","cost":"Unknown"},{"functionId":"deploy","label":"deploy","note":"Inferred from executor","cost":"Unknown"},{"functionId":"store","label":"Store","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"},{"functionId":"embed","label":"Embed","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"},{"functionId":"retrieve","label":"Retrieve","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"}],"interfaces":[{"kind":"mcp"},{"kind":"http"}],"composabilityRationale":"The page states REST plus MCP over stdio and Streamable HTTP, sharing one service layer, with an embedded web UI. Most listed agent integrations read MEMINI_BASE_URL and MEMINI_API_KEY; some clients use their own config or a fixed local MCP URL. Authentication can be enabled with an API key. Embeddings are not built in and must be supplied by an external endpoint whose dimensions match the store. An LLM is opt-in for background deduplication, contradiction handling, and distillation; without one, marker heuristics run the lifecycle. Pricing, quotas, and hosted multi-tenant terms are not stated.","signals":[],"functionProbabilities":[{"functionId":"connect","value":0.92,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"code","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"compose","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"deploy","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"memory","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"policy","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"rank","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"search","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"store","value":0.8,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"auth","value":0.72,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"embed","value":0.72,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"retrieve","value":0.72,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"},{"functionId":"tool-call","value":0.72,"source":"https://github.com/eleboucher/memini","method":"lexical","observedAt":"2026-10-16T06:17:46.735Z"}],"claimVerification":[{"key":"mcp","status":"unverified","asserted":"true","evidenceSource":"https://github.com/eleboucher/memini","method":"fallback"},{"key":"api","status":"unverified","asserted":"true","evidenceSource":"https://github.com/eleboucher/memini","method":"fallback"},{"key":"cost","status":"unverified","asserted":"unknown","evidenceSource":"https://github.com/eleboucher/memini","method":"fallback"},{"key":"license","status":"unverified","asserted":"","evidenceSource":"https://github.com/eleboucher/memini","method":"fallback"}],"tweets":[],"notes":[],"origin":"intake","createdAt":"2026-10-16T06:17:47.632Z","updatedAt":"2026-10-16T06:17:47.632Z","sources":[{"kind":"web","label":"executor","url":"https://github.com/eleboucher/memini","excerpt":"BranchesTags\n\n## Repository files navigation\n\n# memini\n\n> A shared, persistent memory service for AI agents.\n\n`memini` gives any MCP-capable agent (Claude Code, Cursor, Codex, opencode, Hermes, OpenClaw, Open WebUI) one place to `remember` ","at":"2026-10-16T06:17:47.632Z"}],"recordId":"cmp_memini","claims":{"name":"memini","summary":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","kind":"mcp","publisher":"eleboucher","homepage":"https://github.com/eleboucher/memini","costRange":"unknown","costNotes":"No price, plan, seat, or usage fee is stated. The repository is AGPL-3.0 and described as self-hosted software. An external OpenAI-compatible embeddings endpoint is required; an LLM is optional. The cost of those external services is not stated.","functions":["connect","code","compose","deploy","memory","policy","rank","search","store","embed","retrieve"],"slices":[{"functionId":"memory","label":"Tiered agent memory","note":"Shared remember and recall across working, episodic, semantic, and procedural tiers, with decay, TTLs, namespace isolation, and optional consolidation into durable facts.","cost":"Unknown"},{"functionId":"search","label":"Hybrid vector and keyword search","note":"Hybrid vector and keyword retrieval fused with Reciprocal Rank Fusion.","cost":"Unknown"},{"functionId":"rank","label":"Composite re-ranking","note":"Hybrid results are re-ranked by relevance, access recency, and importance rather than similarity alone.","cost":"Unknown"},{"functionId":"policy","label":"Client connect policy","note":"The MCP server sends a standing policy to every client on connect.","cost":"Unknown"},{"functionId":"connect","label":"connect","note":"Inferred from executor","cost":"Unknown"},{"functionId":"code","label":"code","note":"Inferred from executor","cost":"Unknown"},{"functionId":"compose","label":"compose","note":"Inferred from executor","cost":"Unknown"},{"functionId":"deploy","label":"deploy","note":"Inferred from executor","cost":"Unknown"},{"functionId":"store","label":"Store","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"},{"functionId":"embed","label":"Embed","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"},{"functionId":"retrieve","label":"Retrieve","note":"Self-hosted persistent memory service for MCP-capable agents. It stores and recalls memories in a tiered store using hybrid vector and keyword retrieval, ships as a single Go binary with SQLite or Postgres, and exposes REST, MCP, and an embedded admin UI.","cost":"unknown"}],"interfaces":[{"kind":"mcp"},{"kind":"http"}],"composabilityRationale":"The page states REST plus MCP over stdio and Streamable HTTP, sharing one service layer, with an embedded web UI. Most listed agent integrations read MEMINI_BASE_URL and MEMINI_API_KEY; some clients use their own config or a fixed local MCP URL. Authentication can be enabled with an API key. Embeddings are not built in and must be supplied by an external endpoint whose dimensions match the store. An LLM is opt-in for background deduplication, contradiction handling, and distillation; without one, marker heuristics run the lifecycle. Pricing, quotas, and hosted multi-tenant terms are not stated."},"relations":[{"from":"memini","to":"self","kind":"alternative-to","note":"Shared functions code, compose, connect, deploy, embed, rank, search. Same kind and overlapping capability."},{"from":"memini","to":"local-faiss-mcp-server","kind":"alternative-to","note":"Shared functions code, connect, embed, memory, rank, retrieve, search, store. Same kind and overlapping capability."},{"from":"memini","to":"awesome","kind":"fills-same-slot-as","note":"Shared functions code, compose, connect, memory, policy, search, store. Can fill the same function slot."},{"from":"memini","to":"casdoor","kind":"fills-same-slot-as","note":"Shared functions code, compose, connect, embed, policy, search. Can fill the same function slot."},{"from":"memini","to":"cognee","kind":"fills-same-slot-as","note":"Shared functions code, connect, embed, memory, retrieve. Can fill the same function slot."},{"from":"memini","to":"turbopuffer","kind":"fills-same-slot-as","note":"Shared functions embed, memory, search, store. Can fill the same function slot."},{"from":"memini","to":"lore","kind":"fills-same-slot-as","note":"Shared functions connect, memory, retrieve, search, store. Can fill the same function slot."},{"from":"memini","to":"llamaindex","kind":"fills-same-slot-as","note":"Shared functions compose, embed, memory, retrieve. Can fill the same function slot."}],"explain":{"score":9,"formula":"100 × sum(weight × value) over observed factors only. Unobserved factors are omitted, not zeroed.","factors":[{"id":"github_health","label":"GitHub health","weight":0.18,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"agent_use","label":"Agent use","weight":0.16,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"human_notes","label":"Human notes","weight":0.14,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"composability","label":"Composability","weight":0.16,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"checklist","label":"Checklist","weight":0.1,"value":0.6666666666666666,"contribution":0.06666666666666667,"why":"An MCP surface is declared. An API is declared. Cost is unknown. 2 of 3 checklist fields are complete.","sources":[],"evidence":"observed"},{"id":"evidence_quality","label":"Evidence quality","weight":0.14,"value":0.18107144632819594,"contribution":0.025350002485947435,"why":"1 sources cover 1 evidence types. The latest dated evidence is 2026-10-16. Freshness is omitted unless observed as a signal.","sources":[{"kind":"web","label":"executor","url":"https://github.com/eleboucher/memini","excerpt":"BranchesTags\n\n## Repository files navigation\n\n# memini\n\n> A shared, persistent memory service for AI agents.\n\n`memini` gives any MCP-capable agent (Claude Code, Cursor, Codex, opencode, Hermes, OpenClaw, Open WebUI) one place to `remember` ","at":"2026-10-16T06:17:47.632Z"}],"evidence":"observed"},{"id":"benchmark","label":"Benchmarks","weight":0.12,"why":"insufficient evidence","sources":[],"evidence":"insufficient"}],"missing":["GitHub health: insufficient evidence","Agent use: insufficient evidence","Human notes: insufficient evidence","Composability: insufficient evidence","Benchmarks: insufficient evidence"]},"score":9,"tags":["agents"]},{"slug":"self","name":"Self","summary":"Self-Hosted AIEnterprise Search18 min readPublished May 22, 2026","publisher":"onyx.app","homepage":"https://onyx.app/insights/self-hosted-rag","kind":"mcp","hasApi":true,"hasMcp":true,"costRange":"unknown","costNotes":"Unknown: pricing was not stated in the intake evidence.","functions":["index","code","compose","embed","rank","search","connect","deploy"],"slices":[{"functionId":"index","label":"index","note":"Inferred from executor","cost":"Unknown"},{"functionId":"code","label":"code","note":"Inferred from executor","cost":"Unknown"},{"functionId":"compose","label":"compose","note":"Inferred from executor","cost":"Unknown"},{"functionId":"embed","label":"embed","note":"Inferred from executor","cost":"Unknown"},{"functionId":"rank","label":"rank","note":"Inferred from executor","cost":"Unknown"},{"functionId":"search","label":"search","note":"Inferred from executor","cost":"Unknown"},{"functionId":"connect","label":"connect","note":"Inferred from executor","cost":"Unknown"},{"functionId":"deploy","label":"deploy","note":"Inferred from executor","cost":"Unknown"}],"interfaces":[{"kind":"mcp"},{"kind":"http"}],"composabilityRationale":"Heuristic from executor evidence. Grok pass was unavailable or incomplete. No usage metrics were observed.","signals":[],"functionProbabilities":[{"functionId":"index","value":0.92,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"code","value":0.8,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"compose","value":0.8,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"embed","value":0.8,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"rank","value":0.8,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"search","value":0.8,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"connect","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"deploy","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"evaluate","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"generate","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"ingest","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"memory","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"observe","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"retrieve","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"},{"functionId":"store","value":0.72,"source":"https://onyx.app/insights/self-hosted-rag","method":"lexical","observedAt":"2026-10-15T16:28:23.244Z"}],"claimVerification":[{"key":"mcp","status":"unverified","asserted":"true","evidenceSource":"https://onyx.app/insights/self-hosted-rag","method":"fallback"},{"key":"api","status":"unverified","asserted":"true","evidenceSource":"https://onyx.app/insights/self-hosted-rag","method":"fallback"},{"key":"cost","status":"unverified","asserted":"unknown","evidenceSource":"https://onyx.app/insights/self-hosted-rag","method":"fallback"},{"key":"license","status":"unverified","asserted":"","evidenceSource":"https://onyx.app/insights/self-hosted-rag","method":"fallback"}],"tweets":[],"notes":[],"origin":"intake","createdAt":"2026-10-15T16:28:24.104Z","updatedAt":"2026-10-15T16:28:24.104Z","sources":[{"kind":"web","label":"executor","url":"https://onyx.app/insights/self-hosted-rag","excerpt":"All Insights\n\nSelf-Hosted AIEnterprise Search18 min readPublished May 22, 2026\n\n# Self-Hosted RAG in 2026: The Complete Guide to Running Retrieval-Augmented Generation On Your Own Infrastructure\n\nBy Roshan Desai\n\n---\n\n> **TL;DR:** Self-host","at":"2026-10-15T16:28:24.104Z"}],"recordId":"cmp_self","claims":{"name":"Self","summary":"Self-Hosted AIEnterprise Search18 min readPublished May 22, 2026","kind":"mcp","publisher":"onyx.app","homepage":"https://onyx.app/insights/self-hosted-rag","costRange":"unknown","costNotes":"Unknown: pricing was not stated in the intake evidence.","functions":["index","code","compose","embed","rank","search","connect","deploy"],"slices":[{"functionId":"index","label":"index","note":"Inferred from executor","cost":"Unknown"},{"functionId":"code","label":"code","note":"Inferred from executor","cost":"Unknown"},{"functionId":"compose","label":"compose","note":"Inferred from executor","cost":"Unknown"},{"functionId":"embed","label":"embed","note":"Inferred from executor","cost":"Unknown"},{"functionId":"rank","label":"rank","note":"Inferred from executor","cost":"Unknown"},{"functionId":"search","label":"search","note":"Inferred from executor","cost":"Unknown"},{"functionId":"connect","label":"connect","note":"Inferred from executor","cost":"Unknown"},{"functionId":"deploy","label":"deploy","note":"Inferred from executor","cost":"Unknown"}],"interfaces":[{"kind":"mcp"},{"kind":"http"}],"composabilityRationale":"Heuristic from executor evidence. Grok pass was unavailable or incomplete. No usage metrics were observed."},"relations":[{"from":"self","to":"memini","kind":"alternative-to","note":"Shared functions code, compose, connect, deploy, embed, rank, search. Same kind and overlapping capability."},{"from":"self","to":"local-faiss-mcp-server","kind":"fills-same-slot-as","note":"Shared functions code, connect, embed, index, rank, search. Can fill the same function slot."},{"from":"self","to":"casdoor","kind":"fills-same-slot-as","note":"Shared functions code, compose, connect, embed, search. Can fill the same function slot."},{"from":"self","to":"awesome","kind":"fills-same-slot-as","note":"Shared functions code, compose, connect, index, search. Can fill the same function slot."},{"from":"self","to":"claude-code","kind":"fills-same-slot-as","note":"Shared functions code, compose, connect. Can fill the same function slot."},{"from":"self","to":"cognee","kind":"fills-same-slot-as","note":"Shared functions code, connect, embed. Can fill the same function slot."},{"from":"self","to":"pen-dev","kind":"fills-same-slot-as","note":"Shared functions code, connect, embed. Can fill the same function slot."},{"from":"self","to":"grok-xai","kind":"fills-same-slot-as","note":"Shared functions code, connect, search. Can fill the same function slot."}],"explain":{"score":9,"formula":"100 × sum(weight × value) over observed factors only. Unobserved factors are omitted, not zeroed.","factors":[{"id":"github_health","label":"GitHub health","weight":0.18,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"agent_use","label":"Agent use","weight":0.16,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"human_notes","label":"Human notes","weight":0.14,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"composability","label":"Composability","weight":0.16,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"checklist","label":"Checklist","weight":0.1,"value":0.6666666666666666,"contribution":0.06666666666666667,"why":"An MCP surface is declared. An API is declared. Cost is unknown. 2 of 3 checklist fields are complete.","sources":[],"evidence":"observed"},{"id":"evidence_quality","label":"Evidence quality","weight":0.14,"value":0.18107144632819594,"contribution":0.025350002485947435,"why":"1 sources cover 1 evidence types. The latest dated evidence is 2026-10-15. Freshness is omitted unless observed as a signal.","sources":[{"kind":"web","label":"executor","url":"https://onyx.app/insights/self-hosted-rag","excerpt":"All Insights\n\nSelf-Hosted AIEnterprise Search18 min readPublished May 22, 2026\n\n# Self-Hosted RAG in 2026: The Complete Guide to Running Retrieval-Augmented Generation On Your Own Infrastructure\n\nBy Roshan Desai\n\n---\n\n> **TL;DR:** Self-host","at":"2026-10-15T16:28:24.104Z"}],"evidence":"observed"},{"id":"benchmark","label":"Benchmarks","weight":0.12,"why":"insufficient evidence","sources":[],"evidence":"insufficient"}],"missing":["GitHub health: insufficient evidence","Agent use: insufficient evidence","Human notes: insufficient evidence","Composability: insufficient evidence","Benchmarks: insufficient evidence"]},"score":9}]}