docs / install

Install

One snippet per harness. The server is a plain stdio MCP process from npm — no account, no API key, and SQLite on your machine.

Verify before wiring anything up

npx -y @mem-os/sdk doctor
npx -y @mem-os/sdk store "The project uses pnpm workspaces"
npx -y @mem-os/sdk search "package manager"

doctor should print "no problems found", and search should return the stored sentence. Data lives at ~/.memos/memos.db unless you set MEMOS_DB_PATH.

Claude Code

user scope, or ./.mcp.json for a project

claude mcp add memos -s user -- npx -y @mem-os/sdk mcp

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Cursor

~/.cursor/mcp.json

npx -y @mem-os/sdk connect cursor --write

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json

npx -y @mem-os/sdk connect windsurf --write

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Cline

VS Code globalStorage · cline_mcp_settings.json

npx -y @mem-os/sdk connect cline --write

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

OpenCode

opencode.json (project or ~/.config/opencode)

npx -y @mem-os/sdk connect opencode --write

{
  "mcp": {
    "memos": {
      "type": "local",
      "command": ["npx", "-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Codex CLI

~/.codex/config.toml

npx -y @mem-os/sdk connect codex --write

[mcp_servers.memos]
command = "npx"
args = ["-y", "@mem-os/sdk", "mcp"]

Gemini CLI

~/.gemini/settings.json

npx -y @mem-os/sdk connect gemini --write

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Hermes Agent

~/.hermes/config.yaml

npx -y @mem-os/sdk connect hermes

mcp_servers:
  memos:
    command: "npx"
    args: ["-y", "@mem-os/sdk", "mcp"]
    protocol: auto
    trust: full

Kilo Code

kilo.json or ~/.config/kilo/kilo.json

npx -y @mem-os/sdk connect kilo --write

{
  "mcp": {
    "memos": {
      "type": "local",
      "command": ["npx", "-y", "@mem-os/sdk", "mcp"],
      "enabled": true
    }
  }
}

pi

~/.pi/agent/mcp.json

npx -y @mem-os/sdk connect pi --write

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

OpenClaw

~/.openclaw/openclaw.json

npx -y @mem-os/sdk connect openclaw

{
  "mcp": {
    "servers": {
      "memos": {
        "command": "npx",
        "args": ["-y", "@mem-os/sdk", "mcp"],
        "enabled": true
      }
    }
  }
}

Zed

~/.config/zed/settings.json

npx -y @mem-os/sdk connect zed

{
  "context_servers": {
    "memos": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

goose

~/.config/goose/config.yaml

npx -y @mem-os/sdk connect goose

extensions:
  memos:
    type: stdio
    cmd: "npx"
    args: ["-y", "@mem-os/sdk", "mcp"]
    enabled: true
    timeout: 300

Anything else

any stdio MCP client

npx -y @mem-os/sdk connect generic

{
  "mcpServers": {
    "memos": {
      "command": "npx",
      "args": ["-y", "@mem-os/sdk", "mcp"]
    }
  }
}

Full prerequisites, HTTP mode, and rollback steps live in llms-install.md. If you expose the Streamable HTTP transport beyond loopback, set MEMOS_API_KEY and terminate TLS in front of it.