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.