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. It has been installed 0 times through Conduid.
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.
Ask AI
Ask AI about indra_db_mcp
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
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 mirrored from the source repository 3 months ago. The original is authoritative.