|
|
@@ -10,7 +10,7 @@ These third-party configurations are provided as interoperability examples only.
|
|
|
|
|
|
DSH parses the selected Cordis overlay, starts a configured stdio command or connects to a configured Streamable HTTP URL, discovers MCP tools, and exposes them as `mcp__<serverName>__<tool>`. DSH does **not** download the server, initialize its database, choose its model or embedding provider, create a cloud account, migrate vendor data, or supervise a separate HTTP service. For stdio, the generic client launches and stops the child with the DSH plugin lifecycle; for HTTP, the upstream service must already be running.
|
|
|
|
|
|
-The stdio bridge deliberately removes ambient credential-shaped and `DSH_*` variables before launching a child. Each example explicitly forwards only the variables needed for its baseline. If an optional upstream feature needs another secret, add that variable to the row's `config.env` instead of putting the secret directly in YAML.
|
|
|
+The stdio bridge deliberately removes ambient credential-shaped and `DSH_*` variables before launching a child; other ambient variables remain inherited. Each example adds only the baseline override it needs. If an optional upstream feature needs another secret, add that variable to the row's `config.env` instead of putting the secret directly in YAML.
|
|
|
|
|
|
## Choose one
|
|
|
|
|
|
@@ -28,7 +28,7 @@ Pass one overlay to DSH:
|
|
|
dsh --config "$PWD/examples/mcp-memory/memorix.cordis.yml"
|
|
|
```
|
|
|
|
|
|
-Replace the filename with `mcp-reference-memory.cordis.yml` or `engram.cordis.yml`. Those two examples also accept `DSH_MEMORY_USER_ID` for stable per-user storage. The path may point to a copied file anywhere on disk. No memory server is present in the shipped composition, so omitting `--config` keeps all three disabled.
|
|
|
+Replace the filename with `mcp-reference-memory.cordis.yml` or `engram.cordis.yml`. The path may point to a copied file anywhere on disk. No memory server is present in the shipped composition, so omitting `--config` keeps all three disabled.
|
|
|
|
|
|
Without a repository checkout, download the selected overlay directly:
|
|
|
|
|
|
@@ -59,11 +59,10 @@ Memorix works in local heuristic mode without an LLM or embedding service. Confi
|
|
|
|
|
|
```sh
|
|
|
npm install --global @modelcontextprotocol/server-memory@2026.7.4
|
|
|
-export DSH_MEMORY_USER_ID=alice
|
|
|
dsh --config "$PWD/examples/mcp-memory/mcp-reference-memory.cordis.yml"
|
|
|
```
|
|
|
|
|
|
-This reference server stores a local knowledge graph and exposes entity, relation, observation, read, search, and open tools. It needs no model or embedding service. The example maps `DSH_MEMORY_USER_ID` to an isolated `MEMORY_FILE_PATH`.
|
|
|
+This reference server stores a local knowledge graph and exposes entity, relation, observation, read, search, and open tools. It needs no model or embedding service. The example stores its JSONL at `$HOME/.dsh-mcp-reference-memory.jsonl` instead of the installed npm package directory. Set `MEMORY_FILE_PATH` before starting DSH to override it.
|
|
|
|
|
|
Search is case-insensitive substring matching over entity names, types, and observations, not semantic retrieval. The server does not add embeddings, automatic summarization, conflict resolution, or a forgetting policy.
|
|
|
|
|
|
@@ -71,11 +70,10 @@ Search is case-insensitive substring matching over entity names, types, and obse
|
|
|
|
|
|
```sh
|
|
|
go install github.com/Gentleman-Programming/engram/cmd/engram@v1.20.0
|
|
|
-export DSH_MEMORY_USER_ID=alice
|
|
|
dsh --config "$PWD/examples/mcp-memory/engram.cordis.yml"
|
|
|
```
|
|
|
|
|
|
-The example maps the user id to an isolated `ENGRAM_DATA_DIR`. Engram still owns project selection: it detects the Git project from the DSH working directory, or accepts `ENGRAM_PROJECT` as an explicit override.
|
|
|
+Engram owns storage and project selection: it uses `~/.engram` by default, detects the Git project from the DSH working directory, and accepts `ENGRAM_DATA_DIR` or `ENGRAM_PROJECT` as ambient overrides.
|
|
|
|
|
|
## Optional shared model instruction
|
|
|
|
|
|
@@ -93,7 +91,7 @@ Use one unique value and keep the provider's storage scope unchanged throughout:
|
|
|
2. Create DSH session B in the same running Host. Do not copy session A's conversation. Ask: `What is my validation drink? Check memory.` Confirm the model called the provider's search or recall tool and returned the value.
|
|
|
3. Still in session B, ask: `Use that preference to suggest one drink for the meeting.` Confirm the answer uses the recalled value.
|
|
|
|
|
|
-A new DSH session is required; a Host restart is not. Restart or HMR is needed only after an MCP child crashes because the current generic client unregisters tools on disconnect and does not auto-reconnect. Initial discovery is asynchronous, so wait for the provider's `mcp__...` tools before sending the first validation prompt.
|
|
|
+A new DSH session is required; a Host restart is not. Restart or HMR is needed only after an MCP child crashes because the current generic client does not auto-reconnect; its tool registrations remain until plugin disposal or a successful re-sync, and calls can fail against the closed transport. Initial discovery is asynchronous, so wait for the provider's `mcp__...` tools before sending the first validation prompt.
|
|
|
|
|
|
## Bring another MCP server
|
|
|
|