Integration

Long-term memory for Crush

Crush is Charm's terminal coding agent: gorgeous TUI, fast, opinionated. Like every other agent, it loses context across sessions. Add Engram to the `mcp` map in `crush.json` and Crush picks up the architecture, the rejected approaches, and the conventions every time you launch.

Install

Three steps: sign up for an Engram API key, paste a BYOK LLM-provider key on /models, then drop the snippet below into Crush.

Three steps to memory in your agent

  1. Sign up. Free, no card. You'll land on a Getting Started page that walks the next two steps.
  2. Add your LLM key. Engram is BYOK. Paste an OpenAI / Anthropic / Groq / Together / Fireworks key and we'll route every extraction and query call through your provider. You pay your provider directly. We never see your inference.
  3. Paste the snippet below into your agent and restart it. Use Authorization: Bearer <api-key>with the API key from your portal.

engram-crush: Charm's terminal coding agent

Wires six Engram MCP tools into Crush via the mcp map incrush.json. Global or project-scoped; project wins when both exist. Source: github.com/lumetra-io/engram-crush.

  1. Edit ~/.config/crush/crush.json (or .crush.json in your project root):
  2. crush.json
    {
      "$schema": "https://charm.land/crush.json",
      "mcp": {
        "engram": {
          "type": "sse",
          "url": "https://mcp.lumetra.io/mcp/sse",
          "timeout": 120,
          "headers": {
            "Authorization": "Bearer <api-key>"
          }
        }
      }
    }
  3. Launch Crush. The six tools become callable in any session. Verify with:
  4. Terminal
    crush -p "Use the engram store_memory tool to remember 'crush verification'. Then call engram list_memories on bucket default with limit 3."

What you can do once memory's wired in

  • Recall what changed across the last five Crush sessions on this monorepo
  • Remember the project-specific commit message format and code style you've drilled into Crush
  • Avoid suggesting the same broken pattern Crush already learned was wrong last week
  • Pull up the ADRs we worked through in past sessions before starting a new design

FAQ

Does Crush support project-scoped MCP configs?

Yes. A `.crush.json` in the project root overrides `~/.config/crush/crush.json` for that project. Useful if you want different buckets per repo.

Which transport should I set on the `engram` entry?

`"type": "sse"`. Crush also supports `"stdio"` and `"http"` (Streamable HTTP), but Engram's hosted MCP endpoint is SSE today.

How do I verify it loaded?

Run `crush -p "Use the engram store_memory tool to remember 'crush verification'"`. Crush should call the tool and print the response. The MCP server list also shows up in Crush's status bar on startup.

Ship durable memory in Crush today

Free tier: 10K memories and 50K retrievals per month. No credit card. Same Engram backend powers all 41 integrations, so memories you write from one client are immediately queryable from the rest.