MemMesh — persistent, self-improving memory for AI agents. Get started →
IntegrationsInstaller & Doctor

Installer & Doctor

The @thinkfleet/memmesh npm package is a thin shim: it doesn’t implement memory. It locates the thinkfleet-memory engine binary and hands your command off to it — the engine is what writes the MCP config and runs the local (stdio) server.

npx @thinkfleet/memmesh install

Node stdlib only, no dependencies, so npx is instant. If the engine binary is already on your $PATH, you can skip the shim and call it directly: thinkfleet-memory install.

How the shim finds the engine

The shim resolves the binary in this order:

  1. $THINKFLEET_BINARY — an explicit absolute path (override).
  2. thinkfleet-memory / thinkfleet on your $PATH.
  3. A cached download at ~/.thinkfleet-memory/bin/<version>/.
  4. A download from $MEMMESH_RELEASE_BASE for your platform+arch, cached then executed.
  5. Otherwise it prints guidance and exits non-zero.
⚠️

The prebuilt binary release channel isn’t live yet. Step 4 (auto-download) will fail until releases are published. Until then, use a binary you already have via $THINKFLEET_BINARY or a $PATH install, or build one from source with cargo build --release (produces target/release/thinkfleet-memory).

Environment knobs

VariablePurposeDefault
THINKFLEET_BINARYAbsolute path to an engine binary — skips download entirely.
MEMMESH_ENGINE_VERSIONEngine version the shim targets.0.1.0
MEMMESH_RELEASE_BASEBase URL for prebuilt engine binaries.https://downloads.memmesh.ai/thinkfleet-memory
THINKFLEET_MEMORY_DBPath to the local SQLite DB the engine reads/writes.~/.thinkfleet-memory/memory.db

Example — use a locally built binary:

THINKFLEET_BINARY=/Users/you/thinkfleet-memory-engine/target/release/thinkfleet-memory \
  npx @thinkfleet/memmesh install --tool claude-code

Install flags

These pass straight through to the engine’s install subcommand:

FlagEffect
--tool <id>Target one tool (repeatable): claude-code, cursor, windsurf, codex. Omit to wire every detected tool.
--dry-runShow what would change without writing anything.
--forceInstall even if the tool isn’t auto-detected (creates the config from scratch).
--skill-onlyInstall just the agent skill, skip the MCP config.
--mcp-onlyInstall just the MCP config, skip the skill.
--no-hooksSkip the Claude Code auto-observe UserPromptSubmit hook (installed by default).
--binary <path>Override the binary path written into the MCP configs.

Where each tool’s config and skill land:

ToolMCP configSkill / rules
Claude Code~/.claude.json~/.claude/skills/thinkfleet-memory/ (+ hook in ~/.claude/settings.json)
Cursor~/.cursor/mcp.json~/.cursor/rules/thinkfleet-memory/
Windsurf~/.codeium/windsurf/mcp_config.json~/.codeium/windsurf/memories/
Codex CLI~/.codex/config.toml~/.codex/instructions/thinkfleet-memory/

Doctor — is memory actually working?

doctor is a read-only diagnostic. It reports, per detected tool, whether the MCP entry is present and points at the right binary, whether the skill and (for Claude Code) the hook are wired, plus engine and DB health.

thinkfleet-memory doctor
FlagEffect
--jsonMachine-readable output (for scripts / the desktop app).
--remediateCompute a fix plan for every issue and execute it. Idempotent.
--remediation-planPrint the plan that would run, but don’t execute.
--yesSkip the interactive confirmation (required for cron / CI).
--max-usd <n>Aggregate cost cap; refuse a plan that exceeds it.

If a check fails, doctor tells you to re-run install to repair, or use doctor --remediate to auto-fix.

Pair a local install to a hosted account

Mesh Router (hosted) — coming soon. The hosted service these commands pair against is still in development. The [sync] config and config set-sync flow below exist in the engine today, but there is no public hosted endpoint to point them at yet.

The engine’s ~/.thinkfleet-memory/config.toml holds an optional [sync] section. When present, the engine can push local memories to a central project; when absent, it stays fully local (the default).

~/.thinkfleet-memory/config.toml
[sync]
url = "https://app.memmesh.ai"
token = "<bearer token>"
platform_id = "<your platform id>"
interval_seconds = 30

You don’t hand-edit this — the config set-sync command writes it atomically:

thinkfleet-memory config set-sync \
  --url https://app.memmesh.ai \
  --token <bearer token> \
  --platform-id <your platform id>

Related commands:

  • thinkfleet-memory config show — print the resolved config (env + file merged).
  • thinkfleet-memory config clear-sync — drop back to local-only mode.
  • thinkfleet-memory sync — run one sync cycle now (useful from CI / scripts).

See also

  • Claude Code — the recommended, fully worked setup.
  • MCP tools — the full tool surface an agent can call.
  • Configuration — env vars for the self-hosted HTTP server.