ChatGPTClaudeGrok / X / CursorGemini

Remove DSH memory MCP: overlay, data dirs and tools

Uninstall & CleanupPublished 2026-10-21Author: DeepSeek Plugin Market
DeepSeek Harnessmemory MCPuninstalloverlaydata directories
Removing DSH memory MCP takes three layers: drop the overlay or patch row, restart so mcp__ tools unregister, then clean provider data and global packages.

Removing a DeepSeek Harness memory MCP has three layers: stop loading the configuration, restart so the tools unregister, then clean the provider’s data directory and optional global package. Most people do the first layer only, then wonder why memory still exists on disk or why mcp__ tools remain in the tool list. DSH owns the connection and tool exposure, not the upstream data.

DeepSeek Harness: Where each provider stores data

Before deleting anything, identify which backend you used; their data locations are completely different. Compare:(source)

ProviderDefault data locationOverride
Memorix~/.memorix/dataMEMORIX_DATA_DIR
Reference Memory$HOME/.dsh-mcp-reference-memory.jsonlMEMORY_FILE_PATH
Engram~/.engramENGRAM_DATA_DIR, ENGRAM_PROJECT

If the original patch changed a path through config.env, trust the patch, not the default. Search the patch for the environment variable before deleting.

DeepSeek Harness: Remove the loading configuration

Memory MCPs are off by default and load through --patch or a patch row; reverse whichever method you used. Three paths:(source)

  1. Startup argument — remove --patch .../memorix.cordis.yml from the command. Expected: the next start does not load that MCP.
  2. Profile patch — delete the matching insert row from $DSH_HOME/profiles/<name>/cordis.patch.yml. Expected: only that profile changes.
  3. Home patch — delete the matching row from $DSH_HOME/cordis.patch.yml. Expected: every profile in the home stops loading it.

Do not rewrite the whole patch file; it may contain unrelated plugins. Delete only the target insert and keep the indentation valid.

DeepSeek Harness: Reconnect behavior versus removal

A crash and an intentional removal look similar but are different paths. Official behavior:(source)

  1. Child process crashes — triggers backoff reconnect and tool resync. Expected: tools stay listed during the outage and calls fail; after reconnect they work again.
  2. Reconnect budget exhausted — tools unregister and reconnection stops until reload or restart. Expected: this is runtime surrender, not “configuration deleted”.
  3. Configuration removed — restart no longer connects, and tools unregister by serverName. Expected: a new session shows no mcp__ prefix.
  4. Initial discovery is asynchronous — wait briefly after startup. Expected: do not misread “not there yet” as failure.

Distinguishing runtime reconnect failure from removal prevents repeated patch edits.

DeepSeek Harness: Verify tool unregistration

Removing configuration is not enough; restart and open a new session. Steps:(source)

  1. Restart DSH — stop the MCP client and unregister tools. Expected: the startup log no longer names the server.
  2. Start a new session — old sessions may keep a tool snapshot. Expected: the new session has no mcp__<serverName>__... entries.
  3. Search the tool list — ask the model to list tools or inspect the tool panel. Expected: the prefix is gone.
  4. Check processes — no memorix, server-memory, or engram child process remains. Expected: stdio providers are stopped.

If tools remain, confirm you edited the profile and home that the running process actually uses; another patch may load the same serverName.

DeepSeek Harness: Clean data and global packages

Data cleanup is the optional second layer: keep it for a pause, delete it for a full removal. By provider:(source)

  1. Memorix — delete ~/.memorix/data or the custom directory; optionally npm uninstall -g memorix. Expected: local memory and the global command are gone.
  2. Reference Memory — delete ~/.dsh-mcp-reference-memory.jsonl; optionally npm uninstall -g @modelcontextprotocol/server-memory. Expected: the JSONL and global package are gone.
  3. Engram — delete ~/.engram; remove the Go binary if no longer used. Expected: project memory and the command are gone.

Back up memory files first if they matter. MCP memory often accumulates preferences and project facts that are hard to rebuild.

DeepSeek Harness: Pause, back up, or remove completely

If you only need a pause, keep the data and remove the loading configuration. Three strategies:(source)

  1. Pause — remove the patch row and keep the data directory. Expected: reloading the configuration restores it.
  2. Migrate — copy the provider data directory and configure the same environment variables on the new machine. Expected: memory follows.
  3. Remove completely — remove the configuration, delete data, and uninstall the global package. Expected: no residue, but irreversible.

When reinstalling, remember the stdio bridge strips credential-like variables and all DSH_* variables before spawning. Extra provider secrets must go into config.env, not the parent environment.

Command cheat sheet

Use a provider-specific command; do not apply one deletion path to all three. Examples:

sh
# Memorix
rm -rf "${MEMORIX_DATA_DIR:-$HOME/.memorix/data}"
npm uninstall -g memorix

# Reference Memory
rm -f "${MEMORY_FILE_PATH:-$HOME/.dsh-mcp-reference-memory.jsonl}"
npm uninstall -g @modelcontextprotocol/server-memory

# Engram
rm -rf "${ENGRAM_DATA_DIR:-$HOME/.engram}"

Replace the variables with your actual configured paths. If the patch set config.env, use those values. Restart DSH and open a new session to confirm the mcp__ tools are gone.

DeepSeek Harness FAQ

After removing the memory MCP, does the model still “remember” earlier facts? The current conversation history remains; cross-session memory comes from the provider. If the data was not deleted, it still exists—it is simply not loaded.

Tools disappeared after an MCP child crash—is that the same as uninstalling? Not necessarily. Crashes trigger backoff reconnect, and tools unregister only after the reconnect budget is exhausted. Restart or reload before editing configuration.

Can I remove only one serverName? Yes. Remove that insert row and restart. One MCP client can host multiple serverNames.

The short version: memory MCP removal has three layers—configuration, tools, data. Only the first is a pause; all three are a cleanup.

ChatGPTClaudeGrok / X / CursorGemini

FAQ

Is deleting the --patch enough to remove a memory MCP from DeepSeek Harness?

DeepSeek Harness: no. Removing the --patch or patch row only stops loading the client configuration. The provider’s data directory, global npm package, or Go binary remains. Clean those separately for each provider.

Why do mcp__ tools still appear after removing the memory MCP?

DeepSeek Harness: the process may not have restarted, or an old session may hold a tool snapshot. DeepSeek Harness exposes MCP tools as mcp__<serverName>__<tool>; restart and start a new session to confirm the prefix is gone.

Where do Memorix, Reference Memory, and Engram store data?

DeepSeek Harness: memorix defaults to ~/.memorix/data and honors MEMORIX_DATA_DIR. Reference Memory writes $HOME/.dsh-mcp-reference-memory.jsonl and honors MEMORY_FILE_PATH. Engram defaults to ~/.engram and honors ENGRAM_DATA_DIR or ENGRAM_PROJECT.

Does removing a memory MCP delete DSH session logs?

DeepSeek Harness: no. Provider memory and session logs are separate stores. Removing the MCP does not delete sessions; deleting sessions does not clear provider memory.

How do I disable a memory MCP without deleting data?

DeepSeek Harness: remove the --patch or the insert row from the profile patch, then restart. The provider data stays in place, and reloading the same configuration re-enables it later.

Related Terms

memory MCP
A memory MCP is a third-party memory service connected to DeepSeek Harness through the MCP protocol. Its tools appear as mcp__<serverName>__<tool>, and the upstream provider owns the data.— DeepSeek Harness docs - Connecting a third-party memory MCP server
Memorix
Memorix is a local memory MCP in the official reference configs. Its default data directory is ~/.memorix/data, overridable with MEMORIX_DATA_DIR; it can run without a model or embedding service.— DeepSeek Harness docs - Connecting a third-party memory MCP server
Reference Memory
MCP Reference Memory is a local knowledge-graph memory service in the official configs. It writes JSONL to $HOME/.dsh-mcp-reference-memory.jsonl by default, overridable with MEMORY_FILE_PATH.— DeepSeek Harness docs - Connecting a third-party memory MCP server
Engram
Engram is a memory MCP in the official configs. It uses ~/.engram by default and detects a Git project from the DSH working directory; ENGRAM_DATA_DIR or ENGRAM_PROJECT overrides it.— DeepSeek Harness docs - Connecting a third-party memory MCP server

Sources