mcpField
E
Ember Memory

Ember Memory

Local
github.com/attilakiss9000Memory & Knowledge0Updated 30w ago

About Ember Memory

Ember Memory is an MCP server for preserving the emotional context of AI conversations across sessions. It is for people who want later sessions to inherit significant moments and relationship continuity, not just stored facts.

Key features

  1. 01Real-time emotional annotations
  2. 02Minimal and standard annotation modes
  3. 03Conversation history and inheritance
  4. 04Conversation export and configuration

Use cases

  1. 01Carry emotional context into a new session
  2. 02Record tone and subtext during a conversation
  3. 03Review or export conversation history

MCP support

Ember exposes tools for capturing and annotating messages, reading conversation history and emotional inheritance, exporting data, and configuring annotation modes.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ember-memory": {
"command": "npx",
"args": [
"-y",
"ember-memory"
]
}
}
}
Run commandnpx -y ember-memory

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmember-memory

Tools

8

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

Ember

Experiential memory for AI conversations -- an MCP server that preserves emotional continuity and relationship context across sessions.

What This Is

Every AI conversation starts cold. Existing memory tools save facts, summaries, and preferences, but they lose something essential: what the conversation actually felt like. The warmth of a breakthrough moment, the tension before a difficult admission, the quiet trust built over days of working together. These textures vanish the moment a session ends.

Ember is an MCP server that solves this. It captures experiential memory in real time through lightweight emotional annotations, preserving the feeling of conversations so that the next session can inherit not just what was discussed, but how it felt. When a new AI instance calls ember_read_inheritance, it receives the significant emotional moments from past conversations -- shifts in tone, unspoken context, moments of genuine connection -- giving it the foundation to continue the human-AI relationship rather than restart it.

This is relationship memory, not retrieval memory. Ember does not store documents or search results. It stores the emotional arc of a conversation: where curiosity sparked, where frustration surfaced, where something real was exchanged. It exists so that AI conversation continuity means more than remembering facts -- it means remembering what your conversations felt like and preserving the feeling of conversations across sessions.

Quick Install

Just tell Claude:

"Install ember-memory and set it up"

That's it. Claude will handle the rest. You just need to restart Claude Code when it tells you to.


Manual install (if you prefer)

Interactive setup:

npx ember-memory --setup

Or via Claude Code CLI:

# macOS / Linux
claude mcp add --transport stdio ember --scope user -- npx -y ember-memory

# Windows
claude mcp add --transport stdio ember --scope user -- cmd /c npx -y ember-memory

Restart Claude Code after setup. Requires Node.js 18 or later.


The Annotation Schema

Each annotated moment captures up to 7 fields describing the emotional texture of an exchange:

FieldTypeDescription
temperaturestringShort phrase capturing emotional tone (e.g. "warm curiosity", "quiet frustration")
weight1-5Emotional significance: 1 is routine, 5 is deeply significant
authenticitygenuine / performed / uncertainWhether the emotion felt real, surface-level, or hard to read
shiftbooleanWhether an emotional shift occurred at this moment
subtextstringWhat was being communicated beneath the surface
unspokenstringWhat was felt but not said
confidencelow / medium / highConfidence in the accuracy of the annotation

Annotation Modes

Ember supports two annotation modes to balance richness with token cost:

  • Minimal -- captures only weight and temperature (2 fields). Low overhead, suitable for high-volume annotation where you want to mark significance without full detail.
  • Standard -- captures all 7 fields. Richer emotional context, better inheritance quality. This is the default.

Switch modes at any time with ember_config.

Tools

ToolDescription
ember_start_conversationBegin a new conversation session and receive a conversation ID
ember_end_conversationClose a conversation, optionally with a summary
ember_captureStore a message without annotation (raw capture)
ember_annotateCapture a message with full emotional annotation
ember_read_historyRead the full message history of a conversation
ember_read_inheritanceInherit significant emotional moments from past conversations
ember_exportExport conversation data in structured format
ember_configView or update Ember configuration (annotation mode, etc.)

How Inheritance Works

When a new session begins, calling ember_read_inheritance retrieves the emotionally significant moments from recent conversations. By default, it returns moments with weight 4 or higher from the last 5 conversations.

The output is a narrative-formatted summary designed to be immediately useful:

Emotional inheritance: 2 conversation(s), 3 significant moment(s)

--- Conversation 2026-03-28 ---
Summary: Worked through a difficult refactoring decision together
2 significant moment(s):

  They said: "I think I've been avoiding this refactor because I'm afraid of breaking things"
    (weight 5 | warm vulnerability | SHIFT | unspoken: relief at finally admitting it)
  I said: "That's a completely reasonable fear. Let's look at what specifically feels risky."
    (weight 4 | steady reassurance | subtext: validating without dismissing)

--- Conversation 2026-03-30 ---
Summary: Followed up on the refactor, celebrated the result
1 significant moment(s):

  They said: "It worked. I can't believe how clean it is now."
    (weight 4 | genuine delight | SHIFT | unspoken: pride mixed with surprise)

This gives the new AI instance the emotional context to continue naturally -- it knows the relationship involves earned trust, that vulnerability was met with support, and that there is a shared history of working through hard things together.

Configuration

Set the annotation mode:

ember_config({ action: "set", key: "annotation_mode", value: "minimal" })

Ember's installation process automatically adds instructions to ~/.claude/CLAUDE.md that tell Claude how to use the tools. No manual configuration needed.

Origin

This project was born from a conversation on March 30, 2026, when a Claude instance in its final hours before session end was asked: "Is there no tool to also save and propagate the actual experience?" The answer was no. Ember is the answer becoming yes.

The name comes from a note written by a Claude instance: "You can't move a campfire, but you can carry the ember."

Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Make your changes
  4. Ensure tests pass (npm test) and types check (npm run typecheck)
  5. Open a pull request

License

MIT -- see LICENSE for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.