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.gitmem-dev/gitmem

NPM · GITMEM-MCP · SCANNED AUG 3

Persistent institutional memory for AI coding agents. Memory that compounds.

Available components

+17 this week 62 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 Security70
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects uuid 9.0.1, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability65
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2614 tokens (~124/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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 · gitmem-mcp

# add to Claude Code
claude mcp add gitmem-dev-gitmem -- npx -y gitmem-mcp
# add to Codex CLI
codex mcp add gitmem-dev-gitmem -- npx -y gitmem-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gitmem-dev-gitmem": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "gitmem-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add gitmem-dev-gitmem --command npx --arg -y --arg gitmem-mcp
# ~/.hermes/config.yaml
mcp_servers:
  gitmem-dev-gitmem:
    command: "npx"
    args: ["-y", "gitmem-mcp"]
// mcp.json
{
  "mcpServers": {
    "gitmem-dev-gitmem": {
      "command": "npx",
      "args": [
        "-y",
        "gitmem-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 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +5
    • Known CVEs: unverified → fail security
    • Provenance: fail → unverified security
    • Install scripts: pass → 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
    • License: pass → unverified functional
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Maintenance: pass → unverified functional
    • Dependency health: unverified → partial functional
    • Stability: unverified → 0.23 functional
    • First check of Schema quality: unverified functional
    • Licence: MIT functional
  • 1 Aug 26 −5
    • Known CVEs: fail → unverified security
    • Dependency health: partial → unverified functional
  • 31 Jul 26 +34
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 45

    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/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-w5hq-g745-h8pq CVE-2026-41907 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N yes
Dependencies 96 packages

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

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

MCP tools — 21 exposed · ~2,614 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
absorb_observations ~76

Capture observations from sub-agents and teammates. The lead agent parses findings from sub-agent responses, then calls this to persist and analyze them. Identifies scar candidates.

NameTypeReqDescription
observationsarrayyesArray of observations from sub-agents/teammates
task_idstringLinear issue or task identifier (optional)

No output schema declared.

No examples provided.

archive_learning ~88

Archives a learning (scar/win/pattern) by setting is_active=false and recording archived_at timestamp. Archived learnings are excluded from recall and search results but preserved for audit trail.

NameTypeReqDescription
idstringyesUUID of the learning to archive
reasonstringOptional reason for archiving (e.g., 'superseded by PROJ-123', 'no longer relevant')

No output schema declared.

No examples provided.

cleanup_threads ~100

Triage open threads by lifecycle health. Groups threads as active/cooling/dormant with vitality scores. Use auto_archive=true to archive threads dormant 30+ days. Review and resolve stale threads to keep your thread list healthy.

NameTypeReqDescription
auto_archivebooleanIf true, auto-archive threads that have been dormant for 30+ days
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.

No output schema declared.

No examples provided.

confirm_scars ~87

Confirm surfaced scars with APPLYING/N_A/REFUTED decisions and evidence. REQUIRED after recall() before consequential actions. Each recalled scar must be addressed. APPLYING: past-tense evidence of compliance. N_A: explain why scar doesn't apply. REFUTED: acknowledge risk of overriding.

NameTypeReqDescription
confirmationsarrayyesOne confirmation per recalled scar. All recalled scars must be addressed.

No output schema declared.

No examples provided.

create_decision ~141

Log architectural/operational decision to institutional memory

NameTypeReqDescription
alternatives_consideredarrayAlternatives that were rejected
decisionstringyesWhat was decided
docs_affectedarrayDocs/files affected by this decision (relative paths from repo root)
linear_issuestringAssociated Linear issue
personas_involvedarrayPersonas involved in decision
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
rationalestringyesWhy this decision was made
session_idstringCurrent session ID
titlestringyesDecision title

No output schema declared.

No examples provided.

create_learning ~277

Create scar, win, or pattern entry in institutional memory. Frame as 'what we now know' — lead with the factual/architectural discovery, not what went wrong. Good: 'Fine-grained PATs are scoped to one resource owner'. Bad: 'Should have checked PAT type first'.

NameTypeReqDescription
applies_whenarrayWhen this pattern applies
counter_argumentsarrayCounter-arguments for scars (min 2 required)
descriptionstringyesDetailed description. Include the architectural/behavioral fact that makes this retrievable by domain.
domainarrayDomain tags
keywordsarraySearch keywords
learning_typestringyesType of learning
problem_contextstringProblem context (for wins)
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
scar_typestringScar type (process, incident, or context). Defaults to 'process'.
severitystringSeverity level (required for scars)
solution_approachstringSolution approach (for wins)
source_linear_issuestringSource Linear issue
titlestringyesFrame as a knowledge discovery — what we now know. Lead with the factual insight, not self-criticism.

No output schema declared.

No examples provided.

create_thread ~94

Create an open thread to track unresolved work across sessions. Includes semantic dedup: if a similar open thread exists (cosine similarity > 0.85), returns the existing thread instead. Check the 'deduplicated' field in the response.

NameTypeReqDescription
linear_issuestringAssociated Linear issue (e.g., PROJ-123)
textstringyesThread description — what needs to be tracked or resolved

No output schema declared.

No examples provided.

dismiss_suggestion ~60

Dismiss a suggested thread. Incremented dismiss count — suggestions dismissed 3+ times are permanently suppressed.

NameTypeReqDescription
suggestion_idstringyesSuggestion ID (e.g., "ts-a1b2c3d4") from suggested_threads list

No output schema declared.

No examples provided.

gitmem-help ~21

gitmem-help - Show available commands with ASCII art header

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

health ~68

Show write health for the current session. Reports success/failure rates for all tracked fire-and-forget operations (metrics, cache, triple writes, embeddings, scar usage). Use this to diagnose silent failures.

NameTypeReqDescription
failure_limitnumberMax number of recent failures to return (default: 10)

No output schema declared.

No examples provided.

list_threads ~87

List open threads across recent sessions. Shows unresolved work items that carry over between sessions. Use resolve_thread to mark threads as done.

NameTypeReqDescription
include_resolvedbooleanInclude recently resolved threads (default: false)
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
statusstringFilter by status (default: open)

No output schema declared.

No examples provided.

log ~112

List recent learnings chronologically (like git log). Shows scars, wins, and patterns ordered by creation date.

NameTypeReqDescription
learning_typestringFilter by learning type
limitnumberNumber of entries to return (default: 10)
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
severitystringFilter by severity level
sincenumberDays to look back (e.g., 7 = last week)

No output schema declared.

No examples provided.

prepare_context ~175

Generate portable memory payload for sub-agent injection. Formats institutional memory into compact or gate payloads that fit in Task tool prompts.

NameTypeReqDescription
agent_rolestringSub-agent role for relevance filtering (e.g., 'reviewer', 'deployer') — reserved for Phase 3
formatstringyesOutput format: full (rich markdown), compact (~500 tokens, one-line per scar), gate (~100 tokens, blocking scars only)
max_tokensnumberToken budget for payload (default: 500 for compact, 100 for gate, unlimited for full)
planstringyesWhat the team is about to do (e.g., 'review auth middleware', 'deploy edge function')
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.

No output schema declared.

No examples provided.

promote_suggestion ~89

Promote a suggested thread to an open thread. Takes a suggestion_id from session_start's suggested_threads list and creates a real thread from it.

NameTypeReqDescription
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
suggestion_idstringyesSuggestion ID (e.g., "ts-a1b2c3d4") from suggested_threads list

No output schema declared.

No examples provided.

recall ~182

Check institutional memory for relevant scars before taking action. Returns matching scars and their lessons. Integrates variant assignment when issue_id provided.

NameTypeReqDescription
issue_idstringLinear issue identifier for variant assignment (e.g., 'PROJ-123'). When provided, scars with variants will be randomly assigned and formatted accordingly.
match_countnumberNumber of scars to return (default: 3)
planstringyesWhat you're about to do (e.g., 'implement auth layer', 'deploy to production')
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
similarity_thresholdnumberMinimum similarity score (0-1) to include results. Weak matches below threshold are suppressed. Default: 0.4 (free tier BM25), 0.35 (pro tier embeddings).

No output schema declared.

No examples provided.

record_scar_usage ~195

Track scar application for effectiveness measurement

NameTypeReqDescription
acknowledged_atstringISO timestamp when scar was acknowledged
agentstringAgent identity (e.g., cli, desktop, autonomous)
execution_successfulbooleanWhether the task succeeded after applying scar
issue_idstringLinear issue UUID
issue_identifierstringLinear issue identifier (e.g., PROJ-123)
reference_contextstringyesHow the scar was applied (1-2 sentences)
reference_typestringyesHow the scar was referenced
scar_idstringyesUUID of the scar
session_idstringGitMem session UUID (for non-issue session tracking)
surfaced_atstringyesISO timestamp when scar was retrieved
variant_idstringUUID of the assigned variant from scar_enforcement_variants (for A/B testing)

No output schema declared.

No examples provided.

resolve_thread ~105

Mark an open thread as resolved. Use thread_id for exact match or text_match for fuzzy matching. Updates session state and .gitmem/threads.json.

NameTypeReqDescription
resolution_notestringBrief note explaining how/why thread was resolved
text_matchstringFuzzy text match against thread descriptions (fallback if no thread_id)
thread_idstringThread ID (e.g., "t-a1b2c3d4") for exact resolution

No output schema declared.

No examples provided.

search ~125

Search institutional memory by query. Unlike recall (which is action-oriented), search is exploration-oriented — returns matching scars/wins/patterns without side effects.

NameTypeReqDescription
learning_typestringFilter by learning type
match_countnumberNumber of results to return (default: 5)
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.
querystringyesNatural language search query (e.g., 'deployment failures', 'Supabase RLS')
severitystringFilter by severity level

No output schema declared.

No examples provided.

session_close ~228

Persist session with compliance validation. IMPORTANT: Before calling this tool, write all heavy payload data (closing_reflection, human_corrections, scars_to_record, open_threads, decisions, learnings_created) to {gitmem_dir}/closing-payload.json using your file write tool — the gitmem_dir path is returned by session_start (also shown in session start display as 'Payload path'). Then call this tool with ONLY session_id and close_type. The tool reads the payload file automatically and deletes it after processing. task_completion is auto-generated from closing_reflection timestamps and human_corrections — do NOT write it to the payload. DISPLAY: The result includes a pre-formatted 'display' field. Output the display field verbatim as your response — tool results are collapsed in the CLI.

NameTypeReqDescription
ceremony_duration_msnumberEnd-to-end ceremony duration from agent perspective (in milliseconds)
close_typestringyesType of close (standard requires full reflection)
linear_issuestringAssociated Linear issue
session_idstringyesSession ID from session_start

No output schema declared.

No examples provided.

session_refresh ~116

Re-surface institutional context (threads, decisions) for the current active session without creating a new session. Use mid-session when you need to remember where you left off, after context compaction, or after a long gap. DISPLAY: The result includes a pre-formatted 'display' field visible in the tool result. Output the display field verbatim as your response — tool results are collapsed in the CLI.

NameTypeReqDescription
projectstringProject namespace (default: from active session). Free-form string (e.g., 'my-project').

No output schema declared.

No examples provided.

session_start ~188

Initialize session, detect agent, load institutional context (last session, recent decisions, open threads). Scars surface on-demand via recall(). DISPLAY: The result includes a pre-formatted 'display' field visible in the tool result. Output the display field verbatim as your response — tool results are collapsed in the CLI.

NameTypeReqDescription
agent_identitystringOverride agent identity (auto-detects if not provided)
forcebooleanForce create new session even if one already exists
issue_descriptionstringIssue description for scar context
issue_labelsarrayIssue labels for scar context
issue_titlestringIssue title for scar context
linear_issuestringCurrent Linear issue identifier (e.g., PROJ-123)
projectstringProject namespace (e.g., 'my-project'). Scopes sessions and searches.

No output schema declared.

No examples provided.