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 projectclaude mcp add memos -s user -- npx -y @mem-os/sdk mcp
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}Cursor
~/.cursor/mcp.jsonnpx -y @mem-os/sdk connect cursor --write
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.jsonnpx -y @mem-os/sdk connect windsurf --write
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}Cline
VS Code globalStorage · cline_mcp_settings.jsonnpx -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.tomlnpx -y @mem-os/sdk connect codex --write
[mcp_servers.memos]
command = "npx"
args = ["-y", "@mem-os/sdk", "mcp"]Gemini CLI
~/.gemini/settings.jsonnpx -y @mem-os/sdk connect gemini --write
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}Hermes Agent
~/.hermes/config.yamlnpx -y @mem-os/sdk connect hermes
mcp_servers:
memos:
command: "npx"
args: ["-y", "@mem-os/sdk", "mcp"]
protocol: auto
trust: fullKilo Code
kilo.json or ~/.config/kilo/kilo.jsonnpx -y @mem-os/sdk connect kilo --write
{
"mcp": {
"memos": {
"type": "local",
"command": ["npx", "-y", "@mem-os/sdk", "mcp"],
"enabled": true
}
}
}pi
~/.pi/agent/mcp.jsonnpx -y @mem-os/sdk connect pi --write
{
"mcpServers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}OpenClaw
~/.openclaw/openclaw.jsonnpx -y @mem-os/sdk connect openclaw
{
"mcp": {
"servers": {
"memos": {
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"],
"enabled": true
}
}
}
}Zed
~/.config/zed/settings.jsonnpx -y @mem-os/sdk connect zed
{
"context_servers": {
"memos": {
"source": "custom",
"command": "npx",
"args": ["-y", "@mem-os/sdk", "mcp"]
}
}
}goose
~/.config/goose/config.yamlnpx -y @mem-os/sdk connect goose
extensions:
memos:
type: stdio
cmd: "npx"
args: ["-y", "@mem-os/sdk", "mcp"]
enabled: true
timeout: 300Anything else
any stdio MCP clientnpx -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.