Connect Claude Code
Claude Code speaks remote MCP natively, so you point it at /mcp/sse directly — no shim, no npx for the runtime.
One-shot installer (recommended)
npx @azrtydxb/novamem-initAsks for the server URL + your dashboard email/password, mints a fresh nm_… bearer, detects Claude Code on your machine, and writes .mcp.json + the commands/ bundle + the CLAUDE.md fragment for you. Idempotent — won't clobber existing config.
The rest of this page is the manual path — useful when you're scripting deployments or want to see what novamem-init actually wrote.
Manual: project-local config
Drop a .mcp.json at your project root:
{
"mcpServers": {
"novamem": {
"type": "sse",
"url": "http://localhost:7778/mcp/sse",
"headers": { "Authorization": "Bearer nm_..." }
}
}
}Replace nm_… with the bearer you minted from the dashboard's API Tokens page. Claude Code picks the file up automatically when you open a session in that directory.
For a global default, put the same mcpServers block in ~/.claude/settings.json instead.
Bundled drop-in
This repo ships a ready-to-copy bundle at integrations/claude-code/ with:
commands/— slash commands like/remember,/recall,/today,/forgetCLAUDE.md— behaviour rules describing when to call each MCP tool
Install in one go:
cp /path/to/novamem/integrations/claude-code/.mcp.json ./
mkdir -p .claude/commands
cp -r /path/to/novamem/integrations/claude-code/commands/. .claude/commands/
cat /path/to/novamem/integrations/claude-code/CLAUDE.md >> CLAUDE.mdThe CLAUDE.md fragment is a fallback — the MCP server also ships the same behaviour rules via the protocol's instructions field on initialize, which Claude Code threads in automatically.
Verify
In a Claude Code session:
/mcpYou should see novamem listed with 15 tools (memory_* + project_*). Then ask:
Remember that I prefer pnpm over npm.
Claude should call memory_remember and confirm.
Troubleshooting
novamemnot listed → check the bearer is valid (curl -fsS -H "authorization: Bearer nm_..." http://localhost:7778/v1/me/tokens). A revoked token shows up as a 401, the SSE handshake silently drops it.- Tools listed but every call returns 401 → bearer was revoked or the user was deleted. Mint a new one.
- Connection refused → verify the server is reachable from where Claude Code runs (e.g. inside WSL,
localhostmaps differently).
Stdio fallback
If you need to point Claude Code at a host that can't reach the SSE endpoint directly, the stdio shim still works — see Other clients + Skills for the shim config.