Skip to content

docs: fix drift in Configuration Tools - #282

Closed
jack-arturo wants to merge 1 commit into
mainfrom
docs/audit-cli-config-tools-20260804
Closed

docs: fix drift in Configuration Tools#282
jack-arturo wants to merge 1 commit into
mainfrom
docs/audit-cli-config-tools-20260804

Conversation

@jack-arturo

Copy link
Copy Markdown
Member

Routine docs-accuracy audit of cli/config-tools. Last reviewed ~2026-07-08; src/cli/migrate.ts and templates/** have changed in mcp-automem since.

The two config examples on this page were both copy-pasteable and both wrong, which is the reason this is not a draft — every fix is a value or a path, no prose reinterpretation.

Fixes

Claim Current state Fix Evidence
JSON example registers "mcpServers": { "automem": … } with args: ["@verygoodplugins/mcp-automem"] Every shipped template registers the key "memory" with args: ["-y", "@verygoodplugins/mcp-automem"]. The key is the tool-name prefix, so automem yields mcp__automem__* and breaks every documented mcp__memory__* tool reference and the hook matchers the claude-code installer writes. Corrected key and args; added one sentence explaining why the key matters mcp-automem@cbeb3cb:templates/claude_desktop_config.json, templates/cursor_mcp.json, src/cli/templates.ts
Codex TOML example uses [[mcp_servers]] (array of tables) with a name = "automem" key and [mcp_servers.env] Codex names the server via the table header: [mcp_servers.memory], with env in [mcp_servers.memory.env]. There is no name key and no array-of-tables form. As written the snippet does not register a server. Rewrote to the shipped form and linked the template mcp-automem@cbeb3cb:templates/codex/config.toml
Env-resolution diagram: a binary AUTOMEM_API_URL exists? check falling through to the default; key priority listed as 2 entries resolveAutoMemApiUrl() walks three sources before defaulting (AUTOMEM_API_URLCLAUDE_PLUGIN_OPTION_API_URLAUTOMEM_ENDPOINT), skipping blanks. readAutoMemApiKeyFromEnv() walks four. The diagram contradicted the prose directly above it, which already lists all four key tiers. Replaced both nodes with the real precedence chains mcp-automem@cbeb3cb:src/env.ts#L12-L28, src/env.ts#L38-L60
Env-var table omits AUTOMEM_PARENT_WATCHDOG_MS Real, read at src/index.ts#L1771 via parseWatchdogIntervalMs, default 30000, POSIX-only, cannot be disabled Added a row mcp-automem@cbeb3cb:src/index.ts#L1771, src/lifecycle.ts#L29

Verified against: verygoodplugins/mcp-automem@cbeb3cb

Verified correct and left untouched: resolveAutoMemConfig() really does live in src/cli/queue.ts (L60) with the documented env → ~/.claude.json → default order; the readAutoMemApiKeyFromEnv() 4-tier prose list including both CLAUDE_PLUGIN_OPTION_* casings; AUTOMEM_PROCESS_TAG / MCP_PROCESS_TAG (src/index.ts#L89); AUTOMEM_LOG_LEVEL=debug; AUTOMEM_RECALL_TOKEN_BUDGET default 18000; content-size governance 500 soft / 2000 hard (src/index.ts#L1455-L1456); recall, queue, and config all present in KNOWN_COMMANDS; the dotenv quiet behavior; and the OpenClaw config path ~/.openclaw/openclaw.json (src/cli/openclaw.ts#L403).

Questions

  • The "JSON Configuration Example" is headed "(Claude Desktop, Cursor, Claude Code)", but Claude Code is normally wired with claude mcp add rather than a hand-edited ~/.claude.json. Is showing the raw JSON here still the intended guidance, or should it point at the CLI?

Unverified

  • The "Debug output includes … HTTP request/response details / Retry attempts and backoff timing" list — AUTOMEM_LOG_LEVEL=debug is read in two places, but I did not trace which of these four categories each debug branch actually emits.

Follow-ups

  • The Platform Installers table lists four installers; the CLI also ships hermes, copilot, antigravity, migrate, and uninstall.
  • ~/.openclaw/openclaw.json is the first of three probed config paths (config.json5 and config.json follow); the table presents it as the only one.

Generated by Claude Code

- JSON/TOML examples register the server as "memory", not "automem"
- Codex TOML uses [mcp_servers.memory], not [[mcp_servers]] with name
- env-resolution diagram now reflects resolveAutoMemApiUrl() precedence
- document AUTOMEM_PARENT_WATCHDOG_MS

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013aFijMh5z5WBKN73zhxXz7
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying automem-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0d1f9fb
Status: ✅  Deploy successful!
Preview URL: https://dc4e6721.automem-website.pages.dev
Branch Preview URL: https://docs-audit-cli-config-tools-612h.automem-website.pages.dev

View logs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0d1f9fb9db

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

```

The `command` and `args` launch the MCP server in stdio mode. The `env` block passes configuration to the server process. Platform launchers spawn this command when initializing MCP connections.
The server is registered under the key `memory` — that key becomes the tool-name prefix, so the tools resolve as `mcp__memory__store_memory`, `mcp__memory__recall_memory`, and so on. The `command` and `args` launch the MCP server in stdio mode. The `env` block passes configuration to the server process. Platform launchers spawn this command when initializing MCP connections.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Clarify Cursor's tool prefix separately

In the shared JSON example, this sentence applies the Claude-style mcp__memory__... names to Claude Desktop, Cursor, and Claude Code, but Cursor exposes MCP tools with underscore-delimited names (mcp_memory_recall_memory for the same memory server, as documented in src/content/docs/docs/platforms/cursor.md). For users following this common configuration page in Cursor, the listed tool names will not exist, so the sentence should either be scoped to Claude clients or include Cursor's separate prefix format.

Useful? React with 👍 / 👎.

@jack-arturo

Copy link
Copy Markdown
Member Author

Superseded by merged #354. This fresh replacement was rebuilt from current main against mcp-automem 0.16.0@9a0bbf754dd31db524da25638b0e97907e32ff37, then corrected through independent review with focused tests, full tests, build, and deployment checks.

@jack-arturo

Copy link
Copy Markdown
Member Author

Closing now that every release-validated claim is carried by merged replacement #354. The legacy branch is preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants