OpenLore
Local code graph that gives coding agents task context and checks changes before they land
Local session memory, knowledge graph and Ollama-backed inference for coding agents
By Dmitri Costenco (individual) TypeScript Local · stdio Knowledge and memoryAI and MLDeveloper tools
48 popularity score ★ 156 ↓ 468/wk
Opens the app, which asks before it adds the server.
claude mcp add prism-coder -- npx -y prism-mcp-server{
"mcpServers": {
"prism-coder": {
"command": "npx",
"args": [
"-y",
"prism-mcp-server"
]
}
}
}{
"mcpServers": {
"prism-coder": {
"command": "npx",
"args": [
"-y",
"prism-mcp-server"
]
}
}
}{
"servers": {
"prism-coder": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"prism-mcp-server"
]
}
}
}[mcp_servers.prism-coder]
command = "npx"
args = ["-y", "prism-mcp-server"]gemini mcp add --scope user prism-coder npx -- -y prism-mcp-serverPRISM_STORAGE |
Optional: Storage backend: local, synalux, supabase or auto (default auto). |
|---|---|
PRISM_SYNALUX_API_KEY |
Optional: Paid Synalux portal key; unset means local-only. |
LOCAL_LLM_URL |
Optional: Ollama endpoint, default http://localhost:11434. |
BRAVE_API_KEY |
Optional: Brave Search key for the brave_* tools when no Synalux key is set. |
YDC_API_KEY |
Optional: Adds the youcom_web_search tool. |
PRISM_ENABLE_HIVEMIND |
Optional: true adds the agent_* multi-agent tools (off by default). |
PRISM_DARK_FACTORY_ENABLED |
Optional: false removes the Factory pipeline tools (on by default). |
PRISM_DASHBOARD_PORT |
Optional: Port of the local dashboard, default 3000. |
PRISM_FORCE_LOCAL |
Optional: true keeps local SQLite whatever credentials are set. |
PRISM_ACTR_ENABLED |
Optional: false turns off ACT-R ranking of memory search. |
PRISM_NO_UPDATE_CHECK |
Optional: 1 stops the daily npm update check. |
PRISM_DISABLE_HOOK_AUTOINSTALL |
Optional: 1 stops the server repairing hooks that prism connect installed. |
Prism Coder is a stdio MCP server, published on npm as prism-mcp-server, that keeps a coding agent's working memory between sessions. It records an append-only session ledger and a per-project handoff (current state, open TODOs, changed files), and loads that context back at the start of the next conversation through session_bootstrap. On top of that store it offers keyword, semantic and graph search over saved knowledge, version history with checkout of older memory states, an image vault, exports to Markdown, JSON or a zipped vault, and goal-drift detection. By default everything lives in a local SQLite database at ~/.prism-mcp/data.db.
The second half is local inference. The prism_infer tool sends bounded work (tool routing, chat, code) to Ollama models from the author's prism-coder family (2B, 4B, 9B and 27B, chosen by installed models and free RAM), and local_savings reports how many tokens were served locally instead of by the cloud model. A paid Synalux subscription adds cloud memory sync, Gemini fallback when a local answer fails its checks, web search through the portal, and team features. The package also installs a prism CLI whose connect command writes the server into Claude Code, Claude Desktop, Cursor, Gemini CLI and Codex settings.
The tool list depends on settings. In src/server.ts at v20.21.25, 49 tools are always registered (eight search and inference tools plus 41 memory tools); session_task_route and the three Factory pipeline tools are on by default, so a default start shows 53. The three agent_* Hivemind tools appear only with PRISM_ENABLE_HIVEMIND=true and youcom_web_search only when YDC_API_KEY is set, for at most 57.
| Runtime | Node.js |
|---|
Node.js with npm (the clients run it with npx, or install it globally with npm install -g prism-mcp-server). For local inference: Ollama plus at least one dcostenco/prism-coder model pulled (3.3 GB for 2b up to 16.8 GB for 27b). The brave_* search tools need BRAVE_API_KEY or a paid Synalux key. Cloud memory, Gemini fallback and team features need a Synalux subscription (Pro $15/month, Team $20/seat/month). The README's self-hosted full stack calls for a Mac M2 Pro or better (48 GB recommended) or Linux with an NVIDIA GPU.
Web search and scraping are not part of the free local tier. Multi-turn prism_infer needs a free Synalux account, and Gemini fallback, cloud sync and authenticated route correction need paid plans. The 27b model reads text only; image requests are refused when no installed tier can see images. The README's model accuracy figures come from the author's own tests. prism connect re-applies its subagent settings (Codex multi_agent off, Gemini enableAgents off, Claude Code subagent model pinned to sonnet) on every run, and the README warns the Gemini key may move and quietly stop working. Installing the plugin and running prism connect together registers the server twice.
Suits developers who move between Claude Code, Cursor, Codex or Gemini CLI and want project context, TODOs and decisions to carry over without a cloud account, especially those already running Ollama on a machine with enough RAM for the local models. The free tier keeps memory on the local disk. It is a large, opinionated system: it changes host subagent settings, adds hooks and exposes around 50 tools to the agent, so someone wanting a small key-value or notes memory server, or who will not let a tool edit their client configuration, should look for a lighter option. Teams needing shared memory across machines will need the paid Synalux tier.
session_bootstrapsession_route_promptskill_saveskill_managesession_save_ledgersession_save_handoffsession_load_contextknowledge_searchknowledge_forgetsession_compact_ledgersession_search_memorymemory_historymemory_checkoutsession_save_imagesession_view_imagesession_health_checksession_backfill_embeddingssession_forget_memoryknowledge_set_retentionsession_save_experienceknowledge_upvoteknowledge_downvoteknowledge_sync_rulesdeep_storage_purgesession_export_memorysession_backfill_linkssession_synthesize_edgessession_cognitive_routesession_detect_driftverify_behaviormaintenance_vacuumonboarding_wizardextract_entitiesapi_analyticsbackup_databaseconfigure_notificationsquery_memory_naturalknowledge_ingestinference_metricslocal_savingssync_pull_handoffprism_inferbrave_web_searchbrave_web_search_code_modebrave_local_searchbrave_local_search_code_modecode_mode_transformbrave_answersgemini_research_paper_analysissession_task_routesession_start_pipelinesession_check_pipeline_statussession_abort_pipelineagent_registeragent_heartbeatagent_list_teamyoucom_web_search