Prism Coder

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

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add prism-coder -- npx -y prism-mcp-server
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "prism-coder": {
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "prism-coder": {
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "prism-coder": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.prism-coder]
command = "npx"
args = ["-y", "prism-mcp-server"]
Gemini CLITerminal
gemini mcp add --scope user prism-coder npx -- -y prism-mcp-server

Settings 12

PRISM_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.

What it does

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.

What it needs

RuntimeNode.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.

Limits

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.

Who it suits

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.

Tools 57

session_bootstrap
Loads configured project context and greeting on the first turn
session_route_prompt
Routes each later turn to matching skills and context
skill_save
Saves a skill at local, user or team scope
skill_manage
Lists or deletes scoped skills and toggles platform skills
session_save_ledger
Appends an entry to the immutable session log
session_save_handoff
Updates the project's latest state for the next session
session_load_context
Reloads a project's saved context on request
knowledge_search
Searches stored knowledge by keyword
knowledge_forget
Removes stale or wrong memories
session_compact_ledger
Condenses old ledger entries
session_search_memory
Semantic search over memory using embeddings
memory_history
Shows the version timeline of a project's memory
memory_checkout
Restores memory to an earlier version
session_save_image
Stores an image in the media vault
session_view_image
Retrieves an image from the vault
session_health_check
Checks the memory store for integrity problems
session_backfill_embeddings
Fills in missing embeddings
session_forget_memory
Deletes memory entries outright
knowledge_set_retention
Sets an expiry period for a project's entries
session_save_experience
Records a typed experience event
knowledge_upvote
Raises an entry's importance
knowledge_downvote
Lowers an entry's importance
knowledge_sync_rules
Writes graduated insights into IDE rules files
deep_storage_purge
Drops full-size embeddings for compressed entries
session_export_memory
Exports memory as Markdown, JSON or a zipped vault
session_backfill_links
Creates graph links between existing entries
session_synthesize_edges
Adds inferred semantic links to the graph
session_cognitive_route
Routes a concept through the HDC policy layer
session_detect_drift
Checks whether a session has drifted from its goal
verify_behavior
Checks a planned change against recorded behaviour via the portal
maintenance_vacuum
Reclaims SQLite disk space
onboarding_wizard
Runs first-time setup
extract_entities
Pulls named entities out of raw text
api_analytics
Reports per-project usage
backup_database
Backs up or restores the SQLite database
configure_notifications
Sets up webhook, Slack or email alerts
query_memory_natural
Answers a plain-language question from memory
knowledge_ingest
Chunks code and stores it with generated Q&A in the graph
inference_metrics
Shows local versus cloud delegation statistics
local_savings
Reports tokens served locally instead of by the cloud model
sync_pull_handoff
Pulls an end-to-end encrypted handoff from another machine
prism_infer
Runs routing, chat or code generation on local Ollama models
brave_web_search
Searches the web through Brave
brave_web_search_code_mode
Brave web search with a JavaScript extraction step
brave_local_search
Searches local businesses and places through Brave
brave_local_search_code_mode
Brave local search with a JavaScript extraction step
code_mode_transform
Post-processes tool output with a JavaScript snippet
brave_answers
Returns a search-grounded answer from Brave
gemini_research_paper_analysis
Analyses a research paper with Gemini
session_task_route
Suggests whether a task stays with the host or goes local (on by default)
session_start_pipeline
Starts a Factory implementation pipeline (on by default)
session_check_pipeline_status
Reports a Factory pipeline's progress
session_abort_pipeline
Stops a running Factory pipeline
agent_register
Registers an agent with the Hivemind team (PRISM_ENABLE_HIVEMIND=true)
agent_heartbeat
Reports an agent as alive to the Hivemind
agent_list_team
Lists agents in the Hivemind team
youcom_web_search
Searches the web through You.com (only with YDC_API_KEY)

Similar servers