Memtrace

Local code graph with symbol history that coding agents query for search, impact and change tracking

Official · Syncable Rust Local · stdio Developer toolsKnowledge and memory

73 popularity score ★ 511 ↓ 1.6k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

FirstTerminal
npm install -g memtrace
memtrace auth login
Claude CodeTerminal
claude mcp add memtrace -- memtrace mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "memtrace": {
      "command": "memtrace",
      "args": [
        "mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "memtrace": {
      "command": "memtrace",
      "args": [
        "mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "memtrace": {
      "type": "stdio",
      "command": "memtrace",
      "args": [
        "mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.memtrace]
command = "memtrace"
args = ["mcp"]
Gemini CLITerminal
gemini mcp add --scope user memtrace memtrace -- mcp

Settings 4

MEMTRACE_TELEMETRY Optional: Set to off (or 0/false/disabled/no) to stop the opt-out product telemetry.
MEMTRACE_RAIL_SHADOW Optional: Set to off to stop only the search-quality measurement buckets in telemetry.
MEMTRACE_DEFAULT_REPO Optional: Repo used by tools such as get_codebase_briefing when no repo_id is passed.
MEMTRACE_OVERLAY_TTL_HOURS Optional: Age after which worktree overlays are cleaned up; 168 hours by default.

What it does

Memtrace is the MCP server of a closed-source code-intelligence product from Syncable. It parses a repository with Tree-sitter into a local graph of symbols (functions, classes, types, endpoints) and their links (calls, imports, implements), keeps the version history of each symbol from git, and serves that graph to a coding agent over stdio through `memtrace mcp`. The agent can then search code, follow callers and callees, estimate what a change would break, see what changed over a period, and map HTTP calls between services, instead of re-reading files each session.

Parsing and embeddings run on the user's machine; no LLM is called to build the graph. Beyond plain code queries it carries quality checks (dead code, duplicates, complexity, hotspots), a pull-request reviewer for GitHub, tools for several agents to announce edits and take leases on the same repo, and six "Cortex" tools that recall recorded design decisions and the code they produced.

The README advertises "25+" tools; the docs' tool reference says `memtrace mcp` registers 90: 81 core graph and runtime tools, three hosted-docs tools and six Cortex tools. 38 of the 81 core tools draw on the plan's query quota, and when the quota runs out a metered tool still returns a normal success result whose payload is a quota-error JSON object, not a protocol error (docs: MCP tool reference). The product is in private beta behind a waitlist and needs a signed-in Memtrace account; the licence is a proprietary EULA.

What it needs

RuntimeNode.js 18+

Node.js 18 or later and npm, installed globally with `npm install -g memtrace`, which pulls a prebuilt binary for macOS on Apple Silicon, Linux x64 or Windows x64. A Memtrace account: the product is in private beta (waitlist at memtrace.io) and refuses to run anonymously; sign in once with `memtrace auth login` or on the first `memtrace start`. Git for the history features. The README asks for at least 4 cores, 8 GB RAM and 5 GB free disk. The Cortex tools need the sidecar that `memtrace start` launches.

Limits

Closed source and in private beta; access is rolled out from a waitlist. Free for individual developers per its README, but 38 core tools are metered against a query quota (the teams plan is unmetered), and an exhausted quota shows up as an error payload inside a successful result. Built for code: it does not keep conversational memory. The first index is CPU and RAM heavy and the first run downloads an embedding model. The README still lists `execute_cypher`, which the current tool reference does not include. Nightly builds are marked as not always stable.

Who it suits

Suits developers who run one or several coding agents on a large or multi-service codebase and want callers, blast radius and change history answered from a local index rather than file reads, and who accept a closed-source binary, an account and phone-home licence checks. Pick an open-source code-graph or plain file-search server if you cannot sign up for the beta, need fully offline use, or want to audit the code. For memory of conversations or user facts rather than code, its own README points out it is not built for that.

Tools 55 of 90

index_directory
Parse a local folder into the code graph, resolve cross-file links and embed symbols; returns job ids
list_indexed_repositories
List indexed repos with node and edge counts, branch and last index time
delete_repository
Remove every node, edge, episode and embedding stored for one repo
check_job_status
Report which stage a background indexing job has reached
list_jobs
List background indexing jobs
get_repository_stats
Counts of nodes, edges and symbol kinds for an indexed repo
watch_directory
Keep a folder under watch and re-index changes as they happen
list_watched_paths
Show which folders are being watched
unwatch_directory
Stop watching a folder
list_worktrees
List git worktree overlays held for a repo
cleanup_worktrees
Drop stale worktree overlays (missing, merged, or older than the TTL)
find_code
Hybrid keyword and semantic code search, optionally across all repos or at a past point in time
find_symbol
Look up a symbol by exact or fuzzy name
get_source_window
Return a slice of a source file around given lines, with optional compression
get_directory_tree
Map a directory tree in one call, with depth and entry caps
analyze_relationships
Callers, callees, class hierarchy or type usages of a symbol
get_symbol_context
One-call overview of a symbol: definition, neighbours and risk
get_impact
Estimate the blast radius of changing a symbol, with a risk level
find_dead_code
Find symbols nothing calls
find_duplicate_code
Find duplicated code blocks
calculate_cyclomatic_complexity
Compute cyclomatic complexity for code
find_most_complex_functions
Rank functions by complexity
get_function_quality_metrics
Quality figures for one function
find_hotspots
Find code that changes often within a time window
find_code_review_issues
Run graph-based review checks over changed code
review_github_pr
Review a GitHub pull request against the local index and optionally post findings to GitHub
get_daily_briefing
Summary of what changed between two anchors
create_anchor
Mark a named point in a repo's history for later comparison
get_timeline
Version history of a symbol
get_evolution
Rank what changed over a period using one of six scoring modes
detect_changes
Map a diff or changed files to the symbols they touch
get_changes_since
List changes since a given episode or time
get_cochange_context
Show which code tends to change together with a symbol
get_episode_replay
Replay a recorded change episode
record_external_episode
Add an agent- or externally-authored episode to a repo's timeline
find_api_endpoints
List HTTP endpoints found in indexed code
find_api_calls
List outgoing HTTP calls found in indexed code
get_api_topology
Graph of which services call which endpoints across repos
link_repositories
Add a typed link between two repos the HTTP linker cannot infer
ingest_graph_fragment
Add nodes and edges from generated code or other sources the parsers miss
list_processes
List traced execution flows
get_process_flow
Show the steps of one traced flow
list_communities
List module clusters found by community detection
find_central_symbols
Rank symbols by centrality
find_bridge_symbols
Find symbols that connect otherwise separate parts of the code
find_dependency_path
Find the dependency path between two symbols
get_codebase_briefing
Compact start-of-session overview of a repo's structure and risks
fleet_publish_intent
Announce an intended edit to other agents and see overlapping work
fleet_status
Show live intents and conflicts among coordinating agents
fleet_acquire_lease
Take a time-limited lease on code before editing it
fleet_release_lease
Release an edit lease
recall_decision
Look up recorded design decisions matching a free-text query
verify_intent
Check whether a recorded decision held across the changes that implemented it
why_is_this_here
Trace the decision lineage behind a symbol
governing_rules
List governance rules in force for a file path

Similar servers