Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.dcostenco/prism-coder

NPM · PRISM-MCP-SERVER · SCANNED SEP 21

Session memory for coding agents: local-first recall, drift detection, on-device inference.

Available components

−10 this week 79 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • No malware found by supply-chain analysis.Pass
  • Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
  • Install-script check failed: the install command fetches or executes arbitrary code (inline_eval). An install hook runs on every machine, in CI, and on transitive installs, whether or not you ever run the server. View diagnostics → Fail
  • Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to dcostenco/prism-coder). View diagnostics → Pass
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12351 tokens (~247/item across 50 items; 50 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "deep_storage_purge" implies "purge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 51 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.dcostenco/prism-coder MCP server?

io.github.dcostenco/prism-coder runs locally as an npm package, launched with npx -y prism-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · prism-mcp-server

# add to Claude Code
claude mcp add dcostenco-prism-coder -- npx -y prism-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "dcostenco-prism-coder": {
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "dcostenco-prism-coder": {
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add dcostenco-prism-coder -- npx -y prism-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dcostenco-prism-coder": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "prism-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dcostenco-prism-coder --command npx --arg -y --arg prism-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  dcostenco-prism-coder:
    command: "npx"
    args: ["-y", "prism-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "dcostenco-prism-coder": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add dcostenco-prism-coder -t stdio -c npx -a -y prism-mcp-server
// mcp.json
{
  "mcpServers": {
    "dcostenco-prism-coder": {
      "command": "npx",
      "args": [
        "-y",
        "prism-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Sept 26 −10
    • Stability: 0.90 → unverified security
    • Known CVEs: pass → unverified security
    • Tool safety: pass → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: 0.92 → unverified functional
    • Package version: 20.21.12 → 20.21.13 functional
  • 20 Sept 26 0
    • Known CVEs: pass → unverified security
    • Stability: 0.87 → unverified security
    • Tool safety: pass → unverified security
    • Dependency health: 0.92 → unverified functional
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Package version: 20.21.8 → 20.21.12 functional
    • Package version: 20.21.8 → 20.21.11 functional
    • Package version: 20.21.8 → 20.21.10 functional
  • 19 Sept 26 +1
    • Stability: 0.83 → unverified security
    • Tool safety: pass → unverified security
    • Malware scan: pass → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Package version: 20.21.6 → 20.21.8 functional
    • Package version: 20.21.6 → 20.21.7 functional
  • 18 Sept 26 +8
    • Known CVEs: unverified → pass security
    • Dependency health: unverified → 0.92 functional
    • Stability: pass → 0.83 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → unverified security
    • Tool safety: pass → unverified security
    • Known CVEs: unverified → pass security
    • Stability: 0.97 → pass security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: unverified → 0.92 functional
    • Package version: 20.21.0 → 20.21.6 functional
    • Package version: 20.21.0 → 20.21.5 functional
    • Package version: 20.21.0 → 20.21.4 functional
    • Package version: 20.21.0 → 20.21.3 functional
    • Package version: 20.21.0 → 20.21.2 functional
  • 16 Sept 26 +4
    • Known CVEs: pass → unverified security
    • Stability: 0.93 → unverified security
    • Tool safety: pass → unverified security
    • Malware scan: unverified → pass security
    • Dependency health: 0.92 → unverified functional
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Package version: 20.19.0 → 20.21.0 functional
    • Package version: 20.19.0 → 20.20.0 functional
  • 15 Sept 26 −14
    • Malware scan: pass → unverified security
    • Package version: 20.18.1 → 20.19.0 functional
  • 14 Sept 26 +13
    • Malware scan: unverified → pass security
    • Stability: pass → 0.90 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed npm/prism-mcp-server@20.21.13

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo dcostenco/prism-coder
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/dcostenco/prism-coder/.github/workflows/publish.yml@refs/tags/v20.21.13
Rekor log index 2904747514
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:92404fa05667cc2002f23c43945ab0567d8b6085b77cda407e8e83eeeebbf7ed899d528a2c2b01200b3da74b1fa77c534a9ab363db3cdd85aaf5ec519

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
postinstall dangerous node -e "import('./dist/postinstall.js').catch(()=>{})"

Background: Why install scripts are a supply-chain risk →

MCP tools · 50 exposed · ~11,333 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
api_analytics ~117

View API usage analytics per project or system-wide. Shows call counts, success rates, latency, token usage, top tools, and daily trends. **Scopes:** - `project` — Analytics for a specific project - `system` — System-wide aggregate analytics

NameTypeReqDescription
daysintegerNumber of days to analyze (default: 30).
projectstringProject identifier (required when scope='project').
scopestringyesAnalytics scope: 'project' for per-project, 'system' for global.

No output schema declared.

No examples provided.

backup_database ~168

Create, list, or restore SQLite database backups. **Actions:** - `create` — Create a new backup now - `list` — List available backups with sizes and ages - `restore` — Restore from a specific backup file - `configure` — Set backup schedule (hourly/daily/weekly) Backups are stored in ~/.prism/backups/ by default. Automatic retention pruning keeps only the configured maximum.

NameTypeReqDescription
actionstringyesBackup action to perform.
backup_pathstringPath to backup file (required for 'restore' action).
max_backupsintegerMaximum number of backups to retain (for 'configure' action). Default: 7.
schedulestringBackup schedule (for 'configure' action).

No output schema declared.

No examples provided.

brave_answers ~73

Returns direct AI answers grounded in Brave Search using Brave AI Grounding. Uses an OpenAI-compatible chat completions endpoint and is best for concise answer generation with live web grounding.

NameTypeReqDescription
modelstringModel name for Brave AI Grounding (default: brave)
querystringyesQuestion or prompt to answer

No output schema declared.

No examples provided.

brave_local_search ~127

Searches for local businesses and places using Brave's Local Search API. Best for queries related to physical locations, businesses, restaurants, services, etc. Returns detailed information including: - Business names and addresses - Ratings and review counts - Phone numbers and opening hours Use this when the query implies 'near me' or mentions specific locations. Automatically falls back to web search if no local results are found.

NameTypeReqDescription
countnumberNumber of results (1-20, default 5)
querystringyesLocal search query (e.g. 'pizza near Central Park')

No output schema declared.

No examples provided.

brave_local_search_code_mode ~173

Performs a local search using Brave APIs, and then runs a custom JavaScript code string against the RAW API RESPONSE in a secure QuickJS sandbox. This reduces context window usage by only returning the output of your script. Use this for local/business lookups when you only need specific fields from large local payloads. Your script should read the 'DATA' global variable (a JSON string payload) and use console.log() to print the desired output.

NameTypeReqDescription
codestringyesJavaScript code to execute against the 'DATA' variable.
countnumberNumber of results (1-20, default 5)
languagestringLanguage of the code. Only 'javascript' is supported.
querystringyesLocal search query (e.g. 'pizza near Central Park')

No output schema declared.

No examples provided.

brave_web_search ~126

Performs a web search using the Brave Search API, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports pagination, content filtering, and freshness controls. Maximum 20 results per request, with offset for pagination.

NameTypeReqDescription
countnumberNumber of results (1-20, default 10)
offsetnumberPagination offset (max 9, default 0)
querystringyesSearch query (max 400 chars, 50 words)

No output schema declared.

No examples provided.

brave_web_search_code_mode ~232

Performs a web search using the Brave Search API, and then runs a custom JavaScript code string against the RAW API RESPONSE in a secure QuickJS sandbox. This drastically reduces context window usage by only returning the output of your script. Use this for broad information gathering, recent events, or when you need diverse web sources and only need specific parts of the result. Your script should read the 'DATA' global variable (a JSON string of the API response), process it, and use console.log() to print the desired output.

NameTypeReqDescription
codestringyesJavaScript code to execute against the 'DATA' variable. E.g. `const r = JSON.parse(DATA); console.log(r.web.results.map(x => x.title).join(', '));`
countnumberNumber of results (1-20, default 10)
languagestringLanguage of the code. Only 'javascript' is supported.
offsetnumberPagination offset (max 9, default 0)
querystringyesSearch query (max 400 chars, 50 words)

No output schema declared.

No examples provided.

code_mode_transform ~362

A universal code-mode transformer. Takes RAW TEXT or JSON output from ANY MCP tool (GitHub, Firecrawl, chrome-devtools, camoufox, codegraphcontext, videoMcp, arxiv, etc.) and runs a custom JavaScript code string against it in a secure QuickJS sandbox. Use this as a second step after calling any tool that returns large payloads — pass the raw output as 'data' and a JS extraction script as 'code'. Your script reads the 'DATA' global variable (a string of the tool output) and uses console.log() to print only the fields you need. NEW in v2.1: Pass 'template' instead of 'code' for instant extraction. Available templates: github_issues, github_prs, jira_tickets, dom_links, dom_headings, api_endpoints, slack_messages, csv_summary. Example: { data: '<raw JSON>', template: 'github_issues' } — no custom code needed.

NameTypeReqDescription
codestringJavaScript code to execute. The 'DATA' global variable contains the raw data string. Use console.log() to output your extraction. Optional if using a template.
datastringyesThe raw text or JSON output from another MCP tool to process.
languagestringLanguage of the code. Only 'javascript' is supported.
source_toolstringOptional. Name of the MCP tool that produced the data (for logging/metrics only).
templatestringName of a pre-built extraction template. Use instead of writing custom 'code'. Options: github_issues, github_prs, jira_tickets, dom_links, dom_headings, api_endpoints, slack_messages, csv_summary.

No output schema declared.

No examples provided.

configure_notifications ~174

Configure real-time notifications for memory events via webhook, Slack, or email. **Actions:** - `status` — Show current notification configuration - `add_channel` — Add a notification channel (webhook/slack/email) - `remove_channel` — Remove a channel by URL - `test` — Send a test notification to all configured channels **Events:** health_degradation, compaction_complete, backup_complete, backup_failed, memory_threshold, new_graduated_insight, scheduler_error

NameTypeReqDescription
actionstringyesConfiguration action to perform.
channel_typestringChannel type (for add_channel).
channel_urlstringChannel URL (webhook endpoint, Slack webhook, or email relay).
min_severitystringMinimum severity to notify. Default: 'warning'.

No output schema declared.

No examples provided.

deep_storage_purge ~251

v5.1 Deep Storage Mode: Purge high-precision float32 embedding vectors for entries that already have TurboQuant compressed blobs, reclaiming ~90% of vector storage. Only affects entries older than the specified threshold (default: 30 days, minimum: 7). Entries without compressed blobs are NEVER touched. Use dry_run=true to preview the impact before executing. **When to use:** After running TurboQuant backfill (session_backfill_embeddings), call this tool to reclaim disk space from legacy float32 vectors that are no longer needed for search. **Safety:** Tier-2 search (TurboQuant) maintains 95%+ accuracy with compressed blobs. Tier-3 (FTS5 keyword) search is completely unaffected.

NameTypeReqDescription
dry_runbooleanIf true, reports eligible count and estimated byte savings without purging any data. Default: false.
older_than_daysintegerOnly purge entries older than this many days. Default: 30. Minimum: 7 (enforced). Entries younger than this threshold keep full float32 precision for Tier-1 native vector search.
projectstringOptional project filter. When omitted, purges across all projects.

No output schema declared.

No examples provided.

extract_entities ~134

Extract named entities from raw text using rule-based + optional LLM extraction. Automatically identifies technologies, file paths, decisions, TODOs, people, projects, and configuration values without explicit tagging. **Entity types:** PERSON, PROJECT, TECH, FILE, DECISION, TODO, CONFIG Use this to auto-enrich session context with structured metadata from raw conversation text.

NameTypeReqDescription
projectstringOptional project to auto-save extracted entities to.
textstringyesRaw text to extract entities from.
use_llmbooleanIf true, also uses local LLM for higher-quality extraction. Default: false.

No output schema declared.

No examples provided.

gemini_research_paper_analysis ~140

Performs in-depth analysis of research papers using Google's Gemini-2.0-flash model. Ideal for academic research, literature reviews, and deep understanding of scientific papers. Can extract key findings, provide critical evaluation, summarize complex research, and place papers within the broader research landscape. Best for long-form academic content that requires expert analysis.

NameTypeReqDescription
additionalContextstringOptional additional context or specific questions to guide the analysis
analysisTypestringType of analysis to perform (summary, critique, literature review, key findings, or comprehensive)
paperContentstringyesThe full text of the research paper to analyze

No output schema declared.

No examples provided.

inference_metrics ~138

Returns local-model inference metrics — call count, local vs cloud split, token totals, per-model breakdown, and average latency. period: 'session' (default) reports this MCP process's prism_infer delegation only. period: 'all' imports the Synalux VS Code panel spool and reports persisted MCP + panel usage across restarts, including the panel local-serve rate. This does not include the host model's (Claude's) own token spend (use /cost for that).

NameTypeReqDescription
periodstringMetrics window: 'session' (this MCP process) or 'all' (durable MCP + VS Code panel ledger).

No output schema declared.

No examples provided.

knowledge_downvote ~42

Downvote a memory entry to decrease its importance. Importance cannot go below 0.

NameTypeReqDescription
idstringyesThe UUID of the ledger entry to downvote.

No output schema declared.

No examples provided.

knowledge_forget ~260

Selectively forget (delete) accumulated knowledge entries. Like a brain pruning bad memories — remove outdated, incorrect, or irrelevant session entries to keep the knowledge base clean and relevant. Forget modes: - **By project**: Clear all knowledge for a specific project - **By category**: Remove entries matching a category (e.g. 'debugging') - **By age**: Forget entries older than N days - **Full reset**: Wipe everything (requires confirm_all=true) ⚠️ This permanently deletes ledger entries. Handoff state is preserved unless explicitly cleared.

NameTypeReqDescription
categorystringOptional: only forget entries in this category (e.g. 'debugging', 'resume').
clear_handoffbooleanAlso clear the handoff (live state) for this project. Default: false.
confirm_allbooleanSet to true to confirm wiping ALL entries for the project (safety flag).
dry_runbooleanIf true, only count what would be deleted without actually deleting. Default: false.
older_than_daysintegerOptional: only forget entries older than this many days.
projectstringProject to forget entries for. Required unless using confirm_all.

No output schema declared.

No examples provided.

knowledge_ingest ~219

Ingest source code or documentation into the knowledge graph. Feed your codebase to Prism so knowledge_search can retrieve it at inference time. Accepts raw source code, file paths, or a git repo URL. The content is chunked, Q&A pairs are generated, and stored in the knowledge graph. Use this when the user says 'learn this code', 'index my repo', or 'ingest this file'.

NameTypeReqDescription
chunk_sizenumberCharacters per chunk (default: 4000). Smaller chunks = more granular Q&A.
contentstringRaw source code or documentation text to ingest. Max 50,000 chars.
file_pathstringLocal file path to read and ingest. Alternative to providing content directly.
projectstringyesProject identifier for the knowledge namespace (e.g. 'my-backend', 'prism-aac').
source_labelstringHuman-readable label for the source (e.g. 'auth-middleware', 'payment-flow'). Used in search results.

No output schema declared.

No examples provided.

knowledge_search ~255

Search accumulated knowledge across all sessions by keywords, category, or free text. The knowledge base grows automatically as sessions are saved — keywords are extracted from every ledger and handoff entry. Use this to find related past work, decisions, and context from previous sessions. Categories available: debugging, architecture, deployment, testing, configuration, api-integration, data-migration, security, performance, documentation, ai-ml, ui-frontend, resume

NameTypeReqDescription
activationobjectConfiguration for ACT-R inspired Spreading Activation. Use this to find structurally related memories beyond direct semantic/keyword hits.
categorystringOptional category filter (e.g. 'debugging', 'architecture', 'ai-ml'). Filters results to sessions in this category.
enable_tracebooleanIf true, returns a separate MEMORY TRACE content block with search strategy, latency breakdown, and scoring metadata for explainability. Default: false.
limitintegerMaximum results to return (default: 10, max: 50).
projectstringOptional project filter. If omitted, searches across all projects.
querystringyesFree-text search query. Searched against session summaries using full-text search.

No output schema declared.

No examples provided.

knowledge_set_retention ~156

Set an automatic data retention policy (TTL) for a project's memory. Entries older than ttl_days will be soft-deleted (archived) automatically on every server startup and every 12 hours while running. **Use cases:** - Set `ttl_days: 90` to auto-expire sessions older than 3 months - Set `ttl_days: 0` to disable auto-expiry (default) **Note:** Rollup/compaction entries are never expired — only raw sessions.

NameTypeReqDescription
projectstringyesProject to set retention policy for.
ttl_daysintegeryesEntries older than this many days are auto-expired. Set to 0 to disable. Minimum: 7 days when enabled.

No output schema declared.

No examples provided.

knowledge_sync_rules ~252

Auto-sync graduated insights (importance >= 7) into your project's IDE rules file (.cursorrules or .clauderules). This bridges behavioral memory with static IDE context — turning dynamic agent learnings into always-on rules. **How it works:** 1. Fetches graduated insights from the ledger 2. Formats them as markdown rules inside sentinel markers 3. Idempotently writes them into the target file at the project's configured repo_path **Requirements:** The project must have a repo_path configured in the dashboard. **Idempotency:** Uses `<!-- PRISM:AUTO-RULES:START -->` / `<!-- PRISM:AUTO-RULES:END -->` sentinel markers. Running this tool multiple times produces the same file. User-maintained content outside the sentinels is never touched.

NameTypeReqDescription
dry_runbooleanIf true, returns a preview of the rules block without writing to disk. Default: false.
projectstringyesProject identifier. Must have a repo_path configured in the dashboard.
target_filestringTarget rules filename (default: '.cursorrules'). Common values: '.cursorrules', '.clauderules'.

No output schema declared.

No examples provided.

knowledge_upvote ~57

Upvote a memory entry to increase its importance (graduation). Entries with importance >= 7 become 'graduated' insights that always surface in behavioral warnings.

NameTypeReqDescription
idstringyesThe UUID of the ledger entry to upvote.

No output schema declared.

No examples provided.

local_savings ~260

Reports what prism's local serving displaced, in TOKENS: volume handled by a local model instead of the cloud, calls served locally vs routed, and a per-model breakdown. Reports tokens, never money — prism cannot know your host's current rates, which model a call would otherwise have used, or whether you are on a flat plan, so any dollar figure would be invented. period: 'all' (default, durable ledger), 'month'/'week' (trailing 30/7 days), or 'session' (this MCP process); 'days' sets a custom trailing window. Excludes refused calls and states its known undercounts inline.

NameTypeReqDescription
daysnumberCustom trailing window in days — overrides period (ledger views only).
periodstringWindow: 'all' (default), 'month' (trailing 30 days), 'week' (trailing 7 days), or 'session'.
scopestring'machine' (default) reads this machine's ledger. 'team' fetches the portal roll-up of workspace members who opted in to savings sync (paid plans).
workspace_idstringWorkspace for scope 'team'. Omit to use your only/default workspace.

No output schema declared.

No examples provided.

maintenance_vacuum ~153

Reclaim disk space after large purge operations by running VACUUM on the local SQLite database. Best called after `deep_storage_purge` removes many entries — SQLite reclaims page allocations only when explicitly vacuumed, so the file size stays the same until you call this tool. For remote (Supabase) backends, returns guidance on triggering maintenance via the dashboard. **Note:** On large databases this may take up to 60 seconds. The tool runs synchronously so you will know when it is safe to proceed.

NameTypeReqDescription
dry_runbooleanIf true, reports the current database file size without running VACUUM. Use this to preview how large the database is before committing to a full vacuum.

No output schema declared.

No examples provided.

memory_checkout ~94

Time travel! Restores the project's memory to a specific past version. This overwrites the current handoff state with the historical snapshot, like a Git revert — the version number moves forward (no data is lost). Call memory_history first to find the correct target_version.

NameTypeReqDescription
projectstringyesProject identifier to revert.
target_versionnumberyesThe version number to restore from history (get this from memory_history).

No output schema declared.

No examples provided.

memory_history ~83

View the timeline of past memory states for this project. Use this BEFORE memory_checkout to find the correct version to revert to. Shows version numbers, timestamps, and summaries of each saved state.

NameTypeReqDescription
limitnumberMaximum number of history entries to return (default: 10, max: 50).
projectstringyesProject identifier to view history for.

No output schema declared.

No examples provided.

onboarding_wizard ~173

Interactive setup wizard for new Prism users. Provides a step-by-step guided experience to get productive in under 3 minutes. **Actions:** - `start` (default when omitted) — Begin the wizard from step 1 - `next` — Advance past `step` (pass the step number you are on) - `status` — Check current wizard progress - `skip` — Skip to completion Each step returns instructions, code snippets, and progress percentage.

NameTypeReqDescription
actionstringWizard action to perform. Omitted = start.
ide_clientstringIDE client for config generation.
project_namestringOptional project name to use in setup examples.
stepintegerThe step_index from the previous response; used by `next` and `status`.

No output schema declared.

No examples provided.

prism_infer ~1,247

Run an inference on a local prism-coder model (Ollama) to save cloud tokens. Owns model selection across 27B / 9B / 4B / 2B using an explicit `model_ceiling` or the caller's `task_complexity`, then validates loaded memory size, model context, entitlements, installed models, and free RAM at call time. Falls through to the Synalux portal Gemini 3.6 Flash cloud fallback only when local is unviable or refused and the plan allows cloud; `cloud_fallback: false` forbids it. When `project` is provided, loads the dashboard-configured quick/standard/deep handoff and bounded history as untrusted historical context for a memory-aware local worker. Use this for code generation, summarisation, classification, or any synth task you would otherwise hand to the cloud model — it costs $0 when the local hit succeeds. For a FOLLOW-UP to an earlier prism_infer answer, pass the accepted prior turns as `messages` (paid plans): without them the worker answers the follow-up from nothing and fabricates. Every entitlement-resolved result reports `multi_turn` (your plan's caps) and `history_turns` (what was sent); the crisis intercept reports only `history_turns`. A behaviour-plan request also reports `clinical_sections` — how many required sections were found and which were not. That is a structural census, never a clinical endorsement: a section can be present and still be wrong, and a credentialed BCBA decides whether a plan is adequate. History over the plan's caps is refused (history_over_plan_cap), never trimmed; a free plan or a host with no portal is refused (multi_turn_not_in_plan). Hosts that compact large schemas may drop parameter text, so the contract lives here.

NameTypeReqDescription
allowed_toolsarrayTool names advertised to the route model; well-formed calls outside this list are suppressed in route mode. Default: Prism's seven trained routing tools.
cloud_fallbackbooleanSynalux portal cascade when local is unviable or refused. Omitted: the plan decides; false forbids it.
context_depthstringProject-memory depth; defaults to the dashboard setting when `project` is given.
conversation_idstringConversation id from session_bootstrap (telemetry, continuity).
escalationstring'serve' (default): safety refusals throw, gate-failed output may be served. 'report': every terminal path returns a structured gate_outcome; refused results come back as {status:'refused', output:''}…
evidencearraySnippets the output must be grounded in. With `verify: true`, every assertive claim (numbers, names, dates, codes, $ amounts) must be ENTAILED by a snippet or the draft is refused.
imagesarrayScreenshots or frames: absolute file paths or raw base64. Needs a vision-capable tier; tiers without vision are skipped, never shown the prompt without the image.
max_tokensnumberMax output tokens (default 1024, hard cap 8192).
messagesarrayPrior turns of THIS conversation, oldest first; `prompt` stays the current turn. Send only accepted turns, as a brief, not a transcript; text only. A paid Synalux plan feature: the plan sets turn and…
modestring'route' (default): MCP tool routing, fast, no thinking. 'chat': conversation, thinking on, cloud escalation on failure. 'code': code generation, thinking on, larger context. chat/code prefer the 27B…
model_ceilingstringLargest tier the picker may select; '9b' forbids 27B even if RAM allows.
projectstringPrism project whose dashboard-depth handoff and recent session memory go to the local worker as historical data.
promptstringyesThe user prompt.
route_guardstring'auto' (default): local advertised-tool contract plus, on paid plans, the private Synalux deterministic route correction. 'local': skips that correction only.
strict_entitlementsbooleanFail loud instead of running with ASSUMED free-tier limits: when entitlements fell back to free because the portal was unreachable (source='fallback_free'), throw instead of silently applying free cl…
systemstringSystem instruction prepended to the prompt.
task_complexitynumber1-10 workload hint prism_infer (not the task router) uses to pick the initial local tier and thinking mode; explicit model_ceiling/think win.
temperaturenumberSampling temperature; default 0 = deterministic.
thinkboolean<think> reasoning. Default true for chat/code, false for route; better on complex tasks, adds ~2-5s.
timeout_msnumberPer-call timeout override. Default by tier: 27B 120s, 9B 60s, 4B 20s, 2B 15s.
verifier_modelstringVerifier model override. Default qwen3.5:4b.
verifier_timeout_msnumberVerifier hard timeout override. Default 2000 ms.
verifybooleanL3 grounding verifier; default true when `evidence` is given. A second model (qwen3.5:4b by default) checks the draft against `evidence`; NEUTRAL or CONTRADICTED claims are refused.

No output schema declared.

No examples provided.

query_memory_natural ~243

Query memories using natural language instead of structured tool syntax. Searches Prism memory first. When memory has no useful result, paid tiers automatically run one quick Synalux web search, preserve the raw sources, and synthesize a grounded answer through prism_infer. Reserved or uncertain content is cloud-or-refuse and never sent through the local web-grounded path. **Examples:** - "What did we decide about authentication?" - "What's still open on the billing project?" - "What files did we change last week?" - "Show me recent work on the API" Returns the parsed intent, search results, and optionally an LLM-synthesized answer.

NameTypeReqDescription
conversation_idstringOptional session_bootstrap conversation id for inference telemetry and continuity.
projectstringOptional project scope for the query.
questionstringyesNatural language question about your memories.
synthesizebooleanIf true, use prism_infer to synthesize a grounded answer. Default: true.
web_fallbackbooleanIf true, use one paid Synalux web search when Prism memory has no useful evidence. Default: true.

No output schema declared.

No examples provided.

session_backfill_embeddings ~162

Repair ledger entries that are missing vector embeddings. This can happen if the Gemini API was temporarily unavailable when the entry was saved. How it works: 1. Scans for active ledger entries where embedding IS NULL 2. Generates embeddings via Gemini text-embedding-004 3. Patches each row with the generated embedding Run this periodically or after known API outages to ensure full semantic search coverage.

NameTypeReqDescription
dry_runbooleanIf true, only count missing embeddings without generating them. Default: false.
limitintegerMaximum entries to repair in one call (default: 20, max: 50). Keeps API costs predictable.
projectstringOptional: repair only a specific project. If omitted, repairs all projects.

No output schema declared.

No examples provided.

session_backfill_links ~160

Retroactively create graph edges (memory links) for all existing entries in a project. This builds the associative memory graph from your existing session history. Three strategies are run: 1. **Temporal Chaining**: Links consecutive entries within the same conversation 2. **Keyword Overlap**: Links entries sharing ≥3 keywords (bidirectional) 3. **Provenance**: Links rollup summaries to their archived originals All strategies use INSERT OR IGNORE — safe to re-run multiple times. **When to use:** Run once after upgrading to v6.0 to populate the graph for existing memories. New entries are auto-linked on save (no manual action needed).

NameTypeReqDescription
projectstringyesProject to backfill links for. Required.

No output schema declared.

No examples provided.

session_bootstrap ~349

IMPORTANT: On the first user turn of every conversation, including a greeting, call this tool exactly once before any user-facing response, passing the user's verbatim first message as {prompt: "<first user message>"}. The prompt is matched against prompt_keywords ON-DEVICE to load symptom-triggered skills on turn one; it is used for routing only and never leaves the machine. Pass {} only when there is no user message. Do not substitute session_load_context when this tool is available. This starts a Prism-backed conversation without host hooks. Prism reads the dashboard's Auto-Load Projects, Context Depth (quick/standard/deep), developer name, and default role, then returns the greeting and correctly scoped prior-session context. Emit no preamble. Print the complete tool result verbatim as the entire first-turn startup display, before any optional answer. Do not summarize, paraphrase, rename headings, reformat, or omit any returned section. Preserve its order and line content. For a greeting-only prompt, stop after the verbatim startup display. Do not guess or pass a project or depth. Prism returns a stable conversation_id on the trailing <prism_session /> line; reuse it for session_save_ledger, session_save_handoff, and session_detect_drift throughout this conversation without adding it to the visible greeting.

NameTypeReqDescription
conversation_idstringOptional stable key for this conversation. When omitted, Prism generates one and returns it on the trailing <prism_session /> line.
promptstringThe user's verbatim first message. Matched against prompt_keywords ON-DEVICE for symptom-triggered skill routing; it is never transmitted. Omit only when there is no user message.

No output schema declared.

No examples provided.

session_cognitive_route ~181

Resolve an HDC compositional state into a nearest semantic concept with policy-gated routing. Returns concept, confidence, distance, ambiguity, convergence steps, and route outcome. Use this for explainable cognitive recall decisions in v6.5.

NameTypeReqDescription
actionstringyesAction concept key used for transition binding.
clarify_thresholdnumberOptional route clarify threshold override (0 <= fallback < clarify <= 1).
explainbooleanIf true, include expanded explainability details in the response. Default: true.
fallback_thresholdnumberOptional route fallback threshold override (0 <= fallback < clarify <= 1).
projectstringyesProject identifier.
rolestringyesRole concept key used for transition binding.
statestringyesCurrent state concept key (e.g. 'State:ActiveSession').

No output schema declared.

No examples provided.

session_compact_ledger ~186

Auto-compact old session ledger entries by rolling them up into AI-generated summaries. This prevents the ledger from growing indefinitely and keeps deep context loading fast. How it works: 1. Finds projects with more entries than the threshold 2. Summarizes old entries using Gemini (keeps recent entries intact) 3. Inserts a rollup entry and archives the originals (soft-delete) Use dry_run=true to preview what would be compacted without executing.

NameTypeReqDescription
dry_runbooleanIf true, only preview what would be compacted without executing. Default: false.
keep_recentintegerNumber of recent entries to keep intact (default: 10).
projectstringOptional: compact a specific project. If omitted, auto-detects all candidates.
thresholdintegerMinimum entries before compaction triggers (default: 50).

No output schema declared.

No examples provided.

session_detect_drift ~585

Detect whether the current agent session has semantically drifted from its original goal. Scores recent ledger entries against the goal using synalux's HRR embedding stack (GloVe → Gemini/Voyage → cosine similarity), then runs the rolling-window drift detector algorithm. **Triggers:** - `goal-drift` — cumulative alignment loss is high and monotonic (not random tangents) - `context-collapse` — average output quality has dropped below floor **Pre-warning:** - `quality-degrading` — quality slope steeply negative before collapse **Returns:** drifted, reason, warning, drift_score (0..1), goal_alignment, quality_avg, sample_count, adaptive_threshold, recommendation. Use alongside GATE 5 (60-minute drift check): call this tool instead of session_cognitive_route for goal-alignment drift detection.

NameTypeReqDescription
assessment_typestringBCBA domain only: assessment instrument name (e.g. 'vb-mapp', 'vineland', 'ablls-r').
behavior_functionsarrayBCBA domain only: identified behavior functions for this client (e.g. ['escape-maintained', 'attention-maintained']).
client_descriptorsarrayBCBA domain only: client-specific terms to check for specificity (e.g. ['7-year-old', 'aggression at transitions']).
contraindicationsarrayBCBA domain only: known medical conditions (e.g. ['epilepsy', 'pica']).
conversation_idstringOptional. Session key (same id used in session_load_context). When provided, resets the server-side drift timer for this conversation.
domainstringOptional domain for domain-specific drift signals. 'coder' adds file_entropy, summary_vagueness, test_coverage_ratio, trajectory_divergence. 'bcba' adds clinical_specificity, function_aligned, contra…
goalstringyesThe original session goal — the task you started this session to accomplish. Used as the semantic reference vector. Be specific: 'implement drift detection for prism-mcp' is better than 'work on pris…
min_directional_rationumberDirectional ratio floor for the tremor filter (0..1). Random topic tangents that return to the goal are suppressed below this threshold. Default 0.2. Set to 0 to disable filter.
projectstringyesProject identifier. Must match the project used in session_save_ledger.
window_hoursnumberHow many hours of ledger history to evaluate. Default 1. Range 0.083–24 (5 min to 24 h).

No output schema declared.

No examples provided.

session_export_memory ~333

Export all of a project's memory to a local file. Fulfills GDPR Article 20 (Right to Data Portability) and the 'local-first' portability promise. **What is exported:** - All session ledger entries (summaries, decisions, TODOs, file changes) - Current handoff state (live project context) - System settings (API keys are "**REDACTED**" for security) - Visual memory index (descriptions, captions, timestamps; not the raw files) **Formats:** - `json` — machine-readable, suitable for import into another Prism instance - `markdown` — human-readable, ideal for static archiving - `vault` — Prism-Port: exports a compressed `.zip` of interrelated Markdown files with proper Obsidian/Logseq YAML frontmatter and `[[Wikilinks]]` ⚠️ Output directory must exist and be writable. Filenames are auto-generated: `prism-export-<project>-<date>.(json|md|zip)`

NameTypeReqDescription
formatstringExport format: 'json' (single file), 'markdown' (single human doc), 'vault' / 'obsidian' / 'logseq' (zip with wikilinked .md files + YAML frontmatter — drop into your PKM vault). Default: json.
output_dirstringyesAbsolute path to the directory where the export file(s) will be written. Must exist and be writable. Example: '~/Desktop'.
projectstringProject to export. If omitted, exports ALL projects into separate files.

No output schema declared.

No examples provided.

session_forget_memory ~236

Forget (delete) a specific memory entry by its ID. Supports two modes: - **Soft delete** (default): Tombstones the entry — it stays in the database for audit trails but is excluded from all search results. Reversible. - **Hard delete**: Permanently removes the entry from the database. Irreversible. Use only when GDPR Article 17 requires complete erasure. ⚠️ Soft delete is recommended for most use cases. The entry can be restored in the future if needed.

NameTypeReqDescription
hard_deletebooleanIf true, permanently removes the entry (irreversible). If false (default), soft-deletes by setting deleted_at timestamp. Soft-deleted entries are excluded from searches but remain in the database.
memory_idstringyesThe UUID of the memory (ledger) entry to forget. You can find this ID in search results returned by session_search_memory or knowledge_search.
reasonstringOptional GDPR Article 17 justification for the deletion. Examples: 'User requested', 'Data retention policy', 'Outdated information'. Stored alongside the tombstone for audit trail purposes.

No output schema declared.

No examples provided.

session_health_check ~157

Run integrity checks on the agent's memory (like fsck for filesystems). Scans for missing embeddings, duplicate entries, orphaned handoffs, and stale rollups. Checks performed: 1. **Missing embeddings** — entries that can't be found via semantic search 2. **Duplicate entries** — near-identical summaries wasting context tokens 3. **Orphaned handoffs** — handoff state with no backing ledger entries 4. **Stale rollups** — compaction artifacts with no archived originals Use auto_fix=true to automatically repair missing embeddings and clean up orphans.

NameTypeReqDescription
auto_fixbooleanIf true, automatically repair issues (backfill embeddings, remove orphaned handoffs). Default: false.

No output schema declared.

No examples provided.

session_load_context ~450

Load session context for a project using progressive context loading. Use this for an explicit project reload, or as a startup fallback only when session_bootstrap is unavailable. When session_bootstrap is available, do not substitute this tool for the first-turn bootstrap. Three levels available: - **quick**: Just the latest project state — keywords and open TODOs (~50 tokens) - **standard**: Project state plus recent session summaries and decisions (~200 tokens, recommended) - **deep**: Everything — full session history with all files changed, TODOs, and decisions (~1000+ tokens)

NameTypeReqDescription
conversation_idstringOptional. Session key for this conversation (same id used in session_save_ledger). When provided, marks the session as context-loaded server-side so project-scoped tools can verify working context wi…
levelstringHow much context to load: 'quick' (just TODOs), 'standard' (recommended — includes recent summaries), or 'deep' (full history). Omit to use the Prism dashboard's Context Depth setting (safe fallback:…
max_tokensintegerMaximum token budget for context response. Uses 1 token ≈ 4 chars heuristic. When set, the response is truncated to fit within the budget. Default: unlimited.
projectstringyesProject identifier to load context for.
promptstringOptional. User prompt text for keyword-triggered skill loading. When provided, the server matches against prompt_keywords in the routing table and loads additional skills. Fires on every call — enabl…
rolestringOptional. Agent role for Hivemind scoping (e.g., 'dev', 'qa', 'pm'). Omit to let the server auto-resolve from dashboard settings. When set, also injects active_team roster.
toolActionstringyesBrief 2-5 word summary of what this tool is doing. Capitalize like a sentence.
toolSummarystringyesBrief 2-5 word noun phrase describing what this tool call is about.

No output schema declared.

No examples provided.

session_route_prompt ~268

Call this at the START of any turn where the user states a NEW task, changes the kind of work, or reports a defect — passing their verbatim message as {prompt: "..."} and the skills you already have as {loaded: [...]}. session_bootstrap routes only the first turn of a conversation; this routes every turn after it, so a long session still picks up the skills its current work requires. The prompt is matched ON-DEVICE against the same table and the same account-scoped frontmatter triggers; it never leaves the machine. Calling it is cheap: when nothing new matches it returns a single line, and anything named in `loaded` is never returned again. When it does return skills, read and follow them before doing the work — they are the rules for the task at hand, not background. Skip it only for follow-ups within work you have already routed.

NameTypeReqDescription
loadedarraySkill names already active in this conversation, including those from the first-turn startup display. Anything listed here is never returned again, which is what keeps repeat calls free.
projectstringOptional project override. Omit to use the session's project.
promptstringyesThe user's verbatim message for this turn. Matched on-device; never transmitted.

No output schema declared.

No examples provided.

session_save_experience ~213

Record a typed experience event. Unlike session_save_ledger (flat logs), this captures structured behavioral data for pattern detection. Event Types: - **correction**: Agent was corrected by user - **success**: Task completed successfully - **failure**: Task failed - **learning**: New knowledge acquired - **validation_result**: Verification sandbox passed or failed

NameTypeReqDescription
actionstringyesWhat action was tried.
confidence_scoreintegerAgent's confidence in the outcome (1-100).
contextstringyesWhat the agent was doing when the event occurred.
correctionstringWhat should have been done instead (for correction type).
event_typestringyesType of behavioral event.
outcomestringyesWhat happened as a result.
projectstringyesProject identifier.
rolestringOptional. Agent role for Hivemind scoping. Omit to let the server auto-resolve from dashboard settings.

No output schema declared.

No examples provided.

session_save_handoff ~418

Upsert the latest project handoff state for the next session to consume on boot. This is the 'live context' that gets loaded when a new session starts. Calling this replaces the previous handoff for the same project (upsert on project). **v5.4 CRDT Merge**: On version conflict, a CRDT OR-Map engine automatically merges your changes with concurrent work (Add-Wins OR-Set for arrays, Last-Writer-Wins for scalars). Pass expected_version to enable concurrency control. **v0.4.0 OCC**: If you received a version number from session_load_context, /resume_session prompt, or memory resource attachment, you MUST pass it as expected_version to prevent overwriting another session's changes.

NameTypeReqDescription
active_branchstringGit branch or context the next session should resume on.
conversation_idstringOptional. Session key for this conversation (same id used in session_load_context). When provided, the server verifies that session_load_context was called for this conversation before accepting the…
disable_mergebooleanSet to true to disable automatic CRDT merging and fail strictly on version conflict (original OCC behavior). Default: false.
expected_versionintegerv0.4.0: The version number you received when loading context. Pass this to enable optimistic concurrency control. If omitted, version check is skipped (backward compatible).
key_contextstringFree-form critical context the next session needs to know.
last_summarystringSummary of the most recent session — used for quick context recovery.
open_todosarrayCurrent open TODO items that need attention in the next session.
projectstringyesProject identifier — must match the project used in session_save_ledger.
rolestringOptional. Agent role for Hivemind scoping (e.g., 'dev', 'qa', 'pm'). Omit to let the server auto-resolve from dashboard settings.

No output schema declared.

No examples provided.

session_save_image ~135

Save a local image file into the project's permanent visual memory. Use this to remember UI states, diagrams, architecture graphs, or bug screenshots. The image is copied into Prism's media vault and indexed in the handoff metadata. On the next session_load_context, the agent will see a lightweight index of available images.

NameTypeReqDescription
descriptionstringyesWhat does this image show? Used for indexing and context display.
file_pathstringyesAbsolute or relative path to the image file (png, jpg, jpeg, webp, gif, svg).
projectstringyesProject identifier — must match an existing project.

No output schema declared.

No examples provided.

session_save_ledger ~211

Save an immutable session log entry to the session ledger. Use this at the END of each work session to record what was accomplished. The ledger is append-only — entries cannot be updated or deleted. This creates a permanent audit trail of all agent work sessions.

NameTypeReqDescription
conversation_idstringyesUnique conversation/session identifier.
decisionsarrayOptional list of key decisions made during this session.
files_changedarrayOptional list of files created or modified during this session.
projectstringyesProject identifier (e.g. 'my-app', 'acme-api'). Used to group and filter sessions.
rolestringOptional. Agent role for Hivemind scoping (e.g., 'dev', 'qa', 'pm'). Omit to let the server auto-resolve from dashboard settings.
summarystringyesBrief summary of what was accomplished in this session.
todosarrayOptional list of open TODO items remaining after this session.

No output schema declared.

No examples provided.

session_search_memory ~273

Search session history semantically (by meaning, not just keywords). Uses vector embeddings to find sessions with similar context, even when the exact wording differs. Requires pgvector extension in Supabase. Complements knowledge_search (keyword-based) — use this when keyword search returns no results or when the query is phrased differently from stored summaries.

NameTypeReqDescription
activationobjectConfiguration for ACT-R inspired Spreading Activation. Use this to find structurally related memories beyond direct semantic/keyword hits.
context_boostbooleanIf true, appends current project and working context to the search query before embedding generation, naturally biasing results toward contextually relevant memories. Useful when searching within a s…
enable_tracebooleanIf true, returns a separate MEMORY TRACE content block with search strategy, latency breakdown (embedding vs storage), and scoring metadata. Default: false.
limitintegerMaximum results to return (default: 5, max: 20).
projectstringOptional: limit search to a specific project.
querystringyesNatural language search query describing what you're looking for.
similarity_thresholdnumberMinimum similarity score 0-1 (default: 0.7). Higher = more relevant, fewer results.

No output schema declared.

No examples provided.

session_synthesize_edges ~213

Step 3A Edge Synthesis: Scans recent project entries with embeddings, finds high-similarity but currently disconnected entries, and creates inferred links as 'synthesized_from'. **On-Demand Graph Enrichment**: Use this tool periodically to discover semantic relationships between structurally disconnected memory nodes. It batch processes the newest active entries.

NameTypeReqDescription
max_entriesintegerMaximum number of recent entries to scan as sources. Default: 50. Max cap: 50.
max_neighbors_per_entryintegerMaximum number of links to synthesize per source entry. Default: 3. Max cap: 5.
projectstringyesProject identifier.
randomize_selectionbooleanIf true, randomly sample active entries instead of taking the newest (default false). Ideal for wide-coverage background sweeps.
similarity_thresholdnumberMinimum cosine similarity score (0.0 to 1.0) to create a link. Default: 0.7.

No output schema declared.

No examples provided.

session_task_route ~330

Analyze a coding task and recommend whether it should be handled by the host cloud model or delegated to Prism's local memory-aware worker (Qwen3). The `claw` target value is retained for API compatibility. **How to use:** 1. Call this tool before delegating a bounded subtask 2. Read the `target` field in the response 3. If target is `claw`, call the returned `recommended_tool` (`prism_infer`) with `recommended_args` 4. If target is `host`, handle the task yourself Bounded high-complexity inference may still target `claw`; the forwarded 1-10 complexity selects 4B/9B/27B inside `prism_infer`. Architecture, security, host-tool workflows, and other reserved judgment remain on `host`. **v7.1.0/v7.2.0:** Uses deterministic keyword/scope heuristics. When a project is specified, routing is enhanced by analyzing past experience events (success/failure/correction) to adjust confidence scores based on historical outcomes.

NameTypeReqDescription
estimated_scopestringPre-categorize the task scope to improve routing accuracy. 'minor_edit' for small changes, 'new_feature' for scaffolding, 'refactor' for restructuring, 'bug_fix' for debugging.
files_involvedarrayExpected files to be created or modified by this task.
projectstringOptional project identifier for context-aware routing.
task_descriptionstringyesThe raw prompt or task description to analyze for routing.

No output schema declared.

No examples provided.

session_view_image ~85

Retrieve an image from visual memory using its ID. Returns the image as Base64 inline content for the LLM to analyze. Use session_load_context first to see available image IDs.

NameTypeReqDescription
image_idstringyesThe short image ID (e.g., '8f2a1b3c') from the visual memory index.
projectstringyesProject identifier.

No output schema declared.

No examples provided.

skill_manage ~144

Manage scoped skills and platform-skill activation. Actions: list (your skills, team skills, releases); delete (remove a user/team/local skill — the final content is archived locally first); release (deactivate a PLATFORM skill you never use, freeing host catalog budget — per user, or per team by admins); restore (re-activate a released platform skill; lossless).

NameTypeReqDescription
actionstringyes
namestringSkill name (all actions except list)
scopestringdelete: where the skill lives; release/restore: user (yourself) or team (admin)
workspace_idstringRequired for team scope

No output schema declared.

No examples provided.

skill_save ~262

Save a skill at one of three scopes: local (this machine only, works signed out), user (your account — follows you to every machine), or team (a workspace — delivered to its members; owner/admin only, optionally targeted with assign_to). Default when signed in is USER; team is never a default. Content must be a SKILL.md body with frontmatter (name, description). To make the skill load automatically when a prompt matches, add prompt_triggers to the frontmatter — a list of up to 5 case-insensitive regexes. They stay as private as the skill itself (matching happens on-device; scoped skills cannot use the public routing table): prompt_triggers: - "\\binvoice\\b.{0,20}\\bsubmit\\b"

NameTypeReqDescription
assign_toarrayTeam scope only (admin): deliver ONLY to these member user ids; omit for all members
contentstringyesFull SKILL.md content including frontmatter
namestringyesSkill name (lowercase letters, digits, - and _)
scopestringWhere the skill lives. Omit to default: user when signed in, local otherwise.
workspace_idstringRequired for team scope

No output schema declared.

No examples provided.

sync_pull_handoff ~102

Pulls this account's synced handoff for a project from the E2E relay and opens it with THIS machine's device key. The relay stores ciphertext only; a handoff is readable here only if it was sealed to this device. Requires handoff sync enabled (prism handoff enable), a paid plan, and a signed-in account. Push happens automatically on session_save_handoff.

NameTypeReqDescription
projectstringyesProject whose handoff to pull.

No output schema declared.

No examples provided.

verify_behavior ~171

Call BEFORE editing behavioral source files (API routes, ordering logic, billing, auth, migrations). Returns a domain-specific scenario you must answer to demonstrate understanding of the end-user impact. Example: editing a KDS route returns 'A cook has a 3-item ticket. One item is voided. What should the cook see?' Answer the scenario concretely before proceeding with the edit. If the MCP transport is unavailable, use the packaged `prism verify-behavior` CLI fallback; never fabricate a replacement scenario.

NameTypeReqDescription
change_summarystringyesBrief description of the intended change.
file_pathstringyesPath of the file about to be edited.
projectstringOptional project identifier for workspace-scoped scenarios.
workspace_idstringOptional workspace ID for custom scenarios.

No output schema declared.

No examples provided.

Common questions

What is the io.github.dcostenco/prism-coder MCP server?

io.github.dcostenco/prism-coder is an MCP server listed in the public MCP registry as io.github.dcostenco/prism-coder. Session memory for coding agents: local-first recall, drift detection, on-device inference. This page covers its npm package (prism-mcp-server).

Is the io.github.dcostenco/prism-coder MCP server safe to use?

io.github.dcostenco/prism-coder scores 79 out of 100 on VerifyMCP. It declares an install script we flagged as high risk. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.dcostenco/prism-coder MCP server expose?

io.github.dcostenco/prism-coder exposes 50 tools: brave_web_search, brave_web_search_code_mode, brave_local_search, brave_local_search_code_mode, code_mode_transform, and 45 more. Their descriptions and schemas cost roughly 11,333 tokens of context every time the server is loaded.

Is the io.github.dcostenco/prism-coder MCP server still maintained?

io.github.dcostenco/prism-coder is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.dcostenco/prism-coder MCP server under?

io.github.dcostenco/prism-coder declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.