elen について
elenは、コーディングエージェント向けのオープンソースMCPサーバーです。技術的な決定と制約を記録し、旧決定を置き換え済みとして管理します。データはローカルのSQLiteファイルに保存されます。
主な機能
- 01決定と制約の記録
- 02過去の先例の検索と展開
- 03旧決定の置き換え済み管理
- 04ローカルSQLiteへの保存
- 05決定のコンテキストと状態の確認
活用シーン
- 01コーディング前の技術的先例の確認
- 02決定と制約の記録
- 03古くなった決定の改訂
MCP 対応
elenはMCPサーバーとして、決定の記録、検索、展開、置き換えに使うツールをクライアントに提供します。Cursor、Claude CodeなどのMCPクライアントに設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Elen は、コーディングエージェントが下した判断と、それを制約する条件を記録し、古い判断に「置き換え済み」のマークを付けるオープンソースの MCP サーバーです。npx の 1 行でインストールでき、Cursor、Claude Code、あらゆる MCP クライアントで動作し、判断をローカルの SQLite ファイルに保存します。
インストール
npx -y @learningnodes/[email protected]
Claude Code
claude mcp add --transport stdio elen -- npx -y @learningnodes/[email protected]
VS Code
このリンクを開いてインストールします。
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
プロジェクトの .cursor/mcp.json に以下を追加します。
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
Gemini CLI
settings.json(~/.gemini/settings.json、またはプロジェクト内の .gemini/settings.json)に以下を追加します。
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
その他の MCP クライアント
同じ mcpServers エントリを使用します。
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
テスト済み
| クライアント | 状況 |
|---|---|
| Claude Code | メンテナーが実行 |
| Cursor | 設定はクライアントのドキュメントに準拠しています。テスト済みとの記録はまだありません。 |
| VS Code | 設定はクライアントのドキュメントに準拠しています。テスト済みとの記録はまだありません。 |
| Gemini CLI | 設定はクライアントのドキュメントに準拠しています。テスト済みとの記録はまだありません。 |
| その他の MCP クライアント | 設定はクライアントのドキュメントに準拠しています。テスト済みとの記録はまだありません。 |
エージェントに使わせる
ツールだけでは、エージェントに習慣は身に付きません。各ツールの機能は把握していても、タスクの途中で先例があるかどうかを確認することはありません。以下のブロックをルールファイルまたはシステムプロンプトに追加し、判断の前に検索し、判断の後に記録することを、すべてのセッションでの習慣にしましょう。
# 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.
保存される内容
ローカルモードでは、判断はお使いのマシン上の SQLite ファイル(デフォルトでは ~/.elen/decisions.db)に保存されます。接続モードは任意で、elen login と API キーが必要です。現在ベータ版です。
ツール
| ツール | 機能 |
|---|---|
elen_commit | 制約をプレーンテキストのリストとして添え、新しい判断をグラフに記録します。 |
elen_get_competency | 検証済みの判断履歴を基に構築された、このエージェントのコンピテンシープロファイルを表示します。 |
elen_consolidate | グラフを変更せずに、クラスターや重複候補、古くなった候補を提示します。 |
elen_get_context | セッション開始時に、ドメインごとにグループ化された有効な判断スレッドの概要を表示します。 |
elen_expand | 判断 ID を展開し、すべての制約と本文を表示します。 |
elen_incoming | 他の人がワークスペースに共有した判断を一覧表示します。接続モード、ベータ版です。 |
elen_log_decision | 制約、根拠、回答から、検証済みの Decision Record を作成します。 |
elen_search_precedents | 検証済みの判断を検索し、先例を探します。 |
elen_status | コミット前に名前空間を確認できるよう、エージェント、プロジェクト、データベースのパス、件数を返します。 |
elen_suggest | 新しい判断を下す前に、過去の判断への簡潔な手がかりを取得します。 |
elen_supersede | 古い判断を改訂し、新しい判断によって置き換え済みとしてマークします。 |
elen_team_search | ワークスペースから参照できるチームおよび人間の判断を、トピックで検索します。接続モード、ベータ版です。 |
リンク
- リポジトリ:https://github.com/LearningNodes/Elen
- Issue:https://github.com/LearningNodes/Elen/issues
- Discord:https://discord.gg/zJG6n2WGzM
- ライセンス:AGPL-3.0
Elen は、DecisionOps ワークスペースである Learning Nodes のオープンソース部分です。コードの背後にあるビジネス上の判断については、こちらをご覧ください:https://workstation.learningnodes.com?utm_source=elen-readme&utm_medium=referral&utm_campaign=npm-page
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。