Skip to main content
Glama

🧠 Prism Coder

🌐 Read in your language: 🇬🇧 English · 🇪🇸 Español · 🇫🇷 Français · 🇵🇹 Português · 🇷🇴 Română · 🇺🇦 Українська · 🇷🇺 Русский · 🇩🇪 Deutsch · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇨🇳 中文 · 🇸🇦 العربية

Persistent memory + tool-calling intelligence for AI agents. (formerly Prism MCP)

A Model Context Protocol server that gives Claude, Cursor, and other AI tools a Mind Palace — long-term memory that survives across sessions, with semantic search, cognitive routing, a visual dashboard, and the open-weights prism-coder:7b / prism-coder:14b LLM fleet for offline tool-calling (BFCL Gold Certified, 100 % JSON validity).

npm MCP Registry Smithery License: BUSL-1.1

Renamed in v14.0.0: the project is now Prism Coder to cover both the Mind Palace memory server and the prism-coder:7b / prism-coder:14b LLM fleet on HuggingFace + Ollama. The npm package stays prism-mcp-server so existing install URLs and mcp.json entries keep working — the prism-coder binary has been the canonical entry point since v12.


What Prism Coder does

💾 Your AI remembers across sessions

Every conversation feeds the Mind Palace. Next session, your AI agent loads the right context automatically — no re-explaining.

🔍 Semantic search over your history

Ask "what did I decide about the auth flow last month?" and get the answer with citations. Vector search + keyword + graph traversal.

🧬 Cognitive routing

Different memory types live in different stores: episodic (what happened), semantic (what's true), procedural (how to do X). The router picks where to store and where to retrieve.

🔄 Proactive session drift detection (new in v15)

Your AI agent can now detect when it has drifted from your original goals — mid-session, automatically — and self-correct before you notice the problem.

Three direct Prism calls:

  1. session_save_ledger — snapshot current state

  2. session_cognitive_route — compare current work against original goals, returns on_track / minor_drift / major_drift

  3. session_compact_ledger — if drifted, compress and reload only what matters

When major drift is detected, the alert routes to the Synalux portal so it's visible across sessions and devices — not just in the current conversation.

Real example it caught: A training session promised BFCL ≥90% for three AI models. The agent spent 3 hours debugging audio bugs instead. The drift check surfaced: "Training goal unmet. Layer3 corpus missing from all training sets. 0 BFCL scores measured." The session immediately re-aligned.

No scripts. No cron. No hooks. Three tool calls, Prism handles the rest.

🛡 Local-first

Free tier runs entirely on your machine — SQLite, local embedding model, no API keys, no cloud. Paid tier adds cloud sync via Synalux portal.

⚡ Zero-search retrieval

Holographic Reduced Representations (HRR) for instant similarity lookups without an index. ~5ms over 100K memories.

🌐 Multi-agent Hivemind

Multiple AI agents share the same Mind Palace. Each agent has a role (dev / qa / pm / etc.) and sees scoped context. Heartbeat + roster for coordination.


Related MCP server: Knowledge Graph MCP Server

Get started

# Install globally
npm install -g prism-mcp-server

# Or use npx (no install)
npx prism-mcp-server

Add to Claude Desktop / Cursor config:

{
  "mcpServers": {
    "prism": {
      "command": "npx",
      "args": ["-y", "prism-mcp-server"]
    }
  }
}

That's it. Open Claude / Cursor and your AI now has memory.

More setup details in docs/SETUP_GEMINI.md.


How AI agents use it

Tool

What it does

session_load_context

Recover prior session's state on boot

session_save_ledger

Append immutable session log entry

session_save_handoff

Save live state for the next session

knowledge_search

Semantic + keyword search over all memories

query_memory_natural

Natural-language Q&A over your Mind Palace

extract_entities

Pull people / projects / decisions from text

session_synthesize_edges

Auto-link related memories into a graph

(35+ tools total — full TypeScript signatures in src/tools/. Architecture overview in docs/ARCHITECTURE.md.)

The LLM context window is treated as ephemeral scratch space. All durable state lives in Prism's persistent store (SQLite / Supabase). Context compaction is a non-event.

Boot protocol — every session (including post-compaction) begins with a mandatory session_load_context call, enforced via CLAUDE.md. The agent is fully oriented before writing a single byte of response.

Two persistent stores:

  • session_save_ledger — immutable append-only work log (decisions, files changed, summaries)

  • session_save_handoff — versioned live-state snapshot (current task, TODOs, open context)

Ledger compaction (session_compact_ledger) — when a project exceeds a threshold (default: 50 entries), Prism summarizes old entries via LLM into a rollup row, soft-archives originals, and links them via spawned_from graph edges. Runs on a 12-hour background scheduler.

→ Full details: docs/COMPACTION.md


Plans

Free (local)

Paid (Synalux portal)

Local SQLite memory

Semantic search

✅ (local embedding)

✅ (cloud-backed)

Cross-device sync

Hivemind multi-agent

✅ local team

✅ + cloud roster

Auto-Scholar (web research → memory)

HRR Zero-Search retrieval

Custom domains / SSO

Enterprise

The thin-client architecture: when authenticated to Synalux, Prism Coder routes through the portal for paid features. When not authenticated (or PRISM_FORCE_LOCAL=1), runs purely local. Same binary.

Pricing →


What you can build with it

  • Persistent coding assistant that remembers your codebase, your decisions, your team's conventions

  • Research agent that builds knowledge over time — Auto-Scholar pipeline ingests papers / docs and synthesizes

  • Clinical scribe that retains patient context across visits (HIPAA-compliant cloud + local)

  • Customer support agent that learns from every ticket

  • Writing assistant that knows your voice, your prior drafts, and what you've already published


Companions

Synalux — VS Code Extension

Memory-augmented AI inside VS Code, backed by Prism. 20 multimodal tools, multi-agent orchestration, 12-language support. Works offline (Ollama) or cloud (OpenRouter). HIPAA-compliant healthcare workflows.

VS Marketplace

# Install from terminal
code --install-extension synalux-ai.synalux

Or open VS Code → Extensions (⇧⌘X) → search "Synalux" → Install.

PrismAAC

AAC communication app for non-speaking users. Powered by Prism's spreading-activation phrase ranking + on-device 7B model. macOS / iOS / Android via web. → github.com/dcostenco/prism-aac


🆕 Prism as Foundation (v14.0.0)

As of v14.0.0, Prism's algorithm exports are a stable public contract under SemVer. External systems can port actrActivation.ts (ACT-R cognitive decay), spreadingActivation.ts (the 0.7 similarity + 0.3 activation hybrid score), routerExperience.ts (experience bias with MIN_SAMPLES=5 cold-start gate), compactionHandler.ts (the 25KB prompt-budget cap), and graphMetrics.ts (warning ratios) with citations and pin a Prism version.

Reference consumers

Consumer

What it uses from Prism

Audit hooks framework

ACT-R decay (d=0.25 lesson rate), spreading activation hybrid score (0.7/0.3), experience bias (MIN_SAMPLES=5, MAX_BIAS_CAP=0.15), graph-metrics warning ratios (0.20 / 0.30 / 0.40), compaction's 25KB prompt-budget. 327 tests pin every constant — CI catches divergence automatically.

PrismAAC

Spreading-activation phrase ranking (recency × frequency × per-user history). Caregiver corrections auto-harvest into the personalization corpus via the audit-hooks postflight harvester. The on-device 7B model + this algorithm stack is what makes PrismAAC defensible.

Synalux portal

Tier-aware model routing using experience bias on prior outcomes per fingerprint. HIPAA-compliant clinical scribe with on-device-first privacy guarantees.

See docs/WOW_FEATURES.md for the algorithm catalogue. Release notes in docs/releases/v14.0.0-prism-as-foundation.md.


Detailed docs in this repo:

The original 1933-line README is preserved in git history. To browse the prior version (full feature catalog, Cognitive Architecture v7.8, Autonomous Cognitive OS v9.0, HRR Zero-Search, Adversarial Evaluation walkthroughs, Universal Import patterns, competitive analysis vs LangMem/MemGPT/Letta/Zep, v12.5 Unified Billing details, v11.6 Hivemind, v11.5.1 Auto-Scholar): git show HEAD~1:README.md.


License

BUSL-1.1 — Business Source License. Free for non-production use. Production use requires a Synalux subscription or commercial license. After 2 years, converts to MIT.

Available Tools

43 tools
api_analyticsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyze (default: 30).
scopeYesAnalytics scope: 'project' for per-project, 'system' for global.
projectNoProject identifier (required when scope='project').

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It implies a read-only operation ('View') and lists data provided. It does not mention side effects, auth, or rate limits, but for a simple query tool, it is fairly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences plus a bullet list, front-loaded with key information. Every part adds value with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description specifies the metrics returned (call counts, success rates, latency, etc.), which is adequate for tool selection. It does not detail output format but covers expectations well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all parameters already described. The description adds context for scope values and project identifier but does not significantly enhance understanding beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'View API usage analytics per project or system-wide' and lists the specific metrics (call counts, success rates, latency, token usage, top tools, daily trends). It distinguishes between project and system scopes, making the purpose clear and differentiating from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description details two scopes ('project' and 'system') with clear distinctions, guiding when to use each. However, it does not explicitly mention when not to use the tool or provide alternatives, though no direct siblings exist for analytics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

backup_databaseA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesBackup action to perform.
scheduleNoBackup schedule (for 'configure' action).
backup_pathNoPath to backup file (required for 'restore' action).
max_backupsNoMaximum number of backups to retain (for 'configure' action). Default: 7.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the burden of disclosing behavior. It mentions storage location and retention pruning but does not clarify whether restore is destructive, authentication needs, or error conditions. This is adequate but lacks detail for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at about 70 words, using a bullet list for actions. It is front-loaded with the main purpose. Could be slightly tighter but no significant waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no annotations, the description covers the essential actions, storage path, and retention policy. It mentions that 'list' returns sizes and ages, which is helpful. It is reasonably complete for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all four parameters described. The description adds brief context for each action (e.g., 'Create a new backup now') but does not substantially extend beyond the schema meanings. Baseline 3 is appropriate since schema already documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is for creating, listing, or restoring SQLite database backups. It then lists each action with a one-line explanation, making the purpose specific and distinct from unrelated sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly conveys that the tool is for backup operations, but it does not provide explicit guidance on when to use it versus alternatives, nor does it mention prerequisites or when not to use it. Given the sibling tools are unrelated, the lack of explicit guidelines is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brave_answersB

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel name for Brave AI Grounding (default: brave)brave
queryYesQuestion or prompt to answer

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It discloses the use of an OpenAI-compatible endpoint and live web grounding, but fails to mention any behavioral traits like rate limits, authorization requirements, or whether the operation is read-only. The description is insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences, with no filler. It front-loads the core purpose and immediately explains the technical mechanism.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain the return format or structure of the answer. It does not, leaving agents uncertain about what to expect. The description is adequate for a very simple tool but incomplete for full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (query and model) adequately described in the schema. The tool description adds minimal value beyond restating that it uses AI grounding, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns direct AI answers grounded in Brave Search, using an OpenAI-compatible endpoint. It distinguishes from sibling search tools like brave_web_search by emphasizing answer generation rather than raw results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it is 'best for concise answer generation with live web grounding,' which implies a specific use case. However, it does not explicitly state when not to use it or suggest alternatives, leaving some ambiguity about when to choose this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brave_local_search_code_modeA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript code to execute against the 'DATA' variable.
countNoNumber of results (1-20, default 5)
queryYesLocal search query (e.g. 'pizza near Central Park')
languageNoLanguage of the code. Only 'javascript' is supported.javascript

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, description fully discloses behavior: performs search, runs JS in QuickJS sandbox, returns only script output. It explains the purpose of reducing context. It does not mention rate limits or authentication, but for a search tool this is acceptable. The sandbox and script execution are clearly described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is 4 sentences, front-loaded with the main action, followed by usage guidance and script instructions. Every sentence provides value with no redundant information. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool combines search and code execution, and the description covers the main workflow and intent. It lacks details on error handling or script failure behavior, but it mentions the sandbox and output mechanism. Given the complexity and absence of output schema, it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds context for 'code' parameter by mentioning 'DATA' variable and console.log, and gives a query example. But overall it doesn't add significant meaning beyond the schema's own descriptions. The language parameter is explicitly noted as only supporting JavaScript.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states that the tool performs a local search via Brave APIs and runs custom JS on the raw response, reducing context window usage. It distinguishes itself from siblings like 'brave_local_search' and 'brave_web_search_code_mode' by specifying 'local search' and 'code mode'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'local/business lookups when you only need specific fields from large local payloads.' It implies not to use when full payload is needed. Provides instructions on how to write the script (read DATA global, use console.log). However, it does not explicitly mention when not to use or alternatives beyond the use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brave_web_search_code_modeA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript code to execute against the 'DATA' variable. E.g. `const r = JSON.parse(DATA); console.log(r.web.results.map(x => x.title).join(', '));`
countNoNumber of results (1-20, default 10)
queryYesSearch query (max 400 chars, 50 words)
offsetNoPagination offset (max 9, default 0)
languageNoLanguage of the code. Only 'javascript' is supported.javascript

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adequately explains the sandbox execution, the DATA variable, and console.log output. It mentions 'secure QuickJS sandbox' but does not detail error behavior, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two paragraphs: first explains functionality, second gives usage guidance and a code example. No superfluous content; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of executing custom code, the description covers the core workflow and distinguishes from plain search. It lacks details on output format and error handling, but provides enough context for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by providing a concrete JavaScript example for the 'code' parameter and explaining the 'DATA' variable, which goes beyond the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs a web search and then executes custom JavaScript on the raw response, distinguishing it from plain search tools. It gives a specific use case ('broad information gathering... needing specific parts of the result') which differentiates it from siblings like brave_web_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use (broad information gathering, recent events, needing specific parts) and implies when not to (for full results, use non-code version). However, it does not explicitly mention sibling names or provide contraindications.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_mode_transformA

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: '', template: 'github_issues' } — no custom code needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoJavaScript code to execute. The 'DATA' global variable contains the raw data string. Use console.log() to output your extraction. Optional if using a template.
dataYesThe raw text or JSON output from another MCP tool to process.
languageNoLanguage of the code. Only 'javascript' is supported.javascript
templateNoName 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.
source_toolNoOptional. Name of the MCP tool that produced the data (for logging/metrics only).

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It details the secure sandbox, the DATA global variable, console.log output, and template usage. It does not explicitly state non-destructive behavior, but the processing nature is implied. Good but not exhaustive on side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long but well-structured. It front-loads the main purpose, then explains usage, then introduces new features. Every sentence adds information, though minor redundancy could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 5 parameters, the description covers the usage pattern, parameter roles, and template options. Missing explicit output format or error behavior, but overall sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but description adds value: explains how 'code' interacts with 'data' via the DATA global, introduces templates as an alternative to 'code', and clarifies the role of 'source_tool' for logging. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'A universal code-mode transformer' that takes raw text/JSON from any MCP tool and runs custom JavaScript or uses templates for extraction. It differentiates from sibling tools like brave_local_search_code_mode by being universal, explicitly listing many source tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'Use this as a second step after calling any tool that returns large payloads'. Provides clear when-to-use context, mentions templates for common cases, and alternatives (custom code vs template).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_notificationsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesConfiguration action to perform.
channel_urlNoChannel URL (webhook endpoint, Slack webhook, or email relay).
channel_typeNoChannel type (for add_channel).
min_severityNoMinimum severity to notify. Default: 'warning'.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral traits. It fails to disclose side effects (e.g., persistence of configuration, idempotency, rate limits, authentication requirements, or what happens on channel removal). The actions are listed but their behavioral implications are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear purpose sentence followed by a bulleted list of actions and events. It is front-loaded and each sentence contributes meaning without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and zero annotations, the description covers the actions and events adequately but lacks behavioral completeness. Information about return values, persistence, or error handling is absent, leaving gaps for a configuration tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds an overview of actions and events but does not enhance parameter meaning beyond what the schema provides. The description's extra context on events adds minor value, so score is baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures real-time notifications for memory events via webhook, Slack, or email. It lists specific actions and events, making its purpose unambiguous and distinct from sibling tools, none of which relate to notification configuration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear actions (status, add_channel, remove_channel, test) that an agent can use to decide which operation to perform. However, it does not explicitly state when to use this tool versus alternatives or include prerequisites, though the context (no sibling notifications tools) supports implicit usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep_storage_purgeA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, reports eligible count and estimated byte savings without purging any data. Default: false.
projectNoOptional project filter. When omitted, purges across all projects.
older_than_daysNoOnly 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.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully discloses conditions: never touches entries without compressed blobs, default/minimum thresholds, safety notes on accuracy and unaffected search tiers, and reclaim percentage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections, bold key terms, and no superfluous sentences. Every sentence adds value, including safety and usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description explains expected behavior, preview with dry_run, and impact on storage and search. Covers all needed context for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters (100%), and description adds context: default values, minimum enforcement, dry_run behavior, and project filter omission meaning. Adds significant meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool purges high-precision float32 embedding vectors for entries with TurboQuant compressed blobs, specifying the exact resource and action. It distinguishes from siblings by focusing on post-backfill space reclamation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: after TurboQuant backfill (session_backfill_embeddings). Also mentions dry_run for previewing impact, giving clear context for safe execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_entitiesA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesRaw text to extract entities from.
projectNoOptional project to auto-save extracted entities to.
use_llmNoIf true, also uses local LLM for higher-quality extraction. Default: false.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility. It explains the extraction methods (rule-based + optional LLM) and auto-save behavior, but lacks details on potential side effects, performance implications, or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two paragraphs that efficiently convey the tool's action and use. It is front-loaded and every sentence adds value, though minor trimming is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers entity types and basic behavior, but lacks details about return values (no output schema) and does not mention edge cases or error handling. For a tool with 3 parameters, it is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds context about entity types and overall purpose, but doesn't significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts named entities from raw text, listing specific entity types (PERSON, PROJECT, TECH, etc.). It effectively distinguishes itself from siblings, none of which offer similar functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: auto-enrich session context. While it doesn't explicitly mention when not to use or alternatives, the sibling tools are mostly unrelated, making the guidance sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gemini_research_paper_analysisA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
analysisTypeNoType of analysis to perform (summary, critique, literature review, key findings, or comprehensive)comprehensive
paperContentYesThe full text of the research paper to analyze
additionalContextNoOptional additional context or specific questions to guide the analysis

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It names the model (Gemini-2.0-flash) and enumerates capabilities (extract findings, critique, etc.) but lacks details on output format, token limits, cost, or any limitations. This provides moderate transparency but leaves important behavioral aspects unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no filler. It front-loads the main action and immediately conveys core purpose. Every sentence adds value, making it efficient for an AI agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description fails to explain what the tool returns (e.g., text response, structured data). It also omits prerequisites like paper length limits or document format requirements. For a tool with three parameters and no output schema, this omission leaves the agent without a complete picture of the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all three parameters. The description does not add any extra meaning or context beyond what's in the schema (e.g., explaining enum values or how to use additionalContext). Per guidelines, baseline 3 is appropriate when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs in-depth analysis of research papers using Gemini-2.0-flash, listing specific capabilities like extracting key findings, critical evaluation, and summarization. It distinguishes itself from sibling tools, which are unrelated (e.g., backup, search, memory), making the purpose unique and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: 'Ideal for academic research, literature reviews, and deep understanding of scientific papers' and 'Best for long-form academic content that requires expert analysis.' However, it does not explicitly state when not to use it or mention alternatives, which is acceptable given no direct sibling competitor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inference_metricsA

Returns the current session's local-model inference metrics — call count, local vs cloud split, token totals, per-model breakdown, and average latency. Read-only, no arguments. Reflects prism_infer delegation usage only, not the host model's (Claude's) own token spend (use /cost for that).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It explicitly states 'Read-only, no arguments' and clarifies that it reflects prism_infer delegation usage only. This provides sufficient behavioral disclosure beyond what annotations would supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first lists the returned metrics, the second clarifies scope and exclusions. It is concise, front-loaded, and every sentence adds value with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although no output schema exists, the description enumerates the types of metrics returned (call count, split, token totals, per-model breakdown, latency). This provides reasonable completeness for a read-only metrics tool, though a brief note on response format would slightly improve it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so baseline is 4. The description does not need to add parameter meaning, and it appropriately explains that no arguments are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns inference metrics for the current session, listing specific metrics (call count, local vs cloud split, token totals, per-model breakdown, average latency). It distinguishes itself by explicitly noting what it does not cover (Claude's own token spend), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (to get inference metrics) and what not to use it for (host model's token spend, directing to /cost instead). However, it does not explicitly mention when-not or alternative sibling tools, though the only related sibling is prism_infer, which is different.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_downvoteA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe UUID of the ledger entry to downvote.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the main effect and a constraint (minimum 0), but does not mention error conditions, idempotency, or what happens when already at 0. No annotations to supplement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise, two sentences with no filler. Front-loaded with action verb and key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool but lacks information about return values or confirmation of action. No output schema, so agent may need to know if operation succeeded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with clear description of the 'id' parameter. Tool description does not add extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (downvote a memory entry), the effect (decrease importance), and a constraint (cannot go below 0). Distinguishes from sibling "knowledge_upvote" by name and opposite action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives (e.g., knowledge_upvote or other memory tools). Context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_forgetA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, only count what would be deleted without actually deleting. Default: false.
projectNoProject to forget entries for. Required unless using confirm_all.
categoryNoOptional: only forget entries in this category (e.g. 'debugging', 'resume').
confirm_allNoSet to true to confirm wiping ALL entries for the project (safety flag).
clear_handoffNoAlso clear the handoff (live state) for this project. Default: false.
older_than_daysNoOptional: only forget entries older than this many days.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses the destructive nature ('permanently deletes ledger entries'), the safety mechanism (confirm_all), and the behavior regarding handoff state (preserved unless clear_handoff is set). It also mentions dry_run for safe preview. This is thorough behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a vivid metaphor, bullet-pointed modes, and a clear warning. It front-loads the core purpose and each sentence adds value without redundancy. No unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, modes, parameters, and side effects thoroughly. However, it does not specify the output format after deletion (e.g., how many entries were deleted or a confirmation message). Given the destructive nature, this minor gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the 100% covered schema: it groups parameters into usage modes (by project, category, age, full reset) and explains the purpose of dry_run, confirm_all, and clear_handoff. This turns schema fields into actionable guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'forget' (delete) accumulated knowledge entries, and defines four specific modes (project, category, age, full reset). It is specific about the verb and resource, and distinguishes itself from sibling knowledge tools that perform different operations (search, upvote, downvote, set retention).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool ('remove outdated, incorrect, or irrelevant session entries') and details each forget mode with its use case. It lacks explicit when-not-to-use statements or references to alternative tools, but the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_ingestA

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

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

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It discloses that content is chunked, Q&A pairs generated, and stored in the knowledge graph. However, it omits details on idempotency, overwrite behavior, authentication requirements, rate limits, or error handling, leaving gaps for an agent to infer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with the core purpose, and contains no redundant or verbose phrasing. Every sentence adds value: purpose, inputs, process, and usage trigger phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter ingestion tool with no annotations or output schema, the description covers purpose, input types, processing steps, and when to use. It lacks output details and error conditions, but given the tool's moderate complexity, it provides sufficient completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context by mentioning input types (raw code, file paths, git URL) which map to parameters, but does not significantly enhance understanding of chunk_size or source_label beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: ingesting source code or documentation into the knowledge graph for later retrieval by knowledge_search. It lists accepted input types (raw code, file paths, git URL) and explicitly distinguishes from sibling tools like knowledge_search by stating its role in populating the graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage cues: 'Use this when the user says learn this code, index my repo, or ingest this file.' It implies this tool is for ingestion only, not search or deletion, and contrasts with knowledge_search. However, it does not explicitly exclude other use cases or mention alternatives beyond implication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_set_retentionA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject to set retention policy for.
ttl_daysYesEntries older than this many days are auto-expired. Set to 0 to disable. Minimum: 7 days when enabled.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses the behavioral trait: entries are soft-deleted (archived) automatically on a schedule. It specifies the retention check frequency and the exclusion of rollup entries. Missing details include whether changes are immediately applied or reversible, but the main behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single sentence defining the tool, followed by bullet-point use cases and a note. Every sentence adds essential information, and the structure aids scanning. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description adequately covers the tool's purpose, usage, and behavior. It is complete for a simple two-parameter tool. Minor omissions: no mention of required permissions or impact on existing entries, but these are not critical for basic understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying the effect of ttl_days=0 (disable auto-expiry) and giving a real-world example (ttl_days=90 for 3-month expiry). This goes beyond the schema's minimal descriptions and helps agents understand parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: setting an automatic data retention policy (TTL) for a project's memory. It defines the action (set retention), resource (project memory), and behavior (soft-delete entries older than ttl_days). This distinguishes it from sibling tools like knowledge_forget (individual deletion) or memory_history (viewing history).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases for ttl_days values (90 and 0) and explains when auto-expiry occurs (server startup and every 12 hours). It also notes that rollup entries are never expired. However, it does not explicitly mention contraindications or alternative tools for similar tasks, leaving some ambiguity about when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_sync_rulesA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, returns a preview of the rules block without writing to disk. Default: false.
projectYesProject identifier. Must have a repo_path configured in the dashboard.
target_fileNoTarget rules filename (default: '.cursorrules'). Common values: '.cursorrules', '.clauderules'.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains idempotency via sentinel markers, the three-step process, and dry_run behavior. Missing details on file creation or error handling, but still strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with front-loaded purpose, followed by how-it-works, requirements, and idempotency. Slightly verbose but efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, mechanism, requirements, and idempotency. Lacks edge cases like file creation or error handling, but is complete for a sync tool given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with thorough descriptions for all three parameters. The description adds no new semantic information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb 'Auto-sync' and resource 'graduated insights into IDE rules file'. It distinguishes itself from sibling tools as the only tool that syncs insights to static rules files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: bridges behavioral memory with IDE context, and lists a requirement (repo_path configured). However, it does not explicitly state when not to use it or mention alternatives, though alternatives may not exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_upvoteA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe UUID of the ledger entry to upvote.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that upvoting can lead to graduation at importance >=7 and that graduated insights always surface in behavioral warnings. This goes beyond a simple 'increase importance' but does not address reversibility or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, consisting of two sentences. It is front-loaded with the main action and provides key behavioral context without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required param, no output schema, no annotations), the description adequately explains the purpose and outcome. It covers the graduation mechanism but could mention whether the tool returns any confirmation or error messages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'id', and the description only repeats the schema description ('The UUID of the ledger entry to upvote'). No additional information about the parameter is provided, so it adds no extra meaning beyond what the schema already gives.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Upvote a memory entry') and its effect ('increase its importance (graduation)'). It also explains the consequence of reaching importance >=7, which distinguishes it from sibling tools like knowledge_downvote or knowledge_forget.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to increase importance of a memory entry) and mentions the graduation threshold, but does not explicitly state when not to use or mention alternative tools like knowledge_downvote. However, the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maintenance_vacuumA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf 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.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description discloses the synchronous nature, potential up-to-60-second delay, and the effect of reclaiming disk space. It does not mention potential locking or concurrency effects, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear lead sentence and follow-up details. It is moderately concise; every sentence adds value, though some minor redundancy could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, and performance, but does not mention the return value or output format (e.g., what the tool returns after vacuum or dry run). Since no output schema is provided, this gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the dry_run parameter, but the description adds practical context: 'Use this to preview how large the database is before committing to a full vacuum.' This adds value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Reclaim disk space after large purge operations by running VACUUM on the local SQLite database.' It specifies a specific verb and resource, and distinguishes itself from sibling tools like deep_storage_purge and backup_database.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling after deep_storage_purge and explains why (SQLite doesn't reclaim pages automatically). It also notes remote backend behavior. However, it lacks explicit when-not-to-use or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_checkoutA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject identifier to revert.
target_versionYesThe version number to restore from history (get this from memory_history).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool overwrites the current handoff state and that no data is lost (version number moves forward). This adequately informs the agent of the behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the core action, the second provides an analogy and critical behavioral note. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides enough context for a revert tool, including the prerequisite and behavior. No output schema exists, but the return value is not essential for invocation. Slight gap: could mention the version increment explicitly, but it's implied by 'version number moves forward'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters, and the description adds valuable context: target_version should be obtained from memory_history. This goes beyond the schema's description, improving clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool restores a project's memory to a past version, using an analogy to Git revert. It distinguishes itself from siblings like memory_history by explicitly referencing it as a prerequisite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises calling memory_history first to find the correct target_version, providing clear usage context. While it does not explicitly list when not to use it, the guidance is sufficient for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_historyA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of history entries to return (default: 10, max: 50).
projectYesProject identifier to view history for.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it shows version numbers, timestamps, and summaries. No annotations present, so description bears full burden. It describes a read-only operation but doesn't explicitly state non-destructive nature, which is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose. Every sentence adds value, no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 parameters and no output schema, the description is fairly complete: it explains what the tool does, when to use it, and what information is returned. Could explicitly note the read-only nature, but otherwise comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond the schema; it just reinforces the overall purpose. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: viewing the timeline of past memory states. It distinguishes from sibling tool memory_checkout by specifying this is for finding the correct version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: BEFORE memory_checkout, and mentions the alternative tool. Provides clear context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onboarding_wizardA

Interactive setup wizard for new Prism users. Provides a step-by-step guided experience to get productive in under 3 minutes.

Actions:

  • start — Begin the wizard from step 1

  • next — Advance to the next step

  • status — Check current wizard progress

  • skip — Skip to completion

Each step returns instructions, code snippets, and progress percentage.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWizard action to perform.
ide_clientNoIDE client for config generation.
project_nameNoOptional project name to use in setup examples.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains that each step returns instructions, code snippets, and progress, but does not disclose side effects, authentication needs, or behavior on error. For a wizard that likely creates data, persistence details are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear bullet list of actions, efficiently communicating the tool's purpose. It is front-loaded with the main function and avoids unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no output schema, few parameters), the description covers basic operation but lacks information on error states, behavior when wizard has already been completed, or how to handle invalid action sequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds some value by listing actions and explaining return content, but largely echoes the schema enums. No additional detail on parameter format or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an interactive setup wizard for new Prism users, listing specific actions and their purposes. It distinguishes itself from sibling tools, which are unrelated to onboarding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly suggests use for new users during setup but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. Additional context about prerequisites or completion status would improve this dimension.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prism_inferA

Run an inference on a local prism-coder model (Ollama) to save cloud tokens. Picks the largest viable tier — 27B / 9B / 4B / 2B — based on free RAM at call time, clamped by model_ceiling and what is actually pulled in Ollama. Falls through to the synalux portal cloud cascade (9B → 27B → Claude Opus 4.7) only when local is unviable AND cloud_fallback=true. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoExecution mode. 'route' (default) for MCP tool routing — fast, nothink. 'chat' for general conversation — uses thinking, escalates to cloud on failure. 'code' for code generation — uses thinking, larger context. In chat/code modes, prefers the 27B tier and enables <think> reasoning.route
thinkNoEnable thinking mode (<think> blocks). Default: true for chat/code, false for route. Thinking improves quality on complex tasks but adds latency (~2-5s).
promptYesThe user prompt. Required.
systemNoOptional system instruction prepended to the prompt.
verifyNoEnable the L3 grounding verifier. Default: true when `evidence` is provided, false otherwise. When enabled, the model's draft is checked by a different model (qwen3.5:4b by default) against the supplied `evidence`. Drafts with NEUTRAL or CONTRADICTED claims are refused.
evidenceNoOptional evidence snippets the model output must be grounded in. When supplied with `verify: true`, every assertive claim in the draft (numbers, names, dates, codes, $ amounts) must be ENTAILED by one of these snippets or the draft is refused.
max_tokensNoMax output tokens (default 1024, hard cap 8192).
timeout_msNoOverride per-call timeout. Default scales with model size: 27B=120s, 9B=60s, 4B=20s, 2B=15s.
temperatureNoSampling temperature, 0 = deterministic (default 0).
model_ceilingNoCap the largest tier the picker may select. e.g. '9b' forbids 27B even if RAM allows.
cloud_fallbackNoIf true, fall through to synalux portal cascade on local fail. Default false — token-saving mode is the point of this tool.
verifier_modelNoOverride the verifier model. Default: qwen3.5:4b.
verifier_timeout_msNoOverride the verifier hard timeout. Default 2000 ms.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description fully discloses behavioral traits: tier selection based on RAM, thinking modes, verification with evidence, cloud fallback conditions. It covers safety, cost implications, and edge cases without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4-5 sentences) with no fluff. It front-loads the core purpose and tier logic, then covers fallback. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, no output schema), the description covers model selection, modes, verification, fallback, and parameter defaults. It provides sufficient context for an AI agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context beyond the schema by explaining the overall inference flow, tier selection, and mode-specific behaviors, enhancing understanding of parameter interactions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs inference on a local model to save cloud tokens, selects tiers based on RAM, and falls back to cloud when needed. It specifies use cases like code generation, summarisation, classification, and differentiates from siblings by being the local inference tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (for any synth task that would otherwise go to cloud) and when fallback occurs. However, it does not explicitly mention alternatives or scenarios where this tool should be avoided, leaving some ambiguity for edge cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_memory_naturalA

Query memories using natural language instead of structured tool syntax. Automatically classifies intent, extracts keywords, and executes the appropriate search strategy.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoOptional project scope for the query.
questionYesNatural language question about your memories.
synthesizeNoIf true, use local LLM to synthesize a natural language answer. Default: false.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool classifies intent, extracts keywords, executes search, and returns parsed intent, results, and optional LLM answer. It does not explicitly state that it is a read-only operation or disclose any side effects, but the read-only nature is implied by 'query.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with the main purpose, then examples, and finally the return value. It is not overly wordy, though the examples take space. Front-loading the core action is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description sufficiently covers the tool's behavior, parameters, and usage. It explains what the tool does, how it works, and what it returns. No critical gaps for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with descriptions for all three parameters. The description adds value by providing example questions and explaining the 'synthesize' parameter's default behavior. It clarifies the optional 'project' scope, going beyond the schema's brief description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Query memories using natural language instead of structured tool syntax.' It specifies the verb (query), resource (memories), and method (natural language). This distinguishes it from sibling tools that likely use structured queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides examples of natural language questions and explains that the tool automatically classifies intent and executes search strategies. It implies usage for informal queries but lacks explicit guidance on when not to use it or alternatives. However, the context with sibling names like knowledge_search suggests structured alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_backfill_embeddingsA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum entries to repair in one call (default: 20, max: 50). Keeps API costs predictable.
dry_runNoIf true, only count missing embeddings without generating them. Default: false.
projectNoOptional: repair only a specific project. If omitted, repairs all projects.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must fully disclose behavior. It outlines the three-step process (scan, generate, patch) and mentions API cost considerations via the limit parameter. However, it does not disclose potential side effects like whether the operation is idempotent or if it logs changes, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a brief header and numbered steps. It is concise, with no redundant sentences, though the bullet list could be more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should clarify the return value (e.g., count of repaired entries or success status). It does not, leaving an agent uncertain about what to expect after invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds minor context beyond the schema, explaining that the limit parameter 'keeps API costs predictable', but does not significantly enhance understanding of parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool repairs ledger entries missing vector embeddings, with a specific verb 'repair' and resource 'ledger entries'. It distinguishes from siblings like session_backfill_links and session_compact_ledger.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use context: 'Run this periodically or after known API outages'. It does not specify when not to use, but the guidance is clear and actionable for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_cognitive_routeB

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesRole concept key used for transition binding.
stateYesCurrent state concept key (e.g. 'State:ActiveSession').
actionYesAction concept key used for transition binding.
explainNoIf true, include expanded explainability details in the response. Default: true.
projectYesProject identifier.
clarify_thresholdNoOptional route clarify threshold override (0 <= fallback < clarify <= 1).
fallback_thresholdNoOptional route fallback threshold override (0 <= fallback < clarify <= 1).

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. While it mentions 'resolve' and lists return fields, it does not clarify whether the operation is read-only or has side effects, nor does it disclose authorization needs or rate limits. This is insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the core action and output, and each sentence serves a purpose. No extraneous words or information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters and no output schema. The description lists the return fields, which helps, but it lacks details on the routing algorithm, how thresholds interact, and whether the operation is safe. It is adequate but leaves gaps for an agent to fully understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds context about 'policy-gated routing' and 'explainable', which indirectly relates to parameters like 'explain' and thresholds, but it does not add specific parameter-level meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: resolving an HDC compositional state into a nearest semantic concept with policy-gated routing. It specifies the return fields. However, it does not explicitly differentiate from sibling tools, so it's slightly below a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using this tool for 'explainable cognitive recall decisions in v6.5', which provides context. But it lacks when-not-to-use scenarios or alternative tools, resulting in only implied usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_compact_ledgerA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, only preview what would be compacted without executing. Default: false.
projectNoOptional: compact a specific project. If omitted, auto-detects all candidates.
thresholdNoMinimum entries before compaction triggers (default: 50).
keep_recentNoNumber of recent entries to keep intact (default: 10).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully discloses behavior: it uses Gemini for summarization, archives originals with soft-delete, and keeps recent entries intact. The step-by-step explanation and mention of dry_run preview add transparency. However, it does not cover failure modes or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single-sentence overview, a clear bulleted list of how it works, and a practical tip. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description does not specify the return format, which would be helpful for a summarization tool. However, it adequately covers behavior, parameters, and a preview option, making it fairly complete for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not elaborate on parameter details beyond mentioning dry_run in the usage note. The schema already describes each parameter, and the description adds minimal additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'auto-compact old session ledger entries by rolling them up into AI-generated summaries.' It uses specific verbs ('compact', 'roll up') and identifies the resource ('old session ledger entries'), distinguishing it from siblings like session_save_ledger or session_backfill_links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage hint: 'Use dry_run=true to preview without executing,' which guides the agent on when to use preview mode. While it does not explicitly state when not to use the tool or compare to alternatives, the steps and context imply it is for maintenance to prevent ledger growth.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_detect_driftA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesThe 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 prism'.
domainNoOptional domain for domain-specific drift signals. 'coder' adds file_entropy, summary_vagueness, test_coverage_ratio, trajectory_divergence. 'bcba' adds clinical_specificity, function_aligned, contraindication_safe (requires behavior_functions, contraindications, client_descriptors params). 'aac' is reserved for future AAC prediction drift (use the AAC-specific endpoint instead).
projectYesProject identifier. Must match the project used in session_save_ledger.
window_hoursNoHow many hours of ledger history to evaluate. Default 1. Range 0.083–24 (5 min to 24 h).
assessment_typeNoBCBA domain only: assessment instrument name (e.g. 'vb-mapp', 'vineland', 'ablls-r').
conversation_idNoOptional. Session key (same id used in session_load_context). When provided, resets the server-side drift timer for this conversation.
contraindicationsNoBCBA domain only: known medical conditions (e.g. ['epilepsy', 'pica']).
behavior_functionsNoBCBA domain only: identified behavior functions for this client (e.g. ['escape-maintained', 'attention-maintained']).
client_descriptorsNoBCBA domain only: client-specific terms to check for specificity (e.g. ['7-year-old', 'aggression at transitions']).
min_directional_ratioNoDirectional 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.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains the algorithm and return values but does not disclose side effects, permissions, rate limits, or error conditions. It implies a read operation but does not explicitly confirm safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections: purpose, triggers, pre-warning, returns. Each sentence adds value. Slightly long but no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers detection logic, triggers, return fields, parameters, and usage. Lacks details on error handling and performance, but sufficient for selection among siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed property descriptions. The tool description adds extra context (e.g., specificity recommendation for goal, domain-specific signals), improving understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool detects semantic drift from the original goal using specific methods. It distinguishes itself from sibling tool 'session_cognitive_route' by explicitly saying to call this tool instead for goal-alignment drift detection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit triggers (goal-drift, context-collapse) and pre-warning (quality-degrading). It gives direct usage guidance: 'Use alongside GATE 5... call this tool instead of session_cognitive_route for goal-alignment drift detection.' This tells when and when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_export_memoryA

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoExport 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.json
projectNoProject to export. If omitted, exports ALL projects into separate files.
output_dirYesAbsolute path to the directory where the export file(s) will be written. Must exist and be writable. Example: '/Users/admin/Desktop'.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses what is exported, including redaction of API keys, file format details, and a prerequisite warning about output directory existence and writability. This provides comprehensive behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections and lists, but slightly verbose. All sentences add value, but some redundancy could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description thoroughly covers what is exported, formats, and operational constraints (directory must exist, auto-generated filenames). It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description enriches each parameter: it explains format variations in detail, clarifies default and project omission behavior, and gives an absolute path example for output_dir.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Export' and resource 'memory' with clear scope 'of a project's memory to a local file'. It uniquely identifies the tool's purpose among siblings like session_load_context or session_save_handoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly ties usage to GDPR Article 20 and 'local-first' portability, providing clear context. It does not explicitly state when to avoid using it or name alternative tools, but the context is sufficient for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_forget_memoryA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional GDPR Article 17 justification for the deletion. Examples: 'User requested', 'Data retention policy', 'Outdated information'. Stored alongside the tombstone for audit trail purposes.
memory_idYesThe UUID of the memory (ledger) entry to forget. You can find this ID in search results returned by session_search_memory or knowledge_search.
hard_deleteNoIf 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.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses both modes: soft delete tombstones entries (reversible, excluded from search), hard delete removes permanently (irreversible). It also explains audit trail implications and GDPR context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (6 sentences), front-loaded with the core action, uses markdown for emphasis, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 3 parameters and no output schema, the description comprehensively covers purpose, modes, usage guidelines, and behavioral transparency. An agent has all needed information to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no extra semantic detail beyond the schema for parameters like reason, memory_id, and hard_delete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool forgets (deletes) a specific memory entry by ID, and distinguishes between soft and hard delete modes. This differentiates it from sibling tools like session_search_memory or session_save_ledger.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends soft delete for most cases and specifies hard delete only for GDPR Article 17 compliance. This provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_health_checkA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
auto_fixNoIf true, automatically repair issues (backfill embeddings, remove orphaned handoffs). Default: false.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that integrity checks are run and that auto_fix=true will mutate state (backfill embeddings, remove orphans). It does not detail rollback or impact on unrelated data, but covers the main behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a summary sentence, a bulleted list of checks, and a final line about auto_fix. Every sentence adds information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a diagnostic tool with one optional parameter, the description covers the checks and the effect of auto_fix. However, it lacks information about output (e.g., report or success message) and could mention if the checks are read-only by default. Overall sufficient given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and schema describes auto_fix as boolean with default false. The description adds value by specifying what 'repair' entails (backfill embeddings, remove orphaned handoffs), which goes beyond the schema's text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'Run integrity checks on the agent's memory' and lists four specific checks (missing embeddings, duplicate entries, orphaned handoffs, stale rollups). This distinguishes it from sibling tools like 'maintenance_vacuum' or 'session_compact_ledger' by focusing on health diagnosis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what checks are performed and when auto_fix=true can be used to repair issues. However, it does not explicitly state when not to use this tool or suggest alternatives among siblings, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_load_contextA

Load session context for a project using progressive context loading. Use this at the START of a new session to recover previous work state. 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)

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional. 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.
levelNoHow much context to load: 'quick' (just TODOs), 'standard' (recommended — includes recent summaries), or 'deep' (full history). Default: standard.
promptNoOptional. 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 — enables mid-session re-routing when the user's focus changes.
projectYesProject identifier to load context for.
max_tokensNoMaximum token budget for context response. Uses 1 token ≈ 4 chars heuristic. When set, the response is truncated to fit within the budget. Default: unlimited.
toolActionYesBrief 2-5 word summary of what this tool is doing. Capitalize like a sentence.
toolSummaryYesBrief 2-5 word noun phrase describing what this tool call is about.
conversation_idNoOptional. 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 without relying on hook-based enforcement. Required on non-Claude hosts.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear the full burden. It discloses three context loading levels with token costs and mentions progressive loading. However, it does not detail permissions, side effects, or whether it modifies state (likely not, as it's loading).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, and uses a bulleted list for the three levels. Every sentence adds value without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (progressive loading, multiple parameters, enum), the description covers the main use case and token budgets. It lacks an output schema but mentions truncation behavior, making it sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds some value by explaining the three levels in narrative form and recommending 'standard', but the schema already describes each parameter adequately. The description does not significantly supplement parameter meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool loads session context for a project using progressive context loading. It specifies it should be used at the start of a new session to recover previous work state, distinguishing it from siblings like session_save_ledger or session_compact_ledger.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this at the START of a new session and recommends the 'standard' level. It provides clear context but does not explicitly state when not to use it or mention alternatives among the many sibling session tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_save_experienceA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional. Agent role for Hivemind scoping. Omit to let the server auto-resolve from dashboard settings.
actionYesWhat action was tried.
contextYesWhat the agent was doing when the event occurred.
outcomeYesWhat happened as a result.
projectYesProject identifier.
correctionNoWhat should have been done instead (for correction type).
event_typeYesType of behavioral event.
confidence_scoreNoAgent's confidence in the outcome (1-100).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It explains the nature of events but omits details on side effects, authentication needs, idempotency, or error handling, which are important for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise with a clear structure: a title, a contrast sentence, and a succinct bullet list of event types. No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters (5 required) and no output schema, the description adequately explains purpose and differentiation but fails to mention what the tool returns or any post-conditions, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, baseline is 3. The description adds value by elaborating on event types and their meaning, supplementing the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool records typed experience events and explicitly distinguishes it from the sibling tool 'session_save_ledger' by contrasting flat logs with structured behavioral data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context on when to use this tool (for structured behavioral data and pattern detection) and contrasts it with a specific sibling, implying when not to use it. It lacks explicit exclusion criteria for other scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_save_handoffA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional. Agent role for Hivemind scoping (e.g., 'dev', 'qa', 'pm'). Omit to let the server auto-resolve from dashboard settings.
projectYesProject identifier — must match the project used in session_save_ledger.
open_todosNoCurrent open TODO items that need attention in the next session.
key_contextNoFree-form critical context the next session needs to know.
last_summaryNoSummary of the most recent session — used for quick context recovery.
active_branchNoGit branch or context the next session should resume on.
disable_mergeNoSet to true to disable automatic CRDT merging and fail strictly on version conflict (original OCC behavior). Default: false.
conversation_idNoOptional. 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 write.
expected_versionNov0.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).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: upsert semantics, CRDT merge, OCC, version control, disable_merge, and conversation_id verification. It clearly explains what happens on version conflict and the concurrency control mechanisms.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for CRDT and OCC, and the main purpose is front-loaded. It is slightly verbose but every sentence adds value, making it appropriately concise for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, the description covers the behavioral and parameter usage thoroughly. However, it does not describe the return value (e.g., success or version number), which slightly limits completeness for an upsert operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the role auto-resolution, the necessity of expected_version when a version number is known, and the effect of disable_merge. This goes beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Upsert the latest project handoff state for the next session to consume on boot,' specifying the verb, resource, and context. It distinguishes from sibling tools like session_load_context by focusing on saving state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly mentions when to use (after a session to save context for next boot) and provides conditions for expected_version. However, it does not explicitly mention when not to use or list alternative tools, which would raise it to a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_save_imageA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject identifier — must match an existing project.
file_pathYesAbsolute or relative path to the image file (png, jpg, jpeg, webp, gif, svg).
descriptionYesWhat does this image show? Used for indexing and context display.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It explains that the image is copied into Prism's media vault, indexed in handoff metadata, and becomes visible on the next session_load_context. This sufficiently discloses the tool's effects and downstream behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences and no fluff. The purpose is front-loaded in the first sentence. Every sentence provides unique, actionable information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; the description explains the post-save lifecycle (media vault storage, indexing, visibility on next context load). Given the tool's simplicity and the presence of a sibling for viewing (session_view_image), the description is fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds value beyond structural details. For the description parameter, it clarifies purpose ('What does this image show? Used for indexing'). For file_path, it repeats 'absolute or relative path' from the schema but reinforces the accepted formats. This adds helpful context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a clear verb+resource ('Save a local image file into the project's permanent visual memory') and enumerates specific use cases (UI states, diagrams, architecture graphs, bug screenshots). This differentiates it from siblings like session_save_experience or session_save_handoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('Use this to remember UI states, diagrams...'). It does not explicitly state alternatives or exclusions, but the sibling list includes session_view_image (viewing) and session_save_experience (saving experiences), so usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_save_ledgerA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional. Agent role for Hivemind scoping (e.g., 'dev', 'qa', 'pm'). Omit to let the server auto-resolve from dashboard settings.
todosNoOptional list of open TODO items remaining after this session.
projectYesProject identifier (e.g. 'bcba-private', 'my-app'). Used to group and filter sessions.
summaryYesBrief summary of what was accomplished in this session.
decisionsNoOptional list of key decisions made during this session.
files_changedNoOptional list of files created or modified during this session.
conversation_idYesUnique conversation/session identifier.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses critical behaviors: immutability, append-only nature, inability to update/delete, and permanent audit trail. This is exemplary transparency for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, each adding value: purpose, usage context, and behavioral constraints. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description sufficiently covers return behavior implicitly. It explains the ledger's permanence and usage timing, but could optionally mention indexing or confirmation. Overall, very complete for a save operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with clear descriptions for all 7 parameters. The description does not add additional parameter semantics beyond what the schema already provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool saves an immutable session log entry to the session ledger, differentiating it from sibling tools like session_save_experience or session_compact_ledger. It uses specific terms like 'session ledger' and 'audit trail', making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises use 'at the END of each work session', providing clear context. It does not list alternatives or when not to use, but the timing instruction is strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_search_memoryA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return (default: 5, max: 20).
queryYesNatural language search query describing what you're looking for.
projectNoOptional: limit search to a specific project.
activationNoConfiguration for ACT-R inspired Spreading Activation. Use this to find structurally related memories beyond direct semantic/keyword hits.
enable_traceNoIf true, returns a separate MEMORY TRACE content block with search strategy, latency breakdown (embedding vs storage), and scoring metadata. Default: false.
context_boostNoIf 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 specific project context. Default: false.
similarity_thresholdNoMinimum similarity score 0-1 (default: 0.7). Higher = more relevant, fewer results.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description discloses the semantic search mechanism, vector embedding usage, and optional trace feature. It does not explicitly state read-only behavior, but that is implied. Overall, it provides good behavioral context beyond the bare minimum.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with purpose and mechanism, followed by prerequisites and usage guidance. Every sentence adds value with no redundant or unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains purpose, mechanism, and usage well but does not describe the return format or structure of results. Given that there is no output schema, a brief note on what the tool returns would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds valuable context for parameters like activation (ACT-R spreading activation) and context_boost (biasing toward contextual relevance), enhancing understanding beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool searches session history semantically using vector embeddings, distinguishing from keyword-based search. The verb 'Search' and resource 'session history' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool vs the sibling `knowledge_search` (keyword-based) — use when keyword search fails or query phrasing differs. Also mentions requirement of pgvector extension, providing clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_synthesize_edgesA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject identifier.
max_entriesNoMaximum number of recent entries to scan as sources. Default: 50. Max cap: 50.
randomize_selectionNoIf true, randomly sample active entries instead of taking the newest (default false). Ideal for wide-coverage background sweeps.
similarity_thresholdNoMinimum cosine similarity score (0.0 to 1.0) to create a link. Default: 0.7.
max_neighbors_per_entryNoMaximum number of links to synthesize per source entry. Default: 3. Max cap: 5.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains the scanning, similarity detection, and link creation process, but does not disclose whether it modifies existing links, destroys data, or requires specific permissions. It could be more transparent about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two short paragraphs. The first explains the process, the second provides usage guidance. Every sentence adds value with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and usage context but lacks details on return values, error handling, and prerequisites (e.g., existence of embeddings). Given no output schema, more completeness would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds value by explaining that max_entries relates to 'recent' entries and that randomize_selection is for wide-coverage sweeps, enhancing meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it synthesizes edges by scanning recent entries, finding similar but disconnected entries, and creating inferred links. It uses specific verbs and resource terms, and the 'Step 3A' labeling distinguishes it from other tools like session_backfill_links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends using the tool periodically for discovering semantic relationships, providing clear context for when to use it. However, it does not mention when not to use it or direct comparisons to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_view_imageA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject identifier.
image_idYesThe short image ID (e.g., '8f2a1b3c') from the visual memory index.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description discloses the return format (Base64 inline content) for LLM analysis, which is sufficient for understanding the tool's behavior, though no limits or side effects are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words, efficiently conveying purpose, output, and prerequisite.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return value; covers essentials for a simple retrieval tool with clear dependency hint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds example '8f2a1b3c' for image_id, clarifying it's a short ID from the memory index, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves an image by ID and returns it as Base64 inline content, distinguishing it from sibling tools that save or search memory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It directs users to first use 'session_load_context' to see available image IDs, providing clear context for when to use this tool, though no explicit when-not criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_behaviorA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoOptional project identifier for workspace-scoped scenarios.
file_pathYesPath of the file about to be edited.
workspace_idNoOptional workspace ID for custom scenarios.
change_summaryYesBrief description of the intended change.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description explains the tool returns a scenario and requires an answer, but does not explicitly state if it's read-only or has other side effects. Still adds significant behavioral context beyond schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very concise (2 sentences + example) with no extraneous information. Critical usage instruction and example are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a verification tool, description fully explains the workflow: call before editing, receive a scenario, answer concretely. No output schema needed as return type is described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all 4 parameters with descriptions. Description adds no new parameter-specific details beyond the schema, but the overall context helps clarify usage. Schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool should be called before editing behavioral source files and provides a specific example, distinguishing it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('BEFORE editing behavioral source files') and what to do after ('Answer the scenario concretely'), with a clear alternative: not editing behavioral files.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv15.2.2
    • Addedinference_metrics
    • Addedknowledge_ingest
    • Addedprism_infer
    • Addedsession_backfill_embeddings
    • Addedsession_detect_drift
    • Changedsession_load_context2 fields changed
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Optional. 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 without relying on hook-based enforcement. Required on non-Claude hosts.",
        +  "type": "string"
        +}
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Optional. 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 — enables mid-session re-routing when the user's focus changes.",
        +  "type": "string"
        +}
    • Changedsession_save_handoff1 field changed
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "description": "Optional. 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 write.",
        +  "type": "string"
        +}
    • Addedverify_behavior
  2. 37 tool updatesv15.2.1
    • Addedapi_analytics
    • Addedbackup_database
    • Addedbrave_answers
    • Addedbrave_local_search
    • Addedbrave_local_search_code_mode
    • Addedbrave_web_search
    • Addedbrave_web_search_code_mode
    • Addedcode_mode_transform
    • Addedconfigure_notifications
    • Addeddeep_storage_purge
    • Addedextract_entities
    • Addedgemini_research_paper_analysis
    • Addedknowledge_downvote
    • Addedknowledge_forget
    • Addedknowledge_search
    • Addedknowledge_set_retention
    • Addedknowledge_sync_rules
    • Addedknowledge_upvote
    • Addedmaintenance_vacuum
    • Addedmemory_checkout
    • Addedmemory_history
    • Addedonboarding_wizard
    • Addedquery_memory_natural
    • Addedsession_backfill_links
    • Addedsession_cognitive_route
    • Addedsession_compact_ledger
    • Addedsession_export_memory
    • Addedsession_forget_memory
    • Addedsession_health_check
    • Addedsession_load_context
    • Addedsession_save_experience
    • Addedsession_save_handoff
    • Addedsession_save_image
    • Addedsession_save_ledger
    • Addedsession_search_memory
    • Addedsession_synthesize_edges
    • Addedsession_view_image
  3. 21 tool updatesv15.2.0
    • Removeddeep_storage_purge
    • Removedknowledge_downvote
    • Removedknowledge_forget
    • Removedknowledge_search
    • Removedknowledge_set_retention
    • Removedknowledge_sync_rules
    • Removedknowledge_upvote
    • Removedmaintenance_vacuum
    • Removedmemory_checkout
    • Removedmemory_history
    • Removedsession_backfill_links
    • Removedsession_cognitive_route
    • Removedsession_compact_ledger
    • Removedsession_export_memory
    • Removedsession_forget_memory
    • Removedsession_health_check
    • Removedsession_save_experience
    • Removedsession_save_image
    • Removedsession_search_memory
    • Removedsession_synthesize_edges
    • Removedsession_view_image
  4. 10 tool updatesv2.3.38
    • Removedbrave_answers
    • Removedbrave_local_search
    • Removedbrave_local_search_code_mode
    • Removedbrave_web_search
    • Removedbrave_web_search_code_mode
    • Removedcode_mode_transform
    • Removedgemini_research_paper_analysis
    • Removedsession_load_context
    • Removedsession_save_handoff
    • Removedsession_save_ledger
  5. 31 tool updatesv2.3.34
    • Addedbrave_answers
    • Addedbrave_local_search
    • Addedbrave_local_search_code_mode
    • Addedbrave_web_search
    • Addedbrave_web_search_code_mode
    • Addedcode_mode_transform
    • Addeddeep_storage_purge
    • Addedgemini_research_paper_analysis
    • Addedknowledge_downvote
    • Addedknowledge_forget
    • Addedknowledge_search
    • Addedknowledge_set_retention
    • Addedknowledge_sync_rules
    • Addedknowledge_upvote
    • Addedmaintenance_vacuum
    • Addedmemory_checkout
    • Addedmemory_history
    • Addedsession_backfill_links
    • Addedsession_cognitive_route
    • Addedsession_compact_ledger
    • Addedsession_export_memory
    • Addedsession_forget_memory
    • Addedsession_health_check
    • Addedsession_load_context
    • Addedsession_save_experience
    • Addedsession_save_handoff
    • Addedsession_save_image
    • Addedsession_save_ledger
    • Addedsession_search_memory
    • Addedsession_synthesize_edges
    • Addedsession_view_image
  6. 27 tool updatesv2.3.33
    • Removedbrave_answers
    • Removedbrave_local_search
    • Removedbrave_local_search_code_mode
    • Removedbrave_web_search
    • Removedbrave_web_search_code_mode
    • Removedcode_mode_transform
    • Removeddeep_storage_purge
    • Removedgemini_research_paper_analysis
    • Removedknowledge_downvote
    • Removedknowledge_forget
    • Removedknowledge_search
    • Removedknowledge_set_retention
    • Removedknowledge_sync_rules
    • Removedknowledge_upvote
    • Removedmemory_checkout
    • Removedmemory_history
    • Removedsession_compact_ledger
    • Removedsession_export_memory
    • Removedsession_forget_memory
    • Removedsession_health_check
    • Removedsession_load_context
    • Removedsession_save_experience
    • Removedsession_save_handoff
    • Removedsession_save_image
    • Removedsession_save_ledger
    • Removedsession_search_memory
    • Removedsession_view_image

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with detailed descriptions clarifying their roles. However, there is some overlap between search-related tools (e.g., brave_web_search, brave_local_search, brave_answers) and multiple memory search tools (knowledge_search, session_search_memory, query_memory_natural), which could cause minor confusion. Overall, the ambiguity is low.

Naming Consistency4/5

Naming follows a mostly consistent snake_case pattern with verb_noun or noun_verb combinations (e.g., backup_database, knowledge_search). There are some variations like 'gemini_research_paper_analysis' and 'deep_storage_purge', but they are still readable and predictable. The pattern is largely coherent, earning a score of 4.

Tool Count2/5

With 37 tools, the server is well above the recommended range for good coherence. While each tool has a distinct function, the sheer number can overwhelm an agent and makes it harder to quickly understand the full capability set. The scope is broad, but the count feels excessive for a single server.

Completeness4/5

The tool set covers a wide array of operations for memory, session, and knowledge management, including search, backups, notifications, and maintenance. There are minor gaps (e.g., no direct memory update tool, no project listing), but the core workflows are well-supported. The surface is fairly comprehensive for the intended domain.

Maintenance

ActivityActive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A sophisticated MCP server providing advanced memory capabilities with RAG, hallucination detection, and enterprise-grade AI infrastructure for intelligent agent ecosystems.
    -
  • A
    license
    B
    quality
    C
    maintenance
    Production-grade, autonomous Model Context Protocol (MCP) server that elevates AI models from stateless code generators into persistent, self-verifying software engineers.
    21
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dcostenco/prism-coder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server