About indra_db_mcp
indra_db_mcp is an MCP server published by git+moonstripe in the Data category: mCP server for indra_db - a content-addressed graph database for versioned thoughts.
Install
npx indra_db_mcpclaude mcp add indra-db-mcp -- npx -y indra_db_mcpnpx -y indra_db_mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (7)
indra_branchCreate, switch, or list branches
Parameters not published.
indra_diffCompare two points in history
Parameters not published.
indra_experimentQuick sandbox for exploring alternatives
Parameters not published.
indra_historySee how reasoning evolved
Parameters not published.
indra_rememberRecord reasoning, decisions, and insights
Parameters not published.
indra_searchFind past reasoning by meaning (or `"*"` for all)
Parameters not published.
indra_statusCheck current branch and entry count
Parameters not published.
Ask AI
Ask AI about indra_db_mcp
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
4 checks have not been run yet.
README
indra_db_mcp
Persistent memory for AI reasoning and decisions.
An MCP server that gives AI agents memory that persists across sessions. Built on indra_db — a git-like database for versioned thoughts.
The Problem
AI agents start fresh every session. Yesterday's insights evaporate. Decisions get re-made. Reasoning chains vanish.
indra_db_mcp changes that by giving agents:
- 🧠 Persistent memory — Record reasoning that survives session boundaries
- 🔍 Semantic search — Find past decisions by meaning, not keywords
- 🌿 Branching — Explore alternatives without losing the main thread
- 📜 History — See how understanding evolved over time
Quick Start
Install
No installation required — use bunx for automatic updates:
bunx -y indra_db_mcp@latest
Or install globally:
bun add -g indra_db_mcp
Configure Your Agent
Claude Code — Add to your project's CLAUDE.md:
@import node_modules/indra_db_mcp/INDRA_INSTRUCTIONS.md
Claude Desktop — Add to claude_desktop_config.json:
{
"mcpServers": {
"indra": {
"command": "bunx",
"args": ["-y", "indra_db_mcp@latest"]
}
}
}
OpenCode — Add to ~/.config/opencode/opencode.json:
{
"mcp": {
"indra": {
"command": ["bunx", "-y", "indra_db_mcp@latest"],
"type": "local"
}
},
"instructions": ["~/.config/opencode/instructions/indra.md"]
}
Then copy INDRA_INSTRUCTIONS.md:
mkdir -p ~/.config/opencode/instructions
curl -o ~/.config/opencode/instructions/indra.md \
https://raw.githubusercontent.com/moonstripe/indra_db_mcp/main/INDRA_INSTRUCTIONS.md
Generic MCP Client:
{
"mcpServers": {
"indra": {
"command": "bunx",
"args": ["-y", "indra_db_mcp@latest"],
"env": {
"INDRA_DB_PATH": "./.indra"
}
}
}
}
Tools
| Tool | Purpose |
|---|---|
indra_remember |
Record reasoning, decisions, and insights |
indra_search |
Find past reasoning by meaning (or "*" for all) |
indra_status |
Check current branch and entry count |
indra_branch |
Create, switch, or list branches |
indra_experiment |
Quick sandbox for exploring alternatives |
indra_history |
See how reasoning evolved |
indra_diff |
Compare two points in history |
Example Usage
An agent might use Indra like this:
User: Should I use PostgreSQL or MongoDB for my e-commerce app?
Agent thinking:
→ indra_search({ query: "database recommendations" })
→ Found: Previously recommended PostgreSQL for relational data with transactions
→ Making recommendation based on past reasoning + current context
→ indra_remember({
content: "Recommended PostgreSQL for e-commerce app. User has relational product
catalog, needs transactions for orders. Consistent with past guidance.",
id: "ecommerce-db-decision"
})
Later:
User: Why did you recommend PostgreSQL?
Agent:
→ indra_search({ query: "ecommerce database" })
→ Found the reasoning from the previous session
→ Can explain the decision with full context
Branching for Exploration
Agent: Let me explore an alternative approach...
→ indra_experiment({ name: "try-nosql-approach" })
[Explores MongoDB path, records reasoning]
→ indra_diff({ from: "main" }) // Compare with main reasoning
→ indra_branch({ action: "switch", name: "main" }) // Back to main
Environment Variables
| Variable | Description | Default |
|---|---|---|
INDRA_DB_PATH |
Path to database file | ./.indra |
INDRA_API_URL |
API for sync (optional) | https://api.indradb.net |
How It Works
- Content-addressed storage — Every entry is hashed. Identity comes from content.
- Local embeddings — Uses
sentence-transformers/all-MiniLM-L6-v2for semantic search. - Git-like versioning — Commits create snapshots. Branches enable parallel exploration.
- Single file — Everything in one
.indrafile. Easy to backup and share.
Architecture
┌─────────────────────────────────────────────────────────┐
│ MCP Client (Claude) │
└─────────────────────────┬───────────────────────────────┘
│ MCP Protocol (stdio)
┌─────────────────────────▼───────────────────────────────┐
│ indra_db_mcp (Bun) │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ MCP SDK │ │ IndraClient │ │ Auto-sync │ │
│ └─────────────┘ └──────┬───────┘ └───────────────┘ │
└──────────────────────────┼──────────────────────────────┘
│ CLI subprocess (JSON)
┌──────────────────────────▼──────────────────────────────┐
│ indra CLI (Rust) │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ Graph Store │ │ Embeddings │ │ Git-like VCS │ │
│ └─────────────┘ └──────────────┘ └───────────────┘ │
└─────────────────────────────────────────────────────────┘
Visualize on IndraDB
Push to IndraDB for 3D visualization and analytics:
indra login
indra remote add origin username/my-memory
indra push origin
License
MIT
Related
- indra_db — The underlying Rust database
- IndraDB — Web platform for visualization
- MCP Specification — Model Context Protocol docs
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.