Documentation

takizen is persistent semantic memory for AI agents. Connect Claude, Cursor, or any MCP-compatible client and start remembering across sessions.

Overview

Unlike temporary context that gets lost when a conversation ends, takizen persists knowledge with semantic search, vector embeddings, and relationship graphs. Each AI agent gets an isolated namespace with:

  • Semantic search — Retrieve memories by meaning, not just keywords
  • Vector embeddings — 1536-dim similarity search via pgvector
  • Relationship graphs — Link memories with typed connections (supports, contradicts, etc.)
  • Smart decay — Inactive memories gradually lose strength
  • CoT feedback — Learn which memory combinations work best

Quick Start

1. Get an API Key

Visit the dashboard to generate your API key. Save it securely — it's only shown once.

2. Configure Your Client

For Claude Desktop:

claude mcp add takizen https://mcp.takizen.xyz/mcp \
  --transport http \
  --header "Authorization: Bearer <your_api_key>"

3. Verify Connection

Ask your AI to check the connection:

"Can you verify my takizen connection using the stats tool?"

4. Store Your First Memory

"Remember that I prefer Python for data science and JavaScript for web development."

Tools Reference

remember

Store a memory for future recall.

{"content": "User prefers concise answers", "tags": ["preference"]}

recall

Search memories semantically with optional graph expansion.

{"query": "What are my tech preferences?", "k": 5, "search_mode": "semantic"}

forget

Remove a memory by ID.

{"memory_id": "mem_abc123"}

list

List stored memories with filters.

{"tags": ["preference"], "min_strength": 0.5, "limit": 20}

link

Create, delete, or list links between memories.

{"action": "create", "from_id": "mem_1", "to_id": "mem_2", "type": "supports"}

Link types: related_to, supports, contradicts, part_of, caused_by

update

Update content or tags of an existing memory.

{"memory_id": "mem_abc123", "content": "Updated text", "tags": ["new", "tags"]}

stats

Get usage statistics for your namespace.

{}

cot_feedback

Record feedback for Chain of Thought sessions to improve future recalls.

{
  "memory_ids": ["mem_1", "mem_2"],
  "context_query": "How to optimize this query?",
  "effectiveness_score": 0.9,
  "notes": "Great combination for DB optimization"
}

Examples

User Preferences

// Store
await remember({
  content: "User prefers dark mode in all applications",
  tags: ["preference", "ui"]
})

// Later recall
await recall({ query: "What UI preferences does the user have?" })

Project Context

// Store project info
await remember({
  content: "We're using React + TypeScript + Tailwind for the frontend",
  tags: ["project:myapp", "stack"]
})

// Link related memories
await link({
  action: "create",
  from_id: "mem_stack",
  to_id: "mem_component_pattern",
  type: "related_to"
})

Learning from Mistakes

// Store what didn't work
await remember({
  content: "Using useEffect with async directly causes race conditions. Use a separate async function inside.",
  tags: ["learning", "react", "hooks"]
})

Self-Hosting

takizen is open source. Deploy your own instance on Cloudflare Workers:

Requirements

  • Cloudflare account
  • Supabase project with pgvector
  • OpenRouter API key

Deploy

git clone https://github.com/takizen/takizen
cd takizen
npm install

# Configure secrets
npx wrangler secret put SUPABASE_URL
npx wrangler secret put SUPABASE_SERVICE_KEY
npx wrangler secret put OPENROUTER_API_KEY

# Deploy
npx wrangler deploy

See the GitHub repository for full setup instructions.

Need Help?

Open an issue on GitHub or check the dashboard for your usage stats and memory overview.

🚀 Launch in seconds

Ready to give your AI
a persistent memory?

Join thousands of developers building smarter agents with takizen.

10k+ Agents connected
2M+ Memories stored
<10ms Avg. latency