{
  "version": "2",
  "generatedAt": "2026-11-06T20:51:57.517Z",
  "listing": {
    "slug": "kitfunso--hippo-memory",
    "name": "Hippo",
    "tagline": "Long-term memory for coding agents, in SQLite on your machine, reached over MCP or CLI.",
    "shortTagline": "Agent long-term memory",
    "description": "Hippo stores what coding agents learn in a local SQLite store with markdown mirrors. Memories decay unless recalled, errors last longer, and a sleep step merges related ones. Claude Code, Codex, Cursor, OpenCode and any MCP client share one store through a 13-tool MCP server, the hippo CLI, or an HTTP API.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "agent-infrastructure",
    "alternativeTo": [],
    "shape": "mcp-server",
    "formFactor": "cli",
    "executionModel": "deterministic",
    "provenance": "mixed",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [],
      "packageManager": "npm",
      "database": [
        "SQLite"
      ],
      "hostingTarget": [
        "local",
        "self-hosted server"
      ]
    },
    "modelStack": {
      "providers": [
        "Anthropic (optional)",
        "OpenAI, Voyage, Cohere (optional embedders)"
      ],
      "models": [],
      "requiredKeys": [],
      "promptLocations": [
        "extensions/claude-code-plugin/skills/memory/SKILL.md"
      ],
      "tools": [
        "hippo_recall",
        "hippo_assemble",
        "hippo_drill",
        "hippo_remember",
        "hippo_outcome",
        "hippo_context",
        "hippo_status",
        "hippo_learn",
        "hippo_conflicts",
        "hippo_resolve",
        "hippo_share",
        "hippo_peers",
        "hippo_predict_baserate"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/kitfunso/hippo-memory",
        "owner": "kitfunso",
        "name": "hippo-memory",
        "license": "MIT",
        "stars": 790,
        "lastCommit": "2026-11-05"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://github.com/kitfunso/hippo-memory#mcp-server",
      "official": true,
      "hosted": "both"
    },
    "operability": "native",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Store a memory",
        "reachable": true,
        "evidence": "MCP tool hippo_remember; CLI hippo remember"
      },
      {
        "job": "Recall memories for a query",
        "reachable": true,
        "evidence": "MCP tool hippo_recall; CLI hippo recall"
      },
      {
        "job": "Assemble session context",
        "reachable": true,
        "evidence": "MCP tools hippo_context and hippo_assemble"
      },
      {
        "job": "Rate a recalled memory good or bad",
        "reachable": true,
        "evidence": "MCP tool hippo_outcome; CLI hippo outcome"
      },
      {
        "job": "Find and resolve contradicting memories",
        "reachable": true,
        "evidence": "MCP tools hippo_conflicts and hippo_resolve"
      },
      {
        "job": "Share lessons across projects",
        "reachable": true,
        "evidence": "MCP tool hippo_share"
      },
      {
        "job": "Import from ChatGPT, CLAUDE.md, Cursor rules, markdown",
        "reachable": false,
        "evidence": "CLI hippo import --chatgpt/--claude/--cursor/--markdown only; no MCP tool in src/surface/mcp/tools.ts"
      },
      {
        "job": "Ingest Slack and GitHub events",
        "reachable": false,
        "evidence": "Webhooks at POST /v1/connectors/slack/events and /github/events on hippo serve; no MCP tool"
      },
      {
        "job": "Consolidate memories (sleep)",
        "reachable": false,
        "evidence": "CLI hippo sleep, hooks and the daily job only; no MCP tool in src/surface/mcp/tools.ts"
      },
      {
        "job": "Review the dashboard and work-queue card board",
        "reachable": false,
        "evidence": "hippo dashboard opens a browser UI at localhost:3333; the cards have a CLI (hippo card) but no MCP tool"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "installable",
            "url": "https://www.npmjs.com/package/hippo-memory",
            "command": "npm install -g hippo-memory && hippo init"
          },
          {
            "kind": "source",
            "url": "https://github.com/kitfunso/hippo-memory"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "extensions/claude-code-plugin/skills/memory/SKILL.md"
      ],
      "install": null,
      "note": "The Claude Code plugin ships a memory skill that tells the agent when to recall and remember; hippo init also writes hooks and an instruction block."
    },
    "customization": {
      "summary": "Behavior is set in .hippo/config.json. gitLearnPatterns picks which commits become lessons, capture.followUpRules turns on model capture of later rules, agentMemories.tools picks whose notes are imported, and pinnedInject and defaultHalfLifeDays set what reaches the agent and how long it lasts. The memory skill is a prompt file that tells the agent when to recall and remember. These set memory policy, not branding or content.",
      "envVars": [
        "HIPPO_PORT",
        "HIPPO_API_KEY",
        "HIPPO_TENANT",
        "HIPPO_AGENT_MEMORY_TOOLS",
        "HIPPO_SKIP_AUTO_INTEGRATIONS",
        "HIPPO_SKIP_SCHEDULE",
        "SLACK_SIGNING_SECRET",
        "ANTHROPIC_API_KEY"
      ],
      "configFiles": [
        ".hippo/config.json"
      ],
      "promptFiles": [
        "extensions/claude-code-plugin/skills/memory/SKILL.md"
      ],
      "effort": "config-only",
      "editCount": 10
    },
    "useWhen": [
      "you switch between Claude Code, Codex and Cursor and want one shared memory of what each learned",
      "you want your agent to stop repeating mistakes it already hit in this repo"
    ],
    "accounts": [],
    "active": true,
    "lastActivity": "2026-11-05",
    "gotchas": [
      "hippo init writes hooks to ~/.claude/settings.json and a daily 6:15am cron or scheduled task; use --no-hooks and --no-schedule to skip",
      "hippo init reads the notes your coding agents keep; use --no-learn to skip",
      "hippo sleep sends memory text to Anthropic for fact extraction when ANTHROPIC_API_KEY is set, unless extraction is disabled in config",
      "The README says sleep lowered recall in its own audit, and age-based decay made no measurable difference",
      "hippo serve needs an API key even from the same machine, and it answers MCP over HTTP only on a store with sharedStore set",
      "commercial edition is described as planned, not released"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: npm install -g hippo-memory, hippo CLI, local SQLite store",
      "executionModel": "README: BM25 search with no model call by default; embedders are opt-in, and sleep calls Anthropic only when ANTHROPIC_API_KEY is set",
      "operability": "src/surface/mcp/tools.ts defines the 13 tools; package.json bin hippo; the product exists to serve coding agents, and people get only setup and a dashboard",
      "effort": "src/base/config/config.ts and config-keys.ts accept the keys named here; they change what is captured, kept and injected, which is the product's workflow, not deployment values. extensions/claude-code-plugin/skills/memory/SKILL.md is a prompt file",
      "editions": "README Open source and commercial: MIT core, commercial edition planned and unreleased; no price seen",
      "active": "GitHub commits API: last commit 2026-11-05",
      "vertical": "adr/0012: agent-infrastructure holds software other agents run on or connect through. Agents connect to Hippo over MCP; it holds no human notes",
      "provenance": "46 of the last 60 commits carry an AI agent trailer under a human author; claude is a repo contributor with 124 commits",
      "users": "8,722 npm downloads in the last month, 790 stars, 47 forks and issues from outside users"
    },
    "confidence": {
      "formFactor": 0.9,
      "executionModel": 0.85,
      "operability": 0.9,
      "effort": 0.75,
      "reach": 0.9,
      "editions": 0.85
    },
    "openQuestions": [
      "Full list of HTTP API routes: only the connector routes and POST /mcp are named in the README"
    ],
    "sources": [
      {
        "url": "https://hippo-memory.com",
        "foundBy": "sourcing:notes-knowledge:community"
      },
      {
        "url": "https://github.com/kitfunso/hippo-memory#mcp-server",
        "foundBy": "analysis"
      }
    ],
    "published": true,
    "lastCheckedAt": "2026-11-06",
    "research": {
      "stage": "verified",
      "verdict": "dispute",
      "reason": "Gates pass: MIT, 790 stars, releases through 3.3.3 on 2026-11-05, 8,722 npm downloads last month. All 13 MCP tools are in source. Config-only holds: the keys change what is captured and injected, which is behavior, not deployment. Import, webhooks and sleep have no MCP tool.",
      "disputed": [
        {
          "field": "vertical",
          "reason": "adr/0012 supports agent-infrastructure, since agents connect through it, but it names platforms, gateways, registries and runtimes, not memory. The two other agent memory Listings, basic-memory and clawmem, sit in notes-knowledge. Those work over human markdown notes; Hippo does not. The Curator should pick one rule."
        }
      ]
    },
    "url": "apps/kitfunso--hippo-memory.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/kitfunso--hippo-memory.json"
  }
}
