# elen

elen stores coding-agent decisions with their constraints and marks replaced decisions. It helps an agent look up prior choices before making a new one.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 4
- Author: LearningNodes
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/LearningNodes/Elen/tree/HEAD/packages/mcp-server
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/elen

## What it does

elen records decisions and their constraints in a graph. Its tools can search validated decisions, return brief pointers, and expand a record by ID. When a decision replaces an earlier one, `elen_supersede` updates the graph to reflect that change.

In local mode, records live in SQLite on your machine, with `~/.elen/decisions.db` as the default path. Add the elen protocol to a rules file or system prompt so the agent checks for prior decisions before choosing and records decisions afterward. Connected mode is optional, but it requires `elen login` and an API key and is in beta, so using it involves extra setup.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add elen -- npx -y @learningnodes/elen-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add mcp-server -- npx -y @learningnodes/elen-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@learningnodes/elen-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@learningnodes/elen-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mcp-server npx -y @learningnodes/elen-mcp
```

## When to use it
- look up earlier decisions on a technical topic
- inspect a decision’s constraints by ID
- record a choice with its constraints
- mark an earlier decision as superseded
- review active decision threads at session start

## Example prompts
- Search for earlier decisions about the library choice with `elen_suggest`, then inspect a relevant record using `elen_expand`.
- Save the decision and its constraints with `elen_commit`.
- Show active decision threads before starting work with `elen_get_context`.

## Similar
- [Selvedge](https://affpapa.org/en/nevibecode/mcp/selvedge.md) — MCP server · ★ 25
- [pp-espn](https://affpapa.org/en/nevibecode/skills/pp-espn.md) — skill · 3800 installs
- [ontology](https://affpapa.org/en/nevibecode/skills/ontology.md) — skill · 3700 installs
- [pp-movie-goat](https://affpapa.org/en/nevibecode/skills/pp-movie-goat.md) — skill · 3400 installs
- [datapackage](https://affpapa.org/en/nevibecode/skills/datapackage.md) — skill · 2100 installs
- [axiom-data](https://affpapa.org/en/nevibecode/skills/axiom-data.md) — skill · 1300 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
