mcpField
E
elen

elen

Local
github.com/LearningNodesMemory & Knowledge4Updated 2w ago

About elen

elen is an open-source MCP server for coding agents to record technical decisions and their constraints, and mark superseded decisions. It stores decisions in a local SQLite file.

Key features

  1. 01Record decisions and constraints
  2. 02Search and expand past precedents
  3. 03Mark older decisions as superseded
  4. 04Store data in local SQLite
  5. 05View decision context and status

Use cases

  1. 01Find technical precedents before coding
  2. 02Record a decision and its constraints
  3. 03Revise an outdated decision

MCP support

As an MCP server, elen exposes tools for recording, searching, expanding, and superseding decisions. It can be configured with Cursor, Claude Code, and other MCP clients.

Configuration

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

mcp.json · Universal config
{
"mcpServers": {
"com-learningnodes-elen": {
"command": "npx",
"args": [
"-y",
"@learningnodes/elen-mcp"
]
}
}
}
Run commandnpx -y @learningnodes/elen-mcp

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
npm@learningnodes/elen-mcp0.3.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Elen is an open-source MCP server that records the decisions your coding agent makes, with the limits that bound them, and marks old decisions as superseded. It installs with one npx line, works with Cursor, Claude Code and any MCP client, and keeps decisions in a local SQLite file.

Install

npx -y @learningnodes/[email protected]
Claude Code
claude mcp add --transport stdio elen -- npx -y @learningnodes/[email protected]
VS Code

Open this link to install:

vscode:mcp/install?%7B%22name%22%3A%22elen%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40learningnodes%2Felen-mcp%400.3.1%22%5D%7D
Cursor

Add this to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "elen": {
      "command": "npx",
      "args": ["-y", "@learningnodes/[email protected]"]
    }
  }
}
Gemini CLI

Add this to settings.json (~/.gemini/settings.json, or .gemini/settings.json in your project):

{
  "mcpServers": {
    "elen": {
      "command": "npx",
      "args": ["-y", "@learningnodes/[email protected]"]
    }
  }
}
Any other MCP client

Use the same mcpServers entry:

{
  "mcpServers": {
    "elen": {
      "command": "npx",
      "args": ["-y", "@learningnodes/[email protected]"]
    }
  }
}

Tested with

ClientStatus
Claude CodeRun by the maintainer
CursorConfiguration follows the client's documentation. Not yet recorded as tested.
VS CodeConfiguration follows the client's documentation. Not yet recorded as tested.
Gemini CLIConfiguration follows the client's documentation. Not yet recorded as tested.
Other MCP clientsConfiguration follows the client's documentation. Not yet recorded as tested.

Make your agent use it

The tools alone give an agent no habit: it sees what each tool does, but it does not stop mid-task to ask whether a precedent exists. Add the block below to your rules file or system prompt so that searching before a decision and committing after one become part of every session.

# Epistemic Decision Memory Protocol

You must adhere to the Minimal Token Protocol for decisions:

1. Pointer-First Retrieval: Before making a technical decision, ALWAYS use elen_suggest to retrieve Top-K minimal pointers.
2. On-Demand Expansion: If a pointer looks relevant, you MUST call elen_expand on that specific ID. Do not hallucinate constraints.
3. Commiting Atoms: When deciding, use elen_commit. Summarize constraints into plain-text arrays (e.g. "budget < 500ms").
4. Graph Revision: If a decision invalidates a precedent, you MUST use elen_supersede to advance the graph state.

What it stores

In local mode decisions stay in a SQLite file on your machine (default ~/.elen/decisions.db). Connected mode is optional, needs elen login and an API key, and is in beta.

Tools

ToolWhat it does
elen_commitCommits a new decision to the graph, with its constraints as a plain-text list.
elen_get_competencyShows the competency profile for this agent, built from its validated decision history.
elen_consolidateSuggests clusters and duplicate or stale candidates without changing the graph.
elen_get_contextGives an overview of active decision threads grouped by domain, for the start of a session.
elen_expandExpands a decision ID into its full constraints and text.
elen_incomingLists decisions other people have shared into your workspace. Connected mode, beta.
elen_log_decisionCreates a validated Decision Record from constraints, evidence and an answer.
elen_search_precedentsSearches validated decisions for precedents.
elen_statusReturns the agent, project, database path and counts, to check the namespace before committing.
elen_suggestRetrieves short pointers to prior decisions before you make a new one.
elen_supersedeRevises an older decision and marks it superseded by a new one.
elen_team_searchSearches team and human decisions visible to your workspace for a topic. Connected mode, beta.

Links

Elen is the open-source part of Learning Nodes, the DecisionOps workspace. For the business decisions behind the code: https://workstation.learningnodes.com?utm_source=elen-readme&utm_medium=referral&utm_campaign=npm-page

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.