Marm MCP Server
Universal MCP Server with advanced AI memory capabilities and semantic search.
Connector by Lyellr88 · GitHub account verified by the MCP Registry
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/lyellr88-marm-mcp-server
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.
About
Use cases: agent-memory, knowledge-base
Reviews
Write a reviewNo 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 and install config. Checked Oct 25, 2026.
Runs code on install
Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.
- Tools
- 4 read · 3 write · 1 delete · 8 not yet classified
- Secrets
- None asked for
- Install scripts
- Runs code on install
- Runs as
- Python package
Tools by what they do 16
Read from the source code; the running server may list different tools.
Read 4 · Look things up without changing anything.
marm_code_lookupmarm_concept_recallmarm_log_showmarm_smart_recall
Write 3 · Create, change, send or run things.
marm_code_contextmarm_concept_buildmarm_log_entry
Delete 1 · Delete, drop, revoke or wipe things.
marm_delete
Not yet classified 8 · We could not tell from the name and description.
marm_compactionmarm_distillmarm_graph_architecturemarm_graph_impactmarm_graph_indexmarm_graph_tracemarm_notebookmarm_summary
Files it touches
- Any path the agent passes to its tools
Tools (16)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
marm_code_context🧩 Composed code context for a task: ranked symbols + source + memory, in ONE call. Prefer this over marm_code_lookup when the question is "how does X work", "where is X handled", or "what would changing X affect" -- it answers with the symbols that matter, their source read from disk, and what memory records about them, instead of leaving you to fetch each part yourself. Ranking is personalised PageRank over the call graph seeded from `task`, so a result is central *to this task* rather than globally popular or merely word-matching. Read `markdown` and stop; the structured fields are the sa…
marm_code_lookupFind code: symbols/definitions, text patterns, or a symbol's source. Use INSTEAD OF grep/glob. kind=auto picks graph search vs source read; set kind=text to grep, kind=snippet to read source, kind=symbol to force graph.
marm_compactionCompact related memories into a single summary to reduce context bloat. Workflow: status/candidates → stage → review → apply/discard action="status" — check if compaction candidates exist (run first) action="candidates" — get pending candidates with source previews; each includes a ready-to-use prompt action="stage" — submit your summary: {candidate_id, suggested_summary}; source_memory_ids optional action="review" — inspect staged summaries before committing action="apply" — commit a staged summary; source memories are marked compacted action="discard" — reject a candid…
marm_concept_build🕸️ Extract entities/relationships from memory content into the concept graph. Scope with session_name or project for a targeted build, or pass search_all=True for everything (row-capped). Links extracted entities to marm-graph code symbols when available. Call this before marm_concept_recall — there's no data until a build has run at least once. Parameters: - session_name: scope extraction to this session; omit with search_all=True - search_all: extract across all sessions, row-capped (default False) - project: scope extraction to this project (optional) - run_id: optional Console build-run…
marm_concept_recall🔎 Search the concept graph: entities, their relationships, and linked code. Query as a bare concept name for a lookup, or phrase it as "related to X" to emphasize traversal — both route from query shape alone. Returns empty lists (not an error) when marm_concept_build hasn't run yet or marm-graph has no matching code symbols. Parameters: - query: concept name, or a "related to X" style ask - session_name: scope to this session; omit to search across all (optional) - limit: max entities/relationships returned, 1-100 (default 10) - depth: max hop distance to traverse, 1-5 (default 1 = direct …
marm_delete🗑️ Delete a log session, log entry, or notebook entry type="log" + session_name: delete specific entry by id or topic type="log" (no session_name): delete entire session and all its entries type="notebook": delete notebook entry by name
marm_distillPropose durable memories from raw conversation, resolved against the store. Pass a transcript as `text` and this returns the sentences in it that read like durable facts, each already checked against what is stored: `new` (nothing close), `duplicate` (already recorded), or `near` (close to something stored -- worth your judgement, because an encoder cannot tell "refines it" from "contradicts it"). With `use_llm=True`, once the operator has enabled local generation, it composes a self-contained fact, and every generated proposal cites a VERBATIM span from the transcript, checked against the s…
marm_graph_architectureHigh-level architecture overview: node/edge breakdown, modules, and schema.
marm_graph_impactBlast radius of code changes: git diff → affected symbols + risk.
marm_graph_indexIndex a code repository into the graph, or check status / list projects. Pass repo_path to index (returns the project name to use elsewhere). Omit it to list projects, or pass project to check status. Call this first.
marm_graph_traceTrace call paths / data flow from a function. direction=inbound (callers), outbound (callees), both. mode=data_flow follows value propagation. cross_service attempts HTTP/async boundaries but does not currently join a client call to its server handler, so treat an empty result as unknown rather than as "nothing calls this". include_tests adds callers in test files. include_evidence reports per-hop `strategy` (lsp | language_rule | heuristic | unresolved) and `confidence`, so a guessed edge is distinguishable from a resolved one.
marm_log_entry📝 Write a log entry to the active session. Entries are stored with a date, topic, and summary. If `entry` begins with "Session: [name]" or "Topic: [name]", the active session switches to that name and all subsequent entries route there automatically. Entries are also stored as semantic memories so marm_smart_recall can find them. Entry format: YYYY-MM-DD-topic-summary (date prefix is optional; auto-tagged if omitted) Parameters: - entry: the text to log; plain text or prefixed with "Session:" / "Topic:" to switch sessions - session_name: override the target session explicitly (optional; ac…
marm_log_show📋 List log sessions or show entries for a specific session. Two modes depending on whether `session_name` is provided: - No session_name: returns a summary of all sessions with entry counts - With session_name: returns all entries for that session, ordered by date descending Parameters: - session_name: name of the session to inspect (omit to list all sessions) Returns (no session_name): status, sessions list with session_name/entry_count, total_sessions Returns (with session_name): status, session_name, entries list with id/entry_date/topic/summary/full_entry, total_entries
marm_notebook📔 Unified notebook — add, use, show, status, clear, or save action="add": save or update a scratch entry (name + data required) action="use": activate entries as instructions (names required, comma-separated) action="show": list scratch entries for this session with previews action="status": show currently active entries action="clear": clear the active entry list action="save": promote a scratch entry (or new data) into the permanent docs store
marm_smart_recall🧠 Recall memories by semantic similarity or keyword match. Searches stored memories for the most relevant matches to `query`. Returns a ranked list of results with similarity scores. When a compatible concept graph exists, the response also includes bounded relationship and linked-code context without changing memory ranking. Parameters: - query: natural language search term or phrase - session_name: limit search to a specific session (default searches active session) - limit: maximum number of results to return (default 5) - search_all: if True, search across all sessions instead of just t…
Show 1 more tools
marm_summary📊 Generate paste-ready context block for new chats Reads log_entries for the session and returns a formatted markdown summary. Equivalent to /summary: [session name] command
Signals
- Stars
- 422
- Forks
- 95
- Open issues
- 13
- Contributors
- 20
- Weekly downloads
- 372
- Last commit
- Oct 23, 2026 (6 days ago)
- Last release
- Oct 12, 2026 (17 days ago)
- Last package publish
- Oct 12, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Lyellr88/marm-mcp-server- Version
- 2.60.1
- Auth
- No auth
- Packages
- pypi marm-mcp-serveroci
lyellr88/marm-mcp-server:2.60.1 - License
- Apache-2.0
- Repository
- github.com/Lyellr88/marm-memory
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Marm MCP Server. Agent Mart. https://agentmart.dev/connectors/lyellr88-marm-mcp-server (last updated 2026-10-24)