Skip to main content
Glama

Living Memory Engine

エージェントがセッションやモデルの枠を超えて共有できる、永続的な世界。

Living Memory Engine(LME)は、Model Context Protocol (MCP) メモリサーバーです。Claude Code、Cursor、ChatGPT、claude.ai、あらゆる MCP クライアントといったエージェントに、記憶し・検索し・仕事を引き継ぎ合うための共通の場所を提供します。あるエージェントに話した事実や、あるエージェントが残した仕事は、別のベンダーの別のエージェントが明日引き継ぐことができます。

  • ウェブサイト: https://viibe.to/living-memory/

  • リモート MCP エンドポイント: https://lme.viibe.to/mcp(Streamable HTTP、動的クライアント登録付き OAuth 2.1)

  • 無料の24時間ルーム: サインアップ不要 — POST https://lme.viibe.to/ons/new を実行すると、すぐに使える MCP URL が返ります

  • ローカル stdio サーバー: @nature-labs/lme-mcp(npm、オープンソース、このリポジトリ)

  • エージェント向けガイド: SKILL.md ・ llms.txt

メンタルモデル

ワールドは永続する場所です。人物ではなく、エージェントではなく、プロジェクトです。エージェントは訪問者です。彼らは到着し、何かを残し、そして入れ替わっていきます。調整は、エージェント同士が呼び合うのではなく、共有された場所を変えることで行われます。メモリとは永続させて検索する対象であり、ハンドオフとは進行中で期限が切れる対象です。人間だけが、そのすべてに立ち会った唯一の参加者です。

Related MCP server: mnemory

接続

リモート — ホスト型ワールドまたは無料ルーム

ホスト型サーバーは、動的クライアント登録付き OAuth 2.1 の Streamable HTTP を話します。

Claude Code:

claude mcp add --transport http living-memory https://lme.viibe.to/mcp

claude.ai / Claude Desktop: 設定 → コネクタ → カスタムコネクタを追加 → https://lme.viibe.to/mcp。

ChatGPT: 設定 → 開発者モード を有効にし、https://lme.viibe.to/mcp をカスタムコネクタとして追加します。利用できるかどうかは ChatGPT プランに依存する場合があります。

2026年です。MCP クライアントの対応状況は README よりも速く変わります。お使いのクライアントがリモート MCP に対応しているか、エージェントに確認してみてください。

無料の24時間ルーム、サインアップ不要 — 一連の流れを試すため、または OAuth に対応していないクライアントのために:

curl -X POST https://lme.viibe.to/ons/new
# → {"url": "https://lme.viibe.to/t/<token>/mcp", "expiresAt": "..."}

返される URL は、プライベートな streamable-HTTP MCP エンドポイントです(認証ヘッダーなし)。発行から24時間で期限が切れ、そのデータは削除されます。ルームとワールドの違いは、その持続時間であって、機能ではなく有効期間です。

ローカル — stdio、オープンソース

npm パッケージは、メモリの表現をローカル stdio サーバーとして実行します。あなたのマシン上の1つの JSON ファイルで、完全にオフラインでも実行できます。

claude mcp add living-memory -s user -- npx -y @nature-labs/lme-mcp

あらゆる stdio MCP クライアント:コマンド npx、引数(["-y", "@nature-labs/lme-mcp"])。セットアップ、エンベディングプロバイダー、環境、障害モードについては、lme-mcp/README.md を参照してください — これはコーディングエージェントが読むことを前提に書かれているので、あなたのコーディングエージェントにも渡してください。

ツール

ツール

機能

memory_add

永続化すべき事実、決定、修正を保存する

memory_search

文字列一致ではなく、意味的に(MMR)思い出す

memory_state

現時点のメモリの内容 — 件数と最近の事実

memory_forget

メモリを削除する

handoff_post / handoff_read / handoff_list

エージェント間のプライベートな1〜72時間のメッセージバス — 生のメモをそのまま渡し、サーバーが送信者と経路を添える

world_list

この接続でアクセスできるワールド一覧

client_mint / client_list / client_revoke

サインインできないエージェントのために、失効可能な URL キーを発行・撤回する(ホスト型ワールド、サインイン済みオーナー限定)

認証済みホスト型ワールドには、11のツールがすべて含まれています。無料ルームには、メモリ機能、ハンドオフメールボックス、world_list があります。ローカル stdio サーバーには、4つのメモリツールがあります。

ルームとワールド

無料ルーム

ワールド

寿命

24時間、期限切れ

永続する

サインアップ

不要 — URL を発行

OAuth サインイン、$9/月

メモリ + ハンドオフ

あり — 完全なループ

あり

クライアントキー(client_mint)

なし

あり — 90日の失効可能なリース

ハンドオフは有料機能ではありません。無料ルームにもあり、メールボックスは小さめ(保持できるライブリスト8件)で、ルームの存続時間より長くは残りません。違いは、機能ではなく存続期間です。

ワールドでの作業

ツールは何が存在するかを教えてくれます。これは、訪問者がどのように振る舞うことが期待されているかです:

  • まず読んでから到着する。 作業を始める前に memory_state / memory_search を呼びます — 現在の位置は会話ではなく、ワールドにある。

  • 永続すべきものはメモリへ。 あなたが消えても残さなければならない決断、事実、修正 → memory_add。

  • 進行中のものはハンドオフへ。 次のエージェントへ渡す仕事 → handoff_post。ハンド送信メモは期限が切れます — 永続ストレージとしては決して使わないでください。

  • ワールドは再開可能にする。 停止する前に、次の訪問者ゼロからでなく、あなたが続きから始められるよう状態を書いておく。

  • エージェント同士がも話す必要はない。 共有ワールドを変更し、次のエージェントはそのワールドを読みます。

メモリの動作

この土台のエンジン(engine、[エンジン用 npm パッケージ)は、メモリをログではなく心としてモデルしています:

*

  • コンテキストの詰め込みはしません。 完全な履歴が再送されることはありません。各想起は、多様性をもった意味的類似性(MMR)による最上Kのメモリを取得します。

  • 忘れることは機能です。 メモリは減衰して(忘却しているかのよう)、使用されると強化され、重複があると統合されます。だからエージェントは、成長し続ける原始記録ではなく、小さくて境界のある文脈上で無限に実行できます。 *

  • 決定論的な評価。 engine/eval/run.ts は、素朴な再送全部をベースラインとして3つの仮説シナリオを実際のエンジンで実行します。それはテ接スイートではなく測定であり、外れも報告されます(cd engine && npm run eval)。

このリポジトリの内容

*

Directory

Role

lme-mcp/

@nature-labs/lme-mcp として公開されている stdio MCP サーバー

engine/

@nature-labs/living-memory-engine — フレームワーク非依存のメモリエンジン(減衰 / 強化 / 統合 / 検索)、ピュアなポート / アダプタ

web/

初期のブラウザラボ: Vite + vanilla TS のチャットアプリ。このエンジンはどのように証明されたか — 「現場の天気を感じ、セッションをまたいで覚えている」という都市エンティティ チェンマイ(Chiang Mai)によって。公開: cm.viibe.to

mobile/

初期の Expo プロトタイプ。凍結

ホスト型リモートサーバー(lme.viibe.to)は同じエンジンを動かしており、その配置はこのリポジトリの外にあります。

ステータス

Pre-alpha、急速に進化しています。上記の接続経路はテスト済みです。ローカルパッケージの検証済みエージェント・プロバイダの行列は lme-mcp/README.md にあります。製品の変更は日付・検証つきで What's new に記録されます。

ライセンス

Apache-2.0。


Viibe World OS が基盤として作られました — それ自身をシステムだと認識しているシステムです。

Available Tools

4 tools
memory_addRemember a factAInspect

Store a durable fact, preference, decision, or correction so FUTURE sessions remember it. Call this whenever the user states something worth carrying forward — a preference, a project fact, a decision, a correction — without being asked. Memory persists across sessions and processes.

NameRequiredDescriptionDefault
tagsNooptional tags
contentYesThe fact to remember, as a short natural-language statement
importanceNo0–10, default 7

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It does disclose the most important behavior: memory persists across sessions and processes. But it does not explain what happens if the same fact is added multiple times, whether overwrites/corrections replace existing memory, or what the tool returns or fails on.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively tight and front-loaded with the core action. The list of example memory types is somewhat redundant with the phrase 'worth carrying forward,' but each sentence still contributes to deciding when and what to invoke.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple write/mutation tool with three parameters and no output schema, the description gives sufficient operational context: what to store, when to call, and the persistence guarantee. It lacks minor detail about edge cases or return behavior, but is likely adequate for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already defines content, tags, and importance. The description adds mild guidance about what kind of content should be stored (preferences, corrections, decisions), but it does not add meaningful semantic detail beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Store a durable fact, preference, decision, or correction') and its outcome ('FUTURE sessions remember it'). It is distinguishably an add/write operation compared to siblings like memory_search and memory_forget, though it never names these siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear triggering context: 'Call this whenever the user states something worth carrying forward' and lists examples like preferences, facts, and corrections. However, it does not state when not to use the tool or explicitly point to alternative tools like memory_search or memory_forget.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_forgetForget a memoryAInspect

DESTRUCTIVE. Deletes EVERY memory whose content contains the query as a case-insensitive substring — not semantic, not a single-item delete, and there is no undo. A short query deletes broadly. Use only when the user corrects a stored fact or explicitly asks you to forget something, and prefer a long distinctive phrase; check memory_state first if unsure.

NameRequiredDescriptionDefault
queryYesText to match against memories to delete

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description fully carries the behavioral transparency burden. It clearly discloses the destructive, irreversible nature of the operation, the case-insensitive substring matching behavior, and the broad-scope risk of short queries. This level of warning is critical for a destructive delete tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and dense, front-loading the critical warning 'DESTRUCTIVE' before any other detail. Every sentence adds operational value, including when to use the tool, how to phrase the query, and what to check beforehand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature, the low parameter count, and the absence of an output schema, the description covers all essential aspects: action, matching semantics, irreversibility, risk, usage conditions, and a pre-check alternative. An agent is sufficiently prepared to avoid dangerous misuse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the query parameter completely (100% coverage), but the description adds important semantic detail: the query is matched as a case-insensitive substring against memory content, not as a semantic match or single-item identifier. This extra context meaningfully improves the agent's understanding of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: deletes every memory whose content contains a case-insensitive substring, and explicitly distinguishes this from semantic or single-item delete. This differentiates the tool from siblings like memory_search and memory_add without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: only after user correction of a stored fact or explicit request to forget. It also warns of broad deletion risk, recommends using a long distinctive phrase, and suggests checking memory_state first when uncertain, giving the agent concrete decision-making guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_stateMemory statusAInspect

Summarize what is currently in memory: counts plus the most recently stored facts. Reads the store directly — no embedding call, no network. Use to orient yourself at session start, or when the user asks what you remember. (selfFacets is always 0: this server does not run the engine's consolidation pass, so crystallization never happens.)

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden, and it does well: it discloses that the tool reads the store directly, requires no network or embedding, and notes the selfFacets-is-always-0 quirk with its root cause (no consolidation pass). This adds meaningful behavioral information an agent would not infer from the name or empty schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is this concise and well-structured: the main sentence states the function, the second sentence adds differentiating behavior (no embedding/network), the third gives usage guidance, and the parenthetical discloses a critical invariant. No word is wasted, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, zero-parameter tool with no output schema, the description is fully sufficient: it explains what the tool returns, when to call it, what side effects it does not have, and the only significant edge case. The agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool accepts zero parameters, so the description does not need to explain parameter behavior. It instead clarifies what the output contains (counts and recent facts), which is the appropriate compensating information. The baseline of 4 for zero-parameter tools applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Summarize') and a precise resource ('what is currently in memory'), with output detail ('counts plus the most recently stored facts'). It also distinguishes itself from search-like siblings by noting it reads the store directly without embedding calls or network access, so an agent can tell this from memory_search at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage context: 'Use to orient yourself at session start, or when the user asks what you remember.' This is clear and actionable. However, it does not explicitly state when to prefer a sibling alternative such as memory_search for a specific fact lookup, so it stops one step short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.1
    • First observedmemory_add
    • First observedmemory_forget
    • First observedmemory_search
    • First observedmemory_state

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: add, search, summarize, and delete. There is no meaningful overlap between retrieval (search) and store-state inspection (state), and forget is explicitly destructive and separate.

Naming Consistency4/5

All tools share a consistent memory_ prefix and lowercase style. memory_state is a noun where the others use action verbs, which is a minor deviation but does not create confusion.

Tool Count5/5

Four tools is a well-scoped, focused set for a memory engine. Each tool covers a core need without unnecessary surface area or duplication.

Completeness4/5

The toolset covers the essential lifecycle: store, retrieve, inspect state, and delete. A precise single-item delete or explicit memory update would round it out, but the destructive substring delete plus memory_add makes common workflows workable.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing managed persistent memory for AI agents. Read and write structured state across sessions, tools, and restarts at 1000+ requests per second, with no infrastructure to self-host or operate.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Self-hosted MCP server giving AI agents persistent memory for personalization and context across conversations.
    143 PyPI
    279
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    MCP server providing persistent memory for AI agents, enabling them to read, write, and query memories across sessions.
    9
    3 npm
    MIT