kiro-recall
Syncs memory to an Obsidian vault, rendering semantic facts, lessons, and episodic memories as Markdown files with wikilinks for graph navigation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kiro-recallWhat do you remember about me?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kiro-recall
A local MCP memory server for Kiro CLI that gives your AI assistant persistent, semantic memory across sessions.
Inspired by Kiro Crew's memory architecture — reimplemented as a lightweight, self-contained system using SQLite + Ollama embeddings, with Obsidian as the human-readable sync target.
What it does
Semantic memory — structured key-value facts (
pref.editor: Neovim,project.active: MyProject)Episodic memory — conversation fragments that decay over time (~23 day half-life)
Lessons — corrections and rules that override all other memory (highest priority)
Semantic recall — vector similarity search via Qwen3-Embedding (1024-dim, runs locally)
Obsidian sync — renders memory to markdown with
[[wikilinks]]for graph navigation
Related MCP server: tartarus-mcp
Architecture
┌──────────────────────────────────────────┐
│ Kiro CLI / any MCP client │
│ Tools: Remember, Recall, Learn, Forget │
└──────────────┬───────────────────────────┘
│ stdio (MCP protocol)
┌───────▼───────┐ ┌─────────────────┐
│ memory.db │ sync → │ Obsidian Vault │
│ (SQLite) │ │ (Markdown) │
└───────┬───────┘ └─────────────────┘
│
┌───────▼───────┐
│ Ollama │
│ qwen3-embed │
│ (localhost) │
└───────────────┘Requirements
Install
git clone https://github.com/fredluckham/kiro-recall.git
cd kiro-recall
bash install.shThe install script will:
Install Ollama (if not present) and start it as a service
Pull the
qwen3-embedding:0.6bmodelCreate a Python venv and install dependencies
Install the MCP server config into
~/.kiro/settings/mcp.jsonInstall the steering file to
~/.kiro/steering/obsidian-memory.mdOptionally seed memory from an existing Obsidian vault
Manual setup
If you prefer not to use the install script:#
# 1. Install Ollama and the embedding model
brew install ollama # or: curl -fsSL https://ollama.com/install.sh | sh
brew services start ollama
ollama pull qwen3-embedding:0.6b
# 2. Create venv and install deps
uv venv .venv
uv pip install "mcp[cli]>=1.0.0" "httpx>=0.27.0"
# 3. Copy to ~/.kiro/recall
mkdir -p ~/.kiro/recall
cp server.py db.py embed.py obsidian_sync.py ~/.kiro/recall/
# 4. Add to MCP config (see install.sh for the JSON patch)MCP Tools
Tool | Description |
| Store a fact, episode, or lesson |
| Semantic search across all memory |
| Store a high-priority correction/rule |
| Remove a memory by key or ID |
| Show counts, age, and decay health per memory tier |
| Hard-delete soft-deleted and fully decayed episodic rows |
Memory tiers
Tier | Priority | Decay | Use case |
Lessons | Highest | None | "Always use wikilinks", "Never assume region" |
Semantic | High | None (updated in place) | Structured facts about user/projects |
Episodic | Medium | exp(-0.03 × days) | Conversation fragments, decisions |
Key format
pref.*— User preferences (pref.theme,pref.voice,pref.editor)project.*— Active projects (project.active,project.stack)user.*— User facts (user.role,user.company,user.tools)
Obsidian sync
Run manually or via cron:
~/.kiro/recall/.venv/bin/python ~/.kiro/recall/obsidian_sync.pyOutputs:
Memory/Semantic.md— all facts grouped by prefixMemory/Lessons.md— corrections grouped by categorySessions/YYYY-MM-DD.md— today's episodic memories
Configuration
Set the Obsidian vault path via environment variable (prompted during install, saved to ~/.kiro/recall/.env):
export KIRO_MEMORY_VAULT="$HOME/Documents/Obsidian/My Vault"The default is ~/Documents/Obsidian/Kiro Knowledge Base.
Enable automatic Obsidian sync after every Remember or Learn call:
export KIRO_MEMORY_AUTOSYNC=1When disabled (default), sync runs manually or via cron. Auto-sync adds a small write overhead per call but keeps the vault always current.
The Ollama endpoint is set in embed.py:
OLLAMA_URL = "http://localhost:11434/api/embed"
MODEL = "qwen3-embedding:0.6b"License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceA local, fully-offline MCP memory server that enables persistent storage and retrieval of information using SQLite with both keyword and semantic vector search capabilities.107812MIT
- AlicenseNot gradedqualityCmaintenanceA local-first MCP memory server providing persistent, searchable memory for AI agents, powered by SQLite.51Apache 2.0
- AlicenseNot gradedqualityCmaintenanceA fully local, self-hosted memory server for MCP clients (Claude Code, Cursor, etc.) that provides persistent memory storage with semantic search, using local embeddings and a local Qdrant vector store.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that provides semantic memory with search, related-content traversal, and write-back capabilities, all powered by local embeddings of your notes, documents, and chat histories.14MIT
Related MCP Connectors
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fredluckham/kiro-recall'
If you have feedback or need assistance with the MCP directory API, please join our Discord server