Skip to content
Agentmart
Submit a tool

LoreConvo

Local-first persistent session memory for Claude Code and other agents.

Connector by labyrinth-analytics · GitHub account verified by the MCP Registry

IndexedBUSL-1.1Local (stdio)★ 12
Write a review

Chalk Labs

Need help deploying LoreConvo?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/labyrinth-analytics-loreconvo

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Local-first persistent session memory for Claude Code and other agents. SQLite + FTS5, no cloud.

Use cases: agent-memory

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
21 read · 19 write · 1 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Python package

Tools by what they do 41

Read from the source code; the running server may list different tools.

Read 21 · Look things up without changing anything.

  • get_anti_patterns
  • get_context_for
  • get_docs_for_session
  • get_dream_log
  • get_memory_digest
  • get_project
  • get_recent_sessions
  • get_related_sessions
  • get_server_info
  • get_session
  • get_skill_history
  • get_stats
Show 9 more tools
  • get_tier
  • graph_session_map
  • inject_agent_context
  • inspect_sessions
  • list_projects
  • query_memory_items
  • rebuild_index_status
  • search_sessions
  • vault_suggest

Write 19 · Create, change, send or run things.

  • configure_agent_context
  • consolidate_memories
  • create_project
  • export_for_anthropic
  • export_sessions
  • import_sessions
  • link_sessions
  • loreconvo_onboard
  • pin_session
  • rebuild_index
  • save_memory_item
  • save_session
Show 7 more tools
  • session_link_doc
  • set_session_expiry
  • tag_as_anti_pattern
  • tag_session
  • transition_memory_item
  • update_memory_item
  • vault_set_tier

Delete 1 · Delete, drop, revoke or wipe things.

  • untag_anti_pattern

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • LORECONVO_PRO

Network hosts it talks to 7

  • agent-plugins.org · found in code
  • api.anthropic.com · found in code
  • astral.sh · found in code
  • docs.astral.sh · found in code
  • github.com · found in code
  • glama.ai · found in code
  • labyrinthanalyticsconsulting.com · found in code

Files it touches

  • /mnt/nfs
  • /mnt/smb
  • /tmp/loreconvo_export.json
  • Your home directory (~)
  • ~/.loreconvo
  • ~/.loreconvo/periodic_state.json
  • ~/.loreconvo/sessions.db
  • Any path the agent passes to its tools

Tools (41)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • configure_agent_contextConfigure Agent Context Topics

    Store or update a named topic configuration for an agent. Args: agent_name: Canonical agent name (^[a-z][a-z0-9-]{1,63}$). project: Project name matching sessions.project (^[a-z_][a-z0-9_]{0,63}$). topics: Non-empty list of topic strings; max 10; each max 200 chars. Replaces all existing topics for this (agent_name, project) pair. max_results_per_topic: Sessions returned per topic search. 1-10. enabled: Set False to disable injection without deleting the config. retire: Set True to soft-retire this config (status='retired'). inject_agent_context treats …

  • consolidate_memoriesConsolidate Memories

    Run memory consolidation for a project to build a structured digest. Analyzes recent SESSIONS and extracts decisions, open questions, and tech stack facts. Free tier: up to 3 consolidations per day. Pro: unlimited. Returns a digest dict with status, decisions found, open questions, and the formatted digest_markdown for reference. Acquires an exclusive lock; returns status='lock_held' if another consolidation is already running. Note: This consolidation analyzes SESSIONS ONLY. Structured memory items (decisions, questions, artifacts saved via save_memory_item) are a separate feature -- use …

  • create_projectCreate Project

    Create or update a project definition. Projects group related sessions and can auto-associate based on skill usage. All changes to project instructions are logged for audit purposes. Args: name: Project identifier (e.g., 'secret-agent-man', 'project-ron') description: What this project is about expected_skills: Skills typically used in this project's sessions default_persona: Auto-tag new sessions with this persona instructions: Optional project-wide instructions or constraints session_id: Optional session ID for audit trail (typically provided by MCP context)

  • export_for_anthropicExport Sessions for Anthropic

    Export LoreConvo sessions to Anthropic managed-agents memory format. Pro only. Produces a JSON file in 'anthropic-memory-v1' format, suitable for import into Anthropic managed-agents memory stores. Only non-periodic, non-file-memory sessions are exported (contamination control). NOTE: Field mapping is preliminary pending Anthropic beta API schema stabilization. Cassandra will signal when the schema is stable. Save the output and validate against Anthropic docs before submitting to a managed-agents memory store. Args: output_path: File path to write the export. If omitted, data is return…

  • export_sessionsExport Sessions

    Export portable session records to JSON or JSONL for migration. Exports matching session fields, skills, tags, and artifacts. Links and independent structured memory items are outside this export. Use output_path to write to a file; omit it to receive the data inline. Use import_sessions to load the exported file. Args: output_path: File path to write export (e.g. '/tmp/loreconvo_export.json'). If omitted, data is returned inline. project: Export only sessions from this project. tags: Export only sessions that have any of these tags. days_back: Limit to sessi…

  • get_anti_patternsGet Anti-Patterns

    Retrieve sessions marked as anti-patterns. Delegates to SessionDatabase.get_anti_patterns (SH-102688) so the MCP server, fallback script, and CLI all share one implementation. Returns a list of dicts with a 'truncated' boolean. Use at session start or before attempting a known-tricky approach to surface past failures. Args: topic: Optional keyword to filter within anti-patterns. Omit for all anti-patterns ordered by recency. When provided, uses FTS5 with a fan-out heuristic; result may be truncated if anti-patterns are sparse in the corpus. limit: Ma…

  • get_context_forGet Context for Topic

    Get relevant session context for a topic. Use at the start of a session to load prior decisions and context about a topic. Returns the most relevant session excerpts. Args: topic: The topic to find context for (e.g., 'K-1 parser', 'rental insurance') max_results: Max excerpts to return (default 5) include_external: If True, include sessions flagged as external_tool_session. Default False. semantic: If True, use LanceDB hybrid search (Pro only). Falls back to FTS5 if index not yet built.

  • get_docs_for_sessionGet Docs for Session

    Return LoreDocs documents cross-linked to a LoreConvo session. Pro tier only. Queries the LoreDocs cross_product_links table. Both LoreConvo and LoreDocs must be installed. Returns an empty list for free-tier callers (not an error). Manual links (link_type='manual') are always sorted first. Auto-links created with a stale embedding model are marked with is_stale=True and include an upgrade_message. Args: session_id -- LoreConvo session UUID limit -- max results (default 5) Returns dict with: schema_version -- int, for version negotiation by callers cross_pro…

  • get_dream_logGet Dream Log

    Return recent consolidation log entries for transparency and diagnostics. Each entry shows: timestamp, project, surface, mode, source_count, trigger. Use this to confirm consolidation ran, check rate limit status, and diagnose fallbacks (e.g. api_key_found=false for LLM-mode fallback). Args: project: Filter by project (or None for all projects) surface: Filter by surface (or None for all) limit: Maximum number of entries to return (default 10, newest first)

  • get_memory_digestGet Memory Digest

    Retrieve the current memory digest for a project (built from sessions) without re-running consolidation. Returns None if no digest exists. Use consolidate_memories first to generate one. Optionally set disable=True to suppress auto-load injection for this digest, or disable=False to re-enable injection. Omit disable to just read the current state. Note: This retrieves the SESSION-BASED digest only. Structured memory items (decisions, open questions, artifacts saved via save_memory_item) are separate -- use query_memory_items to retrieve them. Users often query both digest and memory items t…

  • get_projectGet Project

    Get project details including recent sessions and skill usage stats. Args: project_name: The project identifier

  • get_recent_sessionsGet Recent Sessions

    Get recent session summaries. Use to see what work was done recently, optionally filtered by project or skill. Args: limit: Max sessions to return (default 10) days_back: How far back to look (default 30 days) project: Filter to sessions in this project skill: Filter to sessions that used this skill

  • get_related_sessionsGet Related Sessions

    Find sessions related to a given session by co-occurrence and embedding. Pro only. Returns co-occurrence links (shared_term_count >= 1) and embedding-based semantic links (shared_term_count=0 sentinel). Co-occurrence results rank above embedding results when sorting by shared_term_count DESC. Response version=2 signals the new format with link_type field. Args: session_id: UUID of the session to find related sessions for limit: Max results to return (default 10, max 50) min_shared_terms: Minimum shared keywords required (default 3)

  • get_server_infoGet Server Info

    Return MCP compatibility status for this LoreConvo server. Returns product version, installed mcp SDK version, tested version, and compatibility status. Useful for diagnosing version mismatches on running servers without requiring a restart. Returns dict with: product_name, product_version, install_kind (wheel|editable), version_from_source (if editable), mcp_installed, mcp_tested, mcp_accepted, status (ok|mismatch|undetermined|disabled|internal_error), note, error_detail (set only on internal_error), hook_saves_failing.

  • get_sessionGet Session

    Get full details of a specific session. Args: session_id: The UUID of the session to retrieve

Show 26 more tools
  • get_skill_historyGet Skill History

    Get all sessions that used a specific skill. Useful for understanding how often a skill is used and in what contexts. Args: skill_name: The skill to look up (e.g., 'rental-property-accounting') days_back: How far back to search (default 90 days)

  • get_statsGet Usage Stats

    Return a usage dashboard: session counts by surface, project, and tag; storage metrics (DB size, estimated tokens stored); and the 5 most recent sessions. Pro tier also includes ``semantic_index`` with session counts for the LanceDB semantic search index. Provides visibility into your memory usage -- who saved what, how much is stored, and what's been captured most recently. Includes hook_saves_failing status.

  • get_tierGet License Tier

    Return the current LoreConvo license tier and status. Use this to confirm whether the Pro license key is loaded and valid. Returns a dict with keys: is_pro -- bool, True if Pro tier is active mode -- "licensed" | "dev_bypass" | "free" | "invalid_key" product -- product name from the license payload (if licensed) exp -- expiry date or "never" (if licensed) email -- customer email (if licensed and present) error -- error message (if mode is "invalid_key") upgrade_url -- Stripe checkout link (present when not already Pro)

  • graph_session_mapGraph Session Map

    Render a Mermaid knowledge-graph neighborhood around a session or project. Exactly one of session_id/project selects the seed. Traversal is a bounded, read-only BFS over session_links (undirected) plus each admitted session's attribute leaves (project/skill/persona/tag). Pro tier adds derived (co-occurrence/embedding) and doc (LoreDocs cross-link) edges, seed-only. Every emitted label is restricted to a fixed character allowlist so no title/tag/skill text can alter the diagram's structure. Args: session_id: UUID of the seed session. Exactly one of session_id/project required. project…

  • import_sessionsImport Sessions

    Import sessions from a LoreConvo export file (JSON or JSONL). Reads an export created by export_sessions and saves sessions into the local database. Session UUIDs are preserved so re-importing is safe. Args: file_path: Path to the export file (JSON or JSONL format). on_conflict: What to do if a session ID already exists. 'skip' (default) -- leave the existing session unchanged. 'replace' -- overwrite with the imported version. dry_run: If True, parse and validate the file but make no DB changes.

  • inject_agent_contextInject Agent Context

    Return targeted session context for an agent at session start. If topics is provided (non-empty, len<=10), it overrides stored config. If topics is None, stored config is used. If topics=[], has_config reflects stored state; no injection runs. Returns status in {"ok", "partial", "warning", "error"}. Branch on status first; treat "warning" as skipped (not success), not as a synonym for "ok" -- a caller that only checks `status != "error"` will silently treat skipped or empty injection as success.

  • inspect_sessionsInspect Sessions

    Inspect stored sessions: list, filter, or get full detail for one session. Answers 'what do you know about me?' and helps users find, browse, and understand their stored session memory. Args: session_id: If provided, return full detail for this specific session. search: Full-text search query across title, summary, decisions, tags. tag: Filter by tag substring (e.g. 'agent:ron', 'side_hustle'). surface: Filter by surface ('code', 'cowork', 'chat'). since: Return sessions on or after this date (YYYY-MM-DD). limit: Max sessions to return (default 20). show_stats: If…

  • link_sessionsLink Sessions

    Link two related sessions. Args: from_id: Source session ID to_id: Target session ID link_type: Relationship type - 'continues', 'related', or 'supersedes'

  • list_projectsList Projects

    List all defined projects with session counts.

  • loreconvo_onboardOnboard LoreConvo

    Set up or update your LoreConvo workspace configuration. Call this once after installing LoreConvo to get a recommended setup. Call again any time to add projects or agents, or to regenerate your reference doc. Creates: - Project registrations for each project listed - A config file at ~/.loreconvo/onboard_config.json - A reference doc (markdown) in the response -- paste it into your CLAUDE.md or a LoreDocs vault so your AI assistant can apply your conventions consistently Args: name: Your workspace or team name (e.g. 'Labyrinth Analytics') projects: Snake_case project identifie…

  • pin_sessionPin Session

    Pin or unpin a session to exclude it from automated cleanup. keep_forever=True (default): session excluded from future cleanup; any existing expires_at is cleared atomically. keep_forever=False: pin removed; session can receive expiry again. Returns: {"ok": True, "session_id": "...", "keep_forever": bool} {"ok": False, "code": "invalid_session_id", "message": "..."} {"ok": False, "code": "invalid_param", "message": "..."} {"ok": False, "code": "session_not_found", "message": "..."} {"ok": False, "code": "db_error", "message": "..."} {"ok": False, "code": "feature_di…

  • query_memory_itemsQuery Memory Items

    Query structured memory items by type, project, status, and recency. Args: item_type: Filter to 'decision', 'open_question', or 'artifact'. project: Filter to a project namespace. status: Filter to a lifecycle status (e.g. 'active', 'open', 'retired'). artifact_type: Filter artifacts by their artifact_type. Only applies with item_type='artifact'. days: Only items created in the last N days. limit: Max rows to return (default 50, max 200).

  • rebuild_indexRebuild Semantic Index

    Rebuild the LanceDB semantic search index from all stored sessions. Pro only. Starts the rebuild in a background thread and returns immediately with a status handle. The server remains responsive to other calls while the rebuild runs. Call rebuild_index_status() to track progress. The first run downloads BAAI/bge-small-en-v1.5 (~130MB; cached afterwards). Expect roughly 3-10 minutes per thousand sessions depending on hardware. A rebuild already in progress returns status 'busy' with the current progress percentage. Returns: - {'status': 'started', 'message': '...'} when a new rebuild …

  • rebuild_index_statusRebuild Index Status

    Return the current status of a background semantic-index rebuild. Call after rebuild_index() to monitor progress. Returns 'idle' when no rebuild has been started or the last rebuild has finished. Returns: - {'status': 'idle', 'message': '...'} - {'status': 'running', 'phase': '...', 'progress': N, 'total': N, 'progress_pct': N, 'elapsed_s': N.N} - {'status': 'complete', 'message': '...', 'indexed': N, 'total_in_db': N, 'exclusions': {reason: count}, 'elapsed_s': N.N} - {'status': 'error', 'message': '...'}

  • save_memory_itemSave Memory Item

    Save a structured memory item: a decision, open question, or artifact. Replaces the old free-text decisions/open_questions/artifacts lists on sessions with queryable, lifecycle-tracked rows. Idempotent when external_id is given: a second save with the same (project, external_id) returns the existing item (created=False) instead of creating a duplicate. Args: item_type: One of 'decision', 'open_question', 'artifact'. title: The decision text, the question text, or the artifact identifier. Capped at 4096 chars. body: Free-text detail/rationale for decision/open_question. Ig…

  • save_sessionSave Session

    Save a session summary to persistent memory. Call this at the end of a session or when the user requests /bridge save. Captures decisions, artifacts, skills used, and open questions for recall in future sessions. Args: title: Short descriptive title for the session surface: Where this session ran - 'cowork', 'code', or 'chat' summary: 2-3 paragraph narrative summary of what happened. Capped at 15000 chars. decisions: List of key decisions made during the session. Each item capped at 2000 chars. artifacts: List of files created or modified open_question…

  • search_sessionsSearch Sessions

    Search session memory by keyword, with optional filters. Use to find sessions where a topic was discussed, a decision was made, or a specific skill/project was involved. Args: query: Search keywords (matched against title, summary, decisions). Short alphabetic tokens (<=10 chars) are prefix-matched automatically. Append `*` to force prefix matching on longer terms (e.g., "consolid*"). persona: Filter to sessions tagged with this persona (supports prefix matching) tags: Filter to sessions with any of these tags skills: Filter to sessions that used any of these …

  • session_link_docLink Session to Doc

    Create a manual cross-product link from a LoreConvo session to a LoreDocs doc. Manual links are accessible on all tiers. The target doc must not be in a vault with cross_link_opt_out enabled. Both products must be installed. Args: session_id -- LoreConvo session UUID doc_id -- LoreDocs document ID vault_id -- LoreDocs vault containing the document Returns dict with: ok -- bool reason -- failure description on error. Specific since SH-100670: "LoreDocs not installed" | "LoreDocs installed but unreachable: <detail>" | "LoreDocs …

  • set_session_expirySet Session Expiry

    Set or clear an expiry date on a session. After expires_at passes, the session is excluded from search_sessions, get_recent_sessions, and the auto-load hook. The session is NOT deleted -- recover it with search_sessions(include_expired=True). Pass expires_at=None to clear a previously set expiry. Args: session_id: ID of the session to update expires_at: ISO 8601 date string (e.g. '2027-01-01T00:00:00Z'), or None to clear

  • tag_as_anti_patternTag Session as Anti-Pattern

    Mark an existing session as an anti-pattern. Idempotent. Args: session_id: The sessions.id value to mark (TEXT <= 255 chars). source: Attribution for this tag (e.g., 'claude-code', 'agent:gina'). reason: Human-readable reason for the tag. Stored in audit log.

  • tag_sessionTag Session

    Tag a session with a persona for filtered recall. Supports hierarchical personas (e.g., 'ron-bot:sql' matches 'ron-bot' queries). Args: session_id: Session to tag persona_name: Persona identifier (e.g., 'ron-bot', 'ron-bot:sql', 'tax-prep') relevance_note: Optional note about why this session is relevant to the persona

  • transition_memory_itemTransition Memory Item

    Move a memory item through its lifecycle. Valid transitions: 'retire' (decision -> retired); 'answer' and 'wont-answer' (open_question -> answered / wont-answer). Already-closed items return code='already_closed' so callers can retry idempotently. Args: item_id: The memory item's id. transition: 'retire', 'answer', or 'wont-answer'. reason: Optional free-text reason recorded on close. closing_session_id: Session performing the transition, if any. Must reference an existing session.

  • untag_anti_patternUntag Anti-Pattern

    Remove an anti-pattern tag from a session. Idempotent. The audit log row is written on successful removal; not written if the session was not tagged (idempotent no-op case). Args: session_id: The sessions.id value to untag (TEXT <= 255 chars). source: Attribution for this untag (e.g., 'claude-code', 'admin'). reason: Human-readable reason for the removal. Stored in audit log.

  • update_memory_itemUpdate Memory Item

    Correct a memory item's title, body, tags, or metadata, or move it between projects. Moving projects requires allow_project_change=True as an explicit guard against accidental cross-project moves. If the item has an external_id, the move is rejected with code='external_id_conflict' when the destination project already has an item with that external_id. Args: item_id: The memory item's id. title: New title, if changing. body: New body, if changing. Capped at 4096 chars. tags: New tag list, if changing (replaces, not merges). metadata: New metadata dict, if changing (replac…

  • vault_set_tierSet License Tier

    Activate a tier (free or pro) for LoreConvo. Pro tier removes the free-tier session limit (default: 50 sessions). After purchasing a Pro license, set LORECONVO_PRO=<your-license-key> in your environment and restart the server, then call this tool with tier='pro' to confirm Pro is active. Reverting to tier='free' re-enables limits (existing sessions are preserved -- only new saves are blocked once the limit is hit).

  • vault_suggestGet Context Suggestions

    Get proactive context suggestions based on your session history. Analyzes recent sessions and surfaces: - Sessions with unresolved open questions that need follow-up - Sessions with key decisions worth reviewing before starting new work - Skill gaps: skills expected by a project but not used recently Use at the start of a session to find the most valuable prior context, or when you're unsure what to work on next. When `project` is given and the initial window returns no suggestions but the project still has sessions, the window is expanded progressively (30, 90, 365, then all-time days) so …

Signals

Stars
12
Forks
1
Open issues
0
Weekly downloads
352
Last commit
Oct 23, 2026 (7 days ago)
Last release
Sep 25, 2026 (1 month ago)
Last package publish
Oct 23, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.labyrinth-analytics/loreconvo
Version
0.10.12
Auth
API key
Packages
pypi loreconvo
License
BUSL-1.1
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from labyrinth-analytics

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get LoreConvo running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying LoreConvo?

CallGet help
Cite this page

LoreConvo MCP server. Agent Mart. https://agentmart.dev/connectors/labyrinth-analytics-loreconvo (last updated 2026-10-24)