Tabula Scripta is a working memory system plugin for Claude Code that provides persistent, cross-session memory by integrating with Obsidian via the Model Context Protocol (MCP).
Before setting up Tabula Scripta, ensure you have:
- Obsidian - Download from obsidian.md
- Obsidian MCP Plugin - Install from aaronsb/obsidian-mcp-plugin
- Claude Code - The official Anthropic CLI for Claude
- Dataview Plugin - For structured note queries (highly recommended)
- Smart Connections Plugin - For semantic search capabilities (optional)
Create an Obsidian vault at ~/.claude-memory/:
mkdir -p ~/.claude-memory/claude/{projects,global}
mkdir -p ~/.claude-memory/claude/global/{entities,topics}Create the top-level index file:
cat > ~/.claude-memory/claude/_index.md << EOF
---
type: index
project: global
tags: [index, moc]
created: $(date +%Y-%m-%d)
updated: $(date +%Y-%m-%d)
status: active
---
# Claude Working Memory
This vault contains Claude's working memory across all projects and sessions.
## Structure
- **Projects** - Project-specific memories organized by repository
- **Global** - Cross-project knowledge and patterns
## Quick Links
- [[Projects MOC]]
- [[Global Entities]]
- [[Topics MOC]]
EOF- Launch Obsidian
- Choose "Open folder as vault"
- Select
~/.claude-memory/ - Obsidian will initialize the vault
Within Obsidian:
- Go to Settings > Community Plugins
- Disable Safe Mode (if enabled)
- Browse and install:
- Dataview (required for structured queries)
- Smart Connections (optional for semantic search)
- Enable both plugins after installation
Follow the obsidian-mcp-plugin setup instructions to:
- Install the MCP server component
- Configure the server to point to
~/.claude-memory/ - Start the MCP server
Add the Obsidian MCP server to your Claude Code configuration:
Location: ~/.config/claude-code/config.json (or platform-specific config location)
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/path/to/obsidian-mcp-plugin/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/Users/yourusername/.claude-memory"
}
}
}
}Important: Replace /path/to/obsidian-mcp-plugin/dist/index.js with the actual path to your installed MCP server, and update the vault path to match your home directory.
After updating the configuration:
# Restart Claude Code to pick up the new MCP server configurationConfirm the vault directory and structure were created correctly:
# Test 1: Verify vault directory exists
ls -la ~/.claude-memory/claude/
# Test 2: Verify index file was created
cat ~/.claude-memory/claude/_index.md
# Test 3: Verify project and global directories exist
ls -la ~/.claude-memory/claude/projects/
ls -la ~/.claude-memory/claude/global/Test that Claude Code can communicate with the Obsidian MCP server:
# In a Claude Code session, check that MCP tools are available
# You should see Obsidian operations like: create_note, read_note, update_note, search_notes- Open your
~/.claude-memory/vault in Obsidian - Confirm the folder structure appears in the file explorer
- Open
_index.mdand verify the frontmatter dates are populated correctly - Check that the vault is properly initialized
Problem: "MCP server not available" or connection errors
Solutions:
- Verify the Obsidian MCP plugin is running:
ps aux | grep obsidian-mcp - Check the MCP server logs for errors
- Confirm the vault path in config matches your actual vault location
- Restart both Obsidian and Claude Code
Problem: "Vault path does not exist" errors
Solutions:
- Verify vault exists:
ls -la ~/.claude-memory/ - Check permissions:
chmod -R u+rw ~/.claude-memory/ - Ensure the path in MCP config uses absolute paths (no
~expansion in some contexts)
Problem: Notes created via MCP don't show up in Obsidian UI
Solutions:
- Refresh the file explorer in Obsidian (click folder icon twice)
- Check if Obsidian has the vault open
- Verify the MCP server is writing to the correct vault path
- Look for the file directly in the filesystem to confirm it was created
Once setup is complete:
- Verify the foundation: Ensure the vault structure is correct and MCP is connected
- Explore your vault: Browse the
~/.claude-memory/folder in Obsidian - Wait for Phase 2: Additional features (commands, skills, automation) will be added in subsequent phases
- Obsidian MCP Plugin: https://github.com/aaronsb/obsidian-mcp-plugin
- Dataview Documentation: https://blacksmithgu.github.io/obsidian-dataview/
- Smart Connections: https://github.com/brianpetro/obsidian-smart-connections
- Zettelkasten Method: https://zettelkasten.de/overview/
- MOC Pattern: Maps of Content for knowledge organization
For issues specific to:
- Tabula Scripta plugin: Check this repository's issues
- Obsidian MCP plugin: https://github.com/aaronsb/obsidian-mcp-plugin/issues
- Obsidian itself: https://obsidian.md/community