Skip to main content
Glama
shimae-net

memtree

by shimae-net

memtree

Codex and Claude Code session JSONL is collected outside the model context, consolidated into local SQLite memory, and exposed through MCP.

This is an intentionally small first implementation:

  • Codex and Claude Code Hook queueing

  • crash-recovery transcript scanning

  • byte-offset incremental JSONL collection

  • secret redaction and user/final-assistant filtering

  • deterministic per-session Sleep memory

  • SQLite FTS search

  • MCP read, search, explicit write, forget, Sleep, and status tools

  • stdio and Streamable HTTP transports

The current Sleep implementation creates a bounded session digest. It does not yet perform LLM-based profile/entity/decision extraction.

Setup

cd ~/repos/memtree
uv sync
uv run memtree init
uv tool install --editable .

The editable tool install makes memtree available to lifecycle hooks.

Related MCP server: waypath

Configure hooks

Merge the relevant example into the user-level configuration:

  • Codex: integrations/codex/hooks.json.example into ~/.codex/hooks.json

  • Claude Code: integrations/claude-code/settings.json.example into ~/.claude/settings.json

Review and trust the Codex hook through /hooks. Hooks only enqueue session_id, transcript_path, and cwd; they do not invoke MCP or a model.

Collect and Sleep

Run manually or from cron/systemd:

memtree collect --scan all
memtree sleep
memtree status
memtree memory list --cwd "$PWD"

Suggested daily command:

memtree collect --scan all && memtree sleep

Configure MCP

Codex stdio configuration:

[mcp_servers.memtree]
command = "memtree"
args = ["serve", "--transport", "stdio"]
enabled = true

Claude Code:

claude mcp add --scope user memtree -- \
  memtree serve --transport stdio

Available tools:

  • memory_context

  • memory_search

  • memory_get

  • memory_put

  • memory_forget

  • memory_sleep

  • memory_status

Write and forget tools are annotated with their side effects. Automatic transcript ingestion is deliberately not exposed as an MCP tool.

Pass cwd to memory_context or memory_search to include the matching project memory. Use include_all_projects=true only for an intentional cross-project review.

Docker

Docker runs the Streamable HTTP MCP server with a private persistent volume:

docker compose up --build -d

The HTTP endpoint is http://127.0.0.1:8765/mcp. Collection normally runs on the host because the transcript directories are private host state.

Development

uv run ruff format --check .
uv run ruff check .
uv run pyright
uv run pytest
F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Persistent local memory for Claude Code that indexes every session's JSONL file verbatim into SQLite + ChromaDB. Exposes 17 MCP tools for semantic recall, deterministic file replay, and fuzzy "do you remember when..." queries across your entire session history — no API calls, nothing leaves the machine.
    17
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Local-first external brain for Claude Code, Codex, and any MCP client. Stores decisions, entities, and session artifacts in one SQLite file and exposes MCP tools for recall, page, promote, review, graph-query, and source-status.
    11
    15
    4
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Persistent memory for AI coding agents. Enables agents to save and recall decisions, patterns, bugs, and context across sessions via an MCP server with local SQLite storage.
    45
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

  • Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shimae-net/memtree'

If you have feedback or need assistance with the MCP directory API, please join our Discord server