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

io.github.varun29ankuS/shodh-memory

NPM · @SHODH/MEMORY-MCP · SCANNED AUG 3

Cognitive memory for AI agents — semantic search, Hebbian learning, knowledge graphs.

Available components

+7 this week 60 Trust /100
Trust breakdown (6 categories)

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

Supply Chain Security80
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
  • Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability64
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (poor).Fail
  • Tool/resource definitions use about 3770 tokens (~89/item across 42 items; 38 tools + 4 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @shodh/memory-mcp

# add to Claude Code
claude mcp add varun29ankus-shodh-memory -- npx -y @shodh/memory-mcp
# add to Codex CLI
codex mcp add varun29ankus-shodh-memory -- npx -y @shodh/memory-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "varun29ankus-shodh-memory": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@shodh/memory-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add varun29ankus-shodh-memory --command npx --arg -y --arg @shodh/memory-mcp
# ~/.hermes/config.yaml
mcp_servers:
  varun29ankus-shodh-memory:
    command: "npx"
    args: ["-y", "@shodh/memory-mcp"]
// mcp.json
{
  "mcpServers": {
    "varun29ankus-shodh-memory": {
      "command": "npx",
      "args": [
        "-y",
        "@shodh/memory-mcp"
      ]
    }
  }
}
Changelog

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

  • 3 Aug 26 +40
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → partial security
    • The scripts that run when this package is installed changed: postinstall security
    • MCP protocol: unverified → fail functional
    • Stability: unverified → 0.23 functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Schema quality: unverified → 100 functional
    • License: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • Licence: Apache-2.0 functional
  • 2 Aug 26 −30
    • Provenance: fail → unverified security
    • Install scripts: partial → unverified security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • The scripts that run when this package is installed changed: postinstall security
    • Capabilities: fail → unverified functional
    • License: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Maintenance: pass → unverified functional
    • Licence: Apache-2.0 functional
  • 1 Aug 26 −10
    • Known CVEs: partial → unverified security
    • Dependency health: partial → unverified functional
  • 31 Jul 26 +35
    • Malware scan: pass → unverified security
    • Dependency health: partial → unverified functional
    • Security disclosure: fail → unverified functional
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → 100 functional
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 −28
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: unverified → partial functional
  • 27 Jul 26 53

    First indexed and scored.

Diagnostics

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

Captured 3 Aug 2026 · Analysed npm/@shodh/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Install scripts 1 script
Hook Tier Command
postinstall unreviewed node scripts/postinstall.cjs
Dependencies 94 packages

94 packages in the resolved dependency tree · 94 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 38 exposed · ~3,718 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_project ~92

Create a new project to group todos. Use parent to create a sub-project under another project.

NameTypeReqDescription
descriptionstringProject description
namestringyesProject name
parentstringParent project name or ID to create a sub-project
prefixstringCustom prefix for todo IDs (e.g., 'BOLT', 'MEM'). Auto-derived from name if not provided.

No output schema declared.

No examples provided.

add_todo ~194

Add a task to your todo list. Supports GTD workflow with projects, contexts (@computer, @phone), priorities, due dates, and subtasks (via parent_id).

NameTypeReqDescription
blocked_onstringWho/what you're waiting on (sets status to blocked)
contentstringyesWhat needs to be done
contextsarrayContexts like @computer, @phone, @errands
due_datestringDue date - ISO format or 'today', 'tomorrow', 'monday', etc.
notesstringAdditional notes
prioritystringPriority level (default: medium)
projectstringProject name (created if doesn't exist)
recurrencestringRecurrence pattern for repeating tasks
statusstringInitial status (default: todo)
tagsarrayOptional tags for categorization

No output schema declared.

No examples provided.

add_todo_comment ~95

Add a comment to a todo. Use to track progress, notes, or resolution details.

NameTypeReqDescription
comment_typestringType of comment: comment (default), progress (updates), resolution (fix details), activity (system)
contentstringyesComment content (supports markdown)
todo_idstringyesTodo ID or short prefix (e.g., 'BOLT-1', 'MEM-2')

No output schema declared.

No examples provided.

archive_project ~36

Archive a project. Archived projects are hidden by default but can be restored.

NameTypeReqDescription
projectstringyesProject name or ID to archive

No output schema declared.

No examples provided.

backup_create ~37

Create a backup of all memories. Returns backup metadata including ID, size, and checksum. Backups are stored locally and can be restored later.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

backup_list ~27

List all available backups for this user. Returns backup history with IDs, timestamps, and sizes.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

backup_purge ~45

Purge old backups, keeping only the most recent N. Useful for managing disk space.

NameTypeReqDescription
keep_countnumberNumber of backups to keep (default: 7)

No output schema declared.

No examples provided.

backup_restore ~53

Restore a previously created backup by ID. This replaces all current data for the user with the backup contents. Server restart is recommended after restore.

NameTypeReqDescription
backup_idnumberyesThe backup ID to restore (from backup_list)

No output schema declared.

No examples provided.

backup_verify ~41

Verify backup integrity using SHA-256 checksum. Use to check if a backup is corrupted before restoring.

NameTypeReqDescription
backup_idnumberyesThe backup ID to verify

No output schema declared.

No examples provided.

complete_todo ~38

Mark a todo as complete. For recurring tasks, automatically creates the next occurrence.

NameTypeReqDescription
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

consolidation_report ~93

Get a report of what the memory system has been learning. Shows memory strengthening/decay events, edge formation, fact extraction, and maintenance cycles. Use this to understand how your memories are evolving.

NameTypeReqDescription
sincestringStart of report period (ISO 8601 format). Defaults to 24 hours ago.
untilstringEnd of report period (ISO 8601 format). Defaults to now.

No output schema declared.

No examples provided.

context_summary ~103

Get a condensed summary of recent learnings, decisions, and context. Use this at the start of a session to quickly understand what you've learned before.

NameTypeReqDescription
include_contextbooleanInclude project context (default: true)
include_decisionsbooleanInclude recent decisions (default: true)
include_learningsbooleanInclude recent learnings (default: true)
max_itemsnumberMaximum items per category (default: 5)

No output schema declared.

No examples provided.

delete_project ~61

Permanently delete a project. Use delete_todos=true to also delete all todos in the project.

NameTypeReqDescription
delete_todosbooleanAlso delete all todos in this project (default: false)
projectstringyesProject name or ID to delete

No output schema declared.

No examples provided.

delete_todo ~27

Delete a todo permanently.

NameTypeReqDescription
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

delete_todo_comment ~42

Delete a comment from a todo.

NameTypeReqDescription
comment_idstringyesComment ID (UUID)
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

dismiss_reminder ~41

Dismiss/acknowledge a triggered reminder. Call this after you've handled a reminder.

NameTypeReqDescription
reminder_idstringyesID of the reminder to dismiss

No output schema declared.

No examples provided.

forget ~28

Delete a specific memory by ID

NameTypeReqDescription
idstringyesThe ID of the memory to delete

No output schema declared.

No examples provided.

list_memories ~25

List all stored memories

NameTypeReqDescription
limitnumberMaximum number of results

No output schema declared.

No examples provided.

list_projects ~18

List all projects with todo counts and status breakdown.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_reminders ~36

List all pending reminders. Use to check what reminders are scheduled.

NameTypeReqDescription
statusstringFilter by status (default: pending)

No output schema declared.

No examples provided.

list_subtasks ~43

List subtasks of a parent todo. Use add_todo with parent_id to create subtasks.

NameTypeReqDescription
parent_idstringyesParent todo ID or short prefix

No output schema declared.

No examples provided.

list_todo_comments ~48

List all comments and activity history for a specific todo.

NameTypeReqDescription
todo_idstringyesTodo ID or short prefix (e.g., 'BOLT-1', 'MEM-2')

No output schema declared.

No examples provided.

list_todos ~152

List or search todos. Supports semantic search via query parameter, or GTD-style filtering. Returns Linear-style formatted output grouped by status.

NameTypeReqDescription
contextstringFilter by context (e.g., @computer)
duestringFilter by due date
limitnumberMaximum results (default: 50)
offsetnumberSkip first N items for pagination (default: 0)
prioritystringFilter by priority
projectstringFilter by project name
querystringSemantic search query - when provided, uses vector similarity to find matching todos instead of listing all
statusarrayFilter by status(es)

No output schema declared.

No examples provided.

memory_stats ~14

Get statistics about stored memories

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

proactive_context ~333

REQUIRED: Call this tool with EVERY user message to surface relevant memories and build conversation history. Pass the user's message as context. This enables: (1) retrieving memories relevant to what the user is asking, (2) building persistent memory of the conversation for future sessions. The system analyzes entities, semantic similarity, and recency to find contextually appropriate memories. Auto-ingest stores the context automatically. USAGE: Always call this FIRST when you receive a user message, passing their message as the context parameter.

NameTypeReqDescription
auto_ingestbooleanAutomatically store the context as a Conversation memory (default: true). Set to false to only surface memories without storing.
contextstringyesThe current conversation context or topic (e.g., recent messages, current task description)
entity_match_weightnumberWeight for entity matching in relevance scoring (0.0-1.0, default: 0.4)
max_resultsnumberMaximum number of memories to surface (default: 5)
memory_typesarrayFilter to specific memory types (e.g., ['Decision', 'Learning', 'Context']). Empty means all types.
recency_weightnumberWeight for recency boost in relevance scoring (0.0-1.0, default: 0.2)
semantic_thresholdnumberMinimum semantic similarity (0.0-1.0) for memories to be surfaced (default: 0.65)
tool_actionsarrayTool/actuator actions performed since last proactive_context call. Used for causal feedback attribution.

No output schema declared.

No examples provided.

read_memory ~62

Read the FULL content of a specific memory by ID. Use this when you need to see the complete text of a memory that was truncated in search results.

NameTypeReqDescription
memory_idstringyesThe memory ID (full UUID or short prefix like '5581cd02')

No output schema declared.

No examples provided.

recall ~501

Search memories AND todos using semantic similarity. Returns both relevant memories and matching todos. Use this to find past experiences, decisions, context, or pending work. Modes: 'semantic' (vector similarity), 'associative' (graph traversal), 'temporal' (time-based retrieval), 'hybrid' (combined), 'spatial' (geo-location based), 'mission' (mission context), 'action_outcome' (reward-based learning).

NameTypeReqDescription
action_typestringFilter by action type (e.g., 'navigate', 'grasp', 'dock')
failures_onlybooleanIf true, only return failure/error experiences
geo_latnumberSpatial filter: center latitude (-90 to 90). Requires geo_lon and geo_radius_meters.
geo_lonnumberSpatial filter: center longitude (-180 to 180). Requires geo_lat and geo_radius_meters.
geo_radius_metersnumberSpatial filter: search radius in meters. Requires geo_lat and geo_lon.
limitnumberMaximum number of memory results (default: 5). Todos limited to 5.
mission_idstringFilter by mission identifier
modestringRetrieval mode: 'semantic' for pure vector similarity, 'associative' for graph-based traversal (follows learned connections), 'temporal' for time-based retrieval, 'hybrid' for density-dependent combi…
outcome_typestringFilter by outcome type: success, failure, partial, aborted, timeout
querystringyesNatural language search query - searches both memories and todos
reward_maxnumberFilter by maximum reward value (-1.0 to 1.0)
reward_minnumberFilter by minimum reward value (-1.0 to 1.0)
robot_idstringFilter by robot/drone identifier (for multi-robot systems)
session_idstringSession ID for session-scoped retrieval. When provided, retrieves memories from that session's time window. Forces temporal mode.
tagsarrayFilter by tags (any match)
terrain_typestringFilter by terrain type: indoor, outdoor, urban, rural, water, aerial

No output schema declared.

No examples provided.

recall_by_tags ~92

Find memories by tags. Returns memories matching ANY of the provided tags. Useful for finding memories by category (e.g., 'tool:Edit', 'file:src/main.rs', 'source:hook', 'error', 'session-summary').

NameTypeReqDescription
limitnumberMaximum number of results (default: 50)
tagsarrayyesTags to search for (returns memories matching ANY of these tags)

No output schema declared.

No examples provided.

remember ~667

Store a memory for future recall. Use this to remember important information, decisions, user preferences, project context, or anything you want to recall later.

NameTypeReqDescription
action_typestringAction type name (e.g., 'navigate', 'grasp', 'dock')
contentstringyesThe content to remember (observation, decision, learning, etc.)
created_atstringOptional ISO 8601 timestamp for the memory (e.g., '2025-12-15T06:30:00Z'). If not provided, uses current time.
credibilitynumberCredibility score: 0.0 to 1.0 (1.0 = verified facts, 0.3 = inferred)
emotionstringDominant emotion label (e.g., 'joy', 'frustration', 'surprise')
emotional_arousalnumberArousal level: 0.0 (calm) to 1.0 (highly aroused). E.g., routine task: 0.2, critical issue: 0.9
emotional_valencenumberEmotional valence: -1.0 (negative) to 1.0 (positive), 0.0 = neutral. E.g., bug found: -0.3, feature shipped: 0.7
episode_idstringEpisode ID - groups memories into coherent episodes/conversations
geo_locationarrayGPS coordinates [latitude, longitude, altitude] in WGS84
headingnumberHeading in degrees (0-360)
importancenumberOptional importance override (0.0-1.0). Bypasses auto-calculation. Use for memories where importance is known: Decision=0.8, Learning=0.7, Error=0.7, Discovery=0.6, Observation=0.3
local_positionarrayLocal position [x, y, z] in meters (robot-local frame)
mission_idstringMission identifier for grouping experiences
outcome_typestringOutcome type: success, failure, partial, aborted, timeout
parent_idstringParent memory ID for hierarchical organization. Creates memory trees (e.g., '71-research' -> 'algebraic' -> '21×27≡-1')
preceding_memory_idstringID of the preceding memory (for temporal chains)
rewardnumberReinforcement learning reward signal (-1.0 to 1.0)
robot_idstringRobot/drone identifier for multi-robot systems
sensor_dataobjectRaw sensor readings (e.g., {battery: 72.5, temperature: 23.1})
sequence_numbernumberSequence number within episode (1, 2, 3...)
source_typestringSource type: where the information came from
tagsarrayOptional tags for categorization
terrain_typestringTerrain type: indoor, outdoor, urban, rural, water, aerial
typestringType of memory

No output schema declared.

No examples provided.

reorder_todo ~51

Move a todo up or down within its status group. Use to prioritize tasks manually.

NameTypeReqDescription
directionstringyesDirection to move the todo
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

repair_index ~34

Repair vector index by re-indexing orphaned memories. Use this when verify_index shows unhealthy status. Returns count of repaired memories.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

reset_token_session ~35

Reset the token counter for a new session. Call this when starting a new conversation or after context has been compressed/summarized.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

set_reminder ~245

Set a reminder for the future. Triggers on time (at specific time or after duration) or context match (when keywords appear in conversation). Reminders will surface automatically when conditions are met.

NameTypeReqDescription
after_secondsnumberSeconds from now for 'duration' trigger
contentstringyesWhat to remember/remind about
keywordsarrayKeywords for 'context' trigger - reminder surfaces when any keyword appears
prioritynumberPriority 1-5 (5 = highest, default: 3)
tagsarrayOptional tags for categorization
thresholdnumberSemantic similarity threshold for 'context' trigger (0.0-1.0, default: 0.7). Lower values match more broadly, higher values require closer semantic match.
trigger_atstringISO 8601 timestamp for 'time' trigger (e.g., '2025-12-23T18:00:00Z')
trigger_typestringyesWhen to trigger: 'time' (at specific ISO timestamp), 'duration' (after N seconds), 'context' (when keywords match)

No output schema declared.

No examples provided.

todo_stats ~23

Get statistics about your todos - counts by status, overdue items, etc.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

token_status ~36

Get current token usage status for this session. Returns tokens used, budget remaining, and percentage consumed. Use this to check context window health.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

update_todo ~163

Update a todo's properties. Use short ID prefix (e.g., SHO-1a2b) or full ID.

NameTypeReqDescription
blocked_onstringWho/what you're waiting on
contentstringNew content
contextsarrayNew contexts
due_datestringNew due date
notesstringAdditional notes
parent_idstringParent todo ID or short prefix to make this a subtask. Pass empty string to remove parent.
prioritystringNew priority
projectstringNew project name
statusstringNew status
tagsarrayNew tags
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

update_todo_comment ~53

Update an existing comment on a todo.

NameTypeReqDescription
comment_idstringyesComment ID (UUID)
contentstringyesNew comment content
todo_idstringyesTodo ID or short prefix

No output schema declared.

No examples provided.

verify_index ~34

Verify vector index integrity - diagnose orphaned memories that are stored but not searchable. Returns health status and count of orphaned memories.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.