Titen Memory — Claude Code MCP server: what it does, how to install
Local agent memory engine powered by SQLite and FTS5 without external models or embedding APIs. Stores facts with clear source attribution and read access rules.
claude mcp add --env TITEN_MCP_URL=<TITEN_MCP_URL> --env TITEN_API_KEY=<TITEN_API_KEY> --transport stdio titen-memory -- npx -y titen-memoryWhat Titen Memory does
Titen writes agent records and knowledge graphs to a local SQLite database at ~/.titen/memory.db, or connects directly to Cloudflare D1. Lexical search relies on native FTS5 with stemming and ranked relevance. It makes zero LLM calls. No external vector providers are needed.
The server functions as an in-place alternative for @modelcontextprotocol/server-memory. It exposes the nine standard reference tools alongside ten dedicated titen_* actions while preserving tool schemas. When launched locally, it can read an existing memory.json store, and the built-in audit command inspects memory files for loops or exposed secrets.
Without Bun 1.2 or higher, the CLI halts immediately. The local setup runs over standard I/O in-process without outbound HTTP calls, though remote setups can be connected via TITEN_MCP_URL and TITEN_API_KEY.
What it helps with
- Store agent context and knowledge graphs locally in SQLite
- Retrieve project facts using FTS5 lexical ranking without embedding APIs
- Replace reference server-memory while migrating existing files
- Audit external memory dumps for duplicates, stale items, and exposed secrets
Example prompts for the agent
- Recall what we decided regarding the payment service architecture.
- Save a memory stating that this repository requires Bun 1.2 or newer.
- Search the knowledge graph for entities related to database migrations.
How to install Titen Memory
Platform CLI
claude mcp add --env TITEN_MCP_URL=<TITEN_MCP_URL> --env TITEN_API_KEY=<TITEN_API_KEY> --transport stdio titen-memory -- npx -y titen-memoryReplace <…> with your own values
Platform CLI
codex mcp add titen-memory --env TITEN_MCP_URL=<TITEN_MCP_URL> --env TITEN_API_KEY=<TITEN_API_KEY> -- npx -y titen-memoryReplace <…> with your own values
Config file
{
"mcpServers": {
"titen-memory": {
"command": "npx",
"args": [
"-y",
"titen-memory"
],
"env": {
"TITEN_MCP_URL": "<TITEN_MCP_URL>",
"TITEN_API_KEY": "<TITEN_API_KEY>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"titen-memory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"titen-memory"
],
"env": {
"TITEN_MCP_URL": "<TITEN_MCP_URL>",
"TITEN_API_KEY": "<TITEN_API_KEY>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e TITEN_MCP_URL=<TITEN_MCP_URL> -e TITEN_API_KEY=<TITEN_API_KEY> titen-memory npx -y titen-memoryReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Titen Memory
How do I install Titen Memory in Claude Code?
Run claude mcp add titen-memory -e TITEN_API_KEY=<TITEN_API_KEY> -- npx -y titen-memory, or connect to a remote endpoint via claude mcp add --env TITEN_MCP_URL=<TITEN_MCP_URL> --env TITEN_API_KEY=<TITEN_API_KEY> --transport stdio titen-memory -- npx -y titen-memory.
How does Titen Memory differ from the reference memory server?
Instead of substring filtering on a flat JSON file, Titen queries SQLite using ranked FTS5 lexical matching. It retains full schema compatibility with the nine reference tools.
What system dependencies are needed to run Titen locally?
The CLI strictly requires Bun version 1.2 or newer to execute. It has zero declared runtime dependencies in package.json and writes directly to a local database file.