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

io.github.yantrikos/yantrikdb-mcp

PYPI · YANTRIKDB-MCP · SCANNED SEP 21

Cognitive memory for AI agents — semantic recall, knowledge graph, and contradiction detection

Available components

0 this week 63 Trust /100
Trust breakdown (7 categories)

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

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 1 of 35 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8920 tokens (~387/item across 23 items; 21 tools + 2 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 Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.yantrikos/yantrikdb-mcp server?

io.github.yantrikos/yantrikdb-mcp runs locally as a PyPI package, launched with uvx yantrikdb-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · yantrikdb-mcp

# add to Claude Code
claude mcp add yantrikos-yantrikdb-mcp -- uvx yantrikdb-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "yantrikos-yantrikdb-mcp": {
      "command": "uvx",
      "args": [
        "yantrikdb-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "yantrikos-yantrikdb-mcp": {
      "command": "uvx",
      "args": [
        "yantrikdb-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add yantrikos-yantrikdb-mcp -- uvx yantrikdb-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "yantrikos-yantrikdb-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "yantrikdb-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add yantrikos-yantrikdb-mcp --command uvx --arg yantrikdb-mcp
# ~/.hermes/config.yaml
mcp_servers:
  yantrikos-yantrikdb-mcp:
    command: "uvx"
    args: ["yantrikdb-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "yantrikos-yantrikdb-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "yantrikdb-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add yantrikos-yantrikdb-mcp -t stdio -c uvx -a yantrikdb-mcp
// mcp.json
{
  "mcpServers": {
    "yantrikos-yantrikdb-mcp": {
      "command": "uvx",
      "args": [
        "yantrikdb-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.

  • 21 Sept 26 −15
    • Malware scan: pass → unverified security
  • 20 Sept 26 +16
    • Malware scan: unverified → pass security
  • 18 Sept 26 −2
    • Stability: pass → 0.80 functional
  • 17 Sept 26 0
    • Stability: 0.97 → pass security
  • 16 Sept 26 +1

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

  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
    • Package version: 0.23.0 → 0.24.0 functional
  • 13 Sept 26 +14
    • Malware scan: unverified → pass security
    • Stability: pass → 0.87 functional
  • 12 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

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

Captured 21 Sept 2026 · Analysed pypi/yantrikdb-mcp@0.24.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

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

Dependencies 35 packages
Packages resolved 35
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 21 exposed · ~7,984 tokens

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

Tool Tokens
atlas ~231

Export this store's Memory Atlas (a static page: every memory, its entity links, claims, revision history and tasks) and serve it on 127.0.0.1. Read-only; nothing leaves the machine. ACTIONS: - "export": (default) export and serve; returns the local URL, the output directory and the exporter's report. Re-running refreshes the files under the same URL. - "status": the atlas servers this process is running. Args: out_dir: Output directory (default `<store>.atlas/` beside the store). port: Local port (0 = free one). label: Provenance label shown in the page header. open_browser: Also open the URL in the browser. Embedded mode only (cluster mode: use the `yantrikdb atlas` CLI on a node). Needs an engine that ships yantrikdb/atlas/.

NameTypeReqDescription
actionstring
label
open_browserboolean
out_dir
portinteger
NameTypeReqDescription
resultstringyes

No examples provided.

category ~233

Substitution categories for conflict detection — list, inspect, teach, or reset. ACTIONS: - "list": Show all categories with member counts. - "members": Show members of a specific category (needs category_name). - "learn": Teach new members (needs category_name + members as [[token, confidence], ...]). - "reset": Reset category to seed state (needs category_name). EXAMPLES: - category() → list all categories - category(action="members", category_name="databases") - category(action="learn", category_name="databases", members=[["tidb", 0.35]]) - category(action="reset", category_name="editors_tools") Args: action: "list", "members", "learn", "reset". category_name: Required for members/learn/reset. members: For learn: [[token, confidence], ...]. source: For learn: "llm_suggested", "user_confirmed", "seed".

NameTypeReqDescription
actionstring
category_name
members
sourcestring
NameTypeReqDescription
resultstringyes

No examples provided.

conflict ~275

Manage memory conflicts (contradictions) — list, resolve, dismiss, reclassify, or batch-burn-down the unambiguous ones (v0.8.0+). ACTIONS: - "list": List conflicts. Optional status filter. - "get": Get single conflict by conflict_id. - "resolve": Resolve with strategy: "keep_a"/"keep_b"/"keep_both"/"merge"/"dismiss". - "reclassify": Reclassify conflict type. - "auto_resolve": v0.8.0 — burn down unambiguous conflicts in one pass. Set dry_run=False to actually persist. Args: action: "list", "get", "resolve", "reclassify", "auto_resolve". conflict_id / status / strategy / winner_rid / new_text / resolution_note / new_type / limit: see action docs above. dry_run: For auto_resolve — preview without persisting.

NameTypeReqDescription
actionstring
conflict_id
dry_runboolean
limitinteger
new_text
new_type
resolution_note
status
strategy
winner_rid
NameTypeReqDescription
resultstringyes

No examples provided.

conversation ~264

Bounded encrypted working-memory ring buffer for raw conversation turns (v0.9.0 engine conversation primitive). Unlike `remember` (which stores extracted semantic memories), this stores verbatim turns — useful for short-horizon working memory, e.g. "what exactly did the user say two messages ago". The ring is bounded per namespace; oldest turns evict when `max_turns` is exceeded. ACTIONS: - "record": Append a turn (needs role + content). - "recent": Retrieve last N turns, oldest-first. - "clear": Drop the buffer for a namespace. Args: action: "record" | "recent" | "clear". namespace: Ring buffer namespace (separate buffers per agent / topic). role: "user" | "assistant" | "system" | "tool" — caller's choice. content: The verbatim turn text. max_turns: Ring size at record time (default 10). limit: How many recent turns to return.

NameTypeReqDescription
actionstringyes
content
limitinteger
max_turnsinteger
namespacestring
role
NameTypeReqDescription
resultstringyes

No examples provided.

correct ~261

Correct an existing memory in-place with a revision-history entry (engine v0.7.20+, Issue #47). WHEN TO USE: When the user corrects a recalled fact. - "Actually, we're using Python 3.12, not 3.11" → correct the memory. Preserves history via an append-only revision entry keyed on `reason`. Entity relationships stay attached to the same rid (in-place mutation, not a tombstone+new-rid dance). Args: rid: The memory ID to correct. reason: **Required** — why the correction was made. Non-empty. Recorded on the revision-history entry so future recall + audit can reconstruct why the memory changed. new_text: Optional new text (pass None to keep existing). new_importance: Optional updated importance (0.0-1.0). new_valence: Optional updated valence (-1.0 to 1.0). metadata_merge: Optional dict to merge into existing metadata (None = keep as-is).

NameTypeReqDescription
metadata_merge
new_importance
new_text
new_valence
reasonstringyes
ridstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

forget ~97

Permanently forget (tombstone) one or more memories. WHEN TO USE: When the user explicitly asks to forget something, or when a memory is clearly wrong and correction isn't appropriate. Prefer `correct` over `forget` when the memory just needs updating. Args: rid: Single memory ID to forget. rids: List of memory IDs to forget (batch mode).

NameTypeReqDescription
rid
rids
NameTypeReqDescription
resultstringyes

No examples provided.

gaps ~179

Surface knowledge gaps — frequently-asked, poorly-answered queries (v0.9.0 engine demand log). The substrate logs every recall and tracks how often each query is asked + what top scores it surfaces. `knowledge_gaps()` returns the queries that are asked often but answered poorly — the substrate's "known unknowns". Use this to drive proactive learning: when the agent sees a gap, it can ask the user, fetch info, or note the limitation. Args: min_count: Only surface queries asked at least this many times. max_avg_top_score: Only surface queries whose best recall score averages below this (lower = poorer answer). limit: Max gaps to return.

NameTypeReqDescription
limitinteger
max_avg_top_scorenumber
min_countinteger
NameTypeReqDescription
resultstringyes

No examples provided.

graph ~529

Knowledge graph operations — entity relationships, memory↔entity links, record-to-record links, co-occurrence auto-relate, and link-expanded recall. ACTIONS: - "relate": Entity↔entity relationship (legacy). - "edges": Get all relationships for entity. - "link": Link a memory (rid) to an entity (legacy). - "search": Find entities by pattern. - "profile": Rich entity profile. - "depth": How deeply the system knows an entity. - "auto_relate": v0.8.0 — co-occurrence-driven edge backfill. Set dry_run=False to persist. - "record_link": v0.9.0 — add a record-to-record link (needs source_rid + target_rid + link_type). - "record_unlink": v0.9.0 — remove a record-to-record link. - "linked_records": v0.9.0 — traverse links from rid (direction = "outbound" | "inbound" | "both", optional link_type filter). - "recall_with_links": v0.9.0 — semantic recall with N-hop link expansion. Args: action: One of the actions above. entity / target / relationship / weight / rid / pattern / limit / days / namespace: Legacy entity-graph args. source_rid / target_rid / link_type: For record_link / record_unlink. direction: For linked_records — "outbound" / "inbound" / "both". dry_run: For auto_relate — preview without persisting. max_edges: For auto_relate — cap edges proposed/created. query: For recall_with_links — natural language search. top_k: For recall_with_links — max seed results. expand_links: For recall_with_links — hop budget for traversal.

NameTypeReqDescription
actionstringyes
daysnumber
directionstring
dry_runboolean
entity
expand_linksinteger
limitinteger
link_type
max_edgesinteger
namespace
pattern
query
relationshipstring
rid
source_rid
target
target_rid
top_kinteger
weightnumber
NameTypeReqDescription
resultstringyes

No examples provided.

memory ~413

Manage individual memories — get, list, search, update importance, archive, hydrate, relevance feedback, fetch a chain-shaped namespace's head, or query revision history. ACTIONS: - "get": Retrieve a single memory by rid. - "list": Browse memories with filters. - "search": Keyword substring search. - "update_importance": Change a memory's importance score. - "archive": Move to cold storage. - "hydrate": Restore archived memory. - "feedback": v0.10 — relevance feedback on a recalled memory (needs rid + feedback="relevant"|"irrelevant"). Call after USING a recalled memory; it tunes future retrieval. (Moved here from recall, which is now read-only.) - "chain_head": The CURRENT value of a chain-shaped namespace (narrative / decision / config chains). Use this — not recall — for "what is the current/latest X": similarity search favors the most-similar revision, chain_head returns the newest. - "history": v0.8.0 — revision history for a single rid (needs rid). Args: See action docs above. New args: namespace: Required for chain_head — the chain-shaped namespace. rid: Required for history/feedback — the record acted on. feedback: For feedback — "relevant" or "irrelevant". feedback_query: For feedback — the query that surfaced the memory. feedback_score / feedback_rank: For feedback — retrieval context.

NameTypeReqDescription
actionstringyes
domain
feedback
feedback_query
feedback_rank
feedback_score
importance
limitinteger
memory_type
namespace
offsetinteger
rid
sort_bystring
text_contains
NameTypeReqDescription
resultstringyes

No examples provided.

pack ~428

Signed, portable memory bundles — inspect, install, and trust packs. A pack is a sealed corpus another agent or vendor published. Mounted pack memories are recallable alongside your own but are DOWN-WEIGHTED (tier_multiplier < 1.0): what the user told you locally always outranks imported knowledge. READ ACTIONS (always available): - "list": Installed + mounted packs (id, name, origin, trust, rows). - "inspect": Read a pack file's manifest WITHOUT installing it. path=<file>. Shows origin, signature, embedder, rows — always inspect before you install. - "publishers": Public keys this database trusts. - "embedder_identity": This database's embedding fingerprint. A pack must be sealed against a matching space to mount. WRITE ACTIONS (operator-gated; set YANTRIKDB_ENABLE_PACK_WRITES=1): - "install": Install + mount a pack. path=<file>. - "uninstall": Remove a pack and its rows. pack_id=<id>. - "mount"/"unmount"/"unmount_all": Session-scoped mount control. - "trust": Trust a publisher key. pubkey=<hex>, label=<name>. - "untrust": Revoke a publisher key. pubkey=<hex>. Args: action: One of the read/write actions above. path: Pack file path (inspect / install / mount). pack_id: Pack identifier, e.g. "origin@1.0.0" (uninstall / unmount). pubkey: Publisher public key hex (trust / untrust). label: Human label for a trusted publisher (trust). allow_unverified_embedder: Mount despite an unverified embedder. Does NOT override a hard dimension mismatch.

NameTypeReqDescription
actionstringyes
allow_unverified_embedderboolean
label
pack_id
path
pubkey
NameTypeReqDescription
resultstringyes

No examples provided.

personality ~152

AI personality traits derived from memory patterns. ACTIONS: - "get": Get current personality profile. Use recompute=True to refresh. - "set": Set a trait manually (needs trait_name + score). Traits: warmth, depth, energy, attentiveness (0.0-1.0). Args: action: "get" or "set". trait_name: For set: warmth, depth, energy, attentiveness. score: For set: 0.0-1.0. recompute: For get: re-derive from memory patterns first.

NameTypeReqDescription
actionstring
recomputeboolean
score
trait_name
NameTypeReqDescription
resultstringyes

No examples provided.

procedure ~312

Procedural memory — learn, surface, and reinforce strategies. ACTIONS: - "learn": Store a procedure (needs text). What worked in a specific context. - "surface": Find relevant procedures (needs query). Returns ranked by effectiveness. - "reinforce": Update effectiveness (needs rid + outcome 0.0-1.0). EXAMPLES: - procedure(action="learn", text="For this repo, always run tests before committing", domain="work") - procedure(action="surface", query="how to handle code review in this repo") - procedure(action="reinforce", rid="abc", outcome=0.9) Args: action: "learn", "surface", "reinforce". text: Procedure description (for learn). query: What you're about to do (for surface). rid: Procedure ID (for reinforce). domain: Task domain. task_context: What kind of task (for learn). effectiveness: Initial effectiveness 0.0-1.0 (for learn). outcome: How well it worked 0.0-1.0 (for reinforce). top_k: Max results (for surface). namespace: Namespace.

NameTypeReqDescription
actionstringyes
domainstring
effectivenessnumber
namespace
outcome
query
rid
task_contextstring
text
top_kinteger
NameTypeReqDescription
resultstringyes

No examples provided.

recall ~823

Search memories by semantic similarity, or refine low-confidence results. MODES: - **Search** (default): recall("project architecture decisions") - **Refine**: recall("PostgreSQL vs MySQL decision", refine_from="database choice", refine_exclude=["rid1"]) ORDER: "recency" | "first_mention" (alias "chronological") | "certainty". Re-sorts the top_k already found; hints omitted. (Relevance feedback moved to memory(action="feedback") in v0.10 — recall is now purely read-only.) WHEN TO USE: conversation start (summarize the user's first message); when the user references past decisions, people, preferences, or "last time"; when unsure about something the user assumes you know. Refine when first confidence < 0.5. After USING a recalled memory, reinforce it via memory(action="feedback", rid=..., feedback="relevant"). For "what is the CURRENT/latest X", prefer memory(action="chain_head") — similarity favors the most-similar revision, not the newest. For "what happened <period>, in what order" ("tonight", "this week") use temporal(action="range") or since/until here — those words name the time frame, not the content; bare similarity cannot see the window. QUERY: one short natural-language sentence (5-10 words), NOT a keyword list — keyword stuffing degrades quality. One focused question per call; separate calls for separate topics. TRUST SIGNALS: each hit's `why_retrieved` may carry staleness warnings ("aged", "rarely confirmed", "superseded by a newer record"). Treat flagged hits as weak evidence — prefer fresher results or chain_head, and note the flag if you act on one anyway. Args: query: Short natural language sentence (5-10 words). NOT a keyword list. top_k: Max results (default 10). 3-5 for focused, 10-20 for broad. memory_type: Filter: "semantic", "episodic", "procedural". domain: Filter: "work", "preference", "architecture", "people", etc. source: Filter: "user", "inference", "document", "system". namespace: Filter by namespace. inc…

NameTypeReqDescription
domain
expand_entitiesboolean
include_consolidatedboolean
include_supersededboolean
memory_type
min_score_ratio
namespace
order
querystringyes
refine_exclude
refine_from
since
source
top_kinteger
until
NameTypeReqDescription
resultstringyes

No examples provided.

remember ~865

Store one or more memories in persistent cognitive memory. WHEN TO USE: Call proactively whenever the conversation reveals something worth remembering — decisions, preferences, facts about people, project context. Do NOT store ephemeral task details, code snippets, or git-derivable info. SINGLE: remember(text="User prefers dark mode", domain="preference", importance=0.7) BATCH: remember(memories=[{"text": "Alice is DevOps lead", "domain": "people"}, ...]) DRAFT: remember(summary="...long end-of-session summary...") — v0.8.0+ engine atomizes the summary into linked semantic facts; useful for the end-of-session auto-capture pattern. IMPORTANCE: 0.8-1.0 critical decisions | 0.5-0.7 useful context | 0.3-0.5 background Args: text: Memory text (for single memory). Be specific and searchable. memory_type: "semantic" (facts), "episodic" (events), "procedural" (how-to). importance: 0.0-1.0. Higher = remembered longer. domain: "work", "preference", "architecture", "people", "infrastructure", "health", "finance", "general". source: "user", "inference", "document", "system". valence: Emotional tone (-1.0 to 1.0). 0.0 neutral. metadata: Optional key-value pairs. namespace: For per-project isolation. certainty: Confidence 0.0-1.0. emotional_state: joy, frustration, excitement, concern, neutral. memories: List of memory dicts for batch. summary: For draft mode — long summary that the engine atomizes. idempotency_key: v0.10 engine — makes the write exactly-once: retrying with the same key + same text returns the SAME rid with no second write; same key + different text is an error. Engine-embedder (bundled) backend only. On batch, the key scopes per item as "{key}:{index}" if the atomic batch path is unavailable. created_at: v0.14 engine — BACKDATE the memory to when it was actually true, not when you imported it. Use for backfill (chat logs, migrations…

NameTypeReqDescription
certaintynumber
claims
created_at
domainstring
emotional_state
event_time
idempotency_key
importancenumber
memories
memory_typestring
metadata
namespacestring
sourcestring
summary
text
valencenumber
NameTypeReqDescription
resultstringyes

No examples provided.

session ~625

Session lifecycle — start, end, history, active check, stale cleanup, and the v0.9.0 boot-time digest. ACTIONS: - "start": Begin a new session. Returns session_id. - "end": End a TRACKED session (needs session_id). Returns stats. This closes session bookkeeping — it does NOT capture memories. - "capture": Segment a free-text session summary into atomic candidate memories (needs summary; NO session_id — it operates on the text, not on tracked-session state). Returns drafted rids. Use at end of substantial work so the session leaves a trace. - "history": View past sessions. - "active": Check if there's a running session. - "abandon_stale": Clean up orphaned sessions older than abandon_stale_hours. - "digest": One-call boot-time briefing (v0.9.0) — narrative chain head, open decisions/conflicts/triggers, top stale memories. Call this at conversation start instead of N separate recalls. Set include_gaps=True to fold known-unknowns (frequently-asked, poorly-answered queries) into the briefing — the active-learning loop. Set scope to filter content aggregates to one namespace for a per-tenant digest. Args: action: "start", "end", "capture", "history", "active", "abandon_stale", "digest". session_id: For end. namespace: Memory namespace. client_id: Client identifier. metadata: For start — optional dict. summary: For end — optional closing note. For capture — REQUIRED, the session summary to segment into memories. domain: For capture — domain stamped on drafted memories. limit: For history. abandon_stale_hours: For abandon_stale — max age in hours. narrative_namespace: For digest — namespace for the narrative chain. scope: For digest — filter content aggregates to one namespace (per-tenant isolation); omit for a whole-DB digest. include_gaps: For digest — fold top knowledg…

NameTypeReqDescription
abandon_stale_hours
actionstringyes
client_idstring
domainstring
include_gapsboolean
limitinteger
max_conflictsinteger
max_decisionsinteger
max_gapsinteger
max_triggersinteger
metadata
namespacestring
narrative_namespace
scope
session_id
snippet_charsinteger
summary
NameTypeReqDescription
resultstringyes

No examples provided.

skill ~588

Substrate-native agent skill catalog — define, surface, record outcomes. Skills are structured catalog entries (`skill_id`, `applies_to`, `body`, `type`) — different from loose how-to memories (use `procedure` for those). Writes go to the `skill_substrate` namespace so every yantrikdb consumer (this MCP, yantrikdb-hermes-plugin, Lane B SDK, WisePick) sees the same catalog. Schema-validated at write time: - skill_id: lowercase dot-separated segments, e.g. "workflow.git.commit_clean" - body: 50–5000 chars - applies_to: 1–10 lowercase_underscore identifiers (no hyphens) - skill_type: one of procedure | reference | lesson | pattern | rule ACTIONS: - "define": Create a skill (needs skill_id, body, skill_type, applies_to). - "surface": Find relevant skills (needs query). Returns ranked by score. - "outcome": Append a use outcome (needs skill_id, succeeded). - "get": Fetch a single skill by id. - "list": Catalog browse (filter by applies_to / skill_type). EXAMPLE: skill(action="define", skill_id="workflow.git.commit_clean", body="Before commit: run pytest + lint...", skill_type="procedure", applies_to=["git", "release"]) — then surface(query=...) before similar work, and outcome(skill_id=..., succeeded=True/False) after using one. Args: action: "define", "surface", "outcome", "get", "list". skill_id: Dot-separated id (for define/get/outcome). body: Skill body, 50–5000 chars (for define). skill_type: procedure|reference|lesson|pattern|rule (for define). applies_to: Non-empty identifier list ≤10 entries (for define; optional filter for surface/list). triggers: Optional list of trigger phrases (for define). on_conflict: "reject" (default) or "replace" if skill_id exists. version: Optional semver-shaped version string. supersedes: Optional skill_id this one replaces. query: Natural-language search (for surface). top_k: Max results for surface. succeeded: Outcome boolean (for outcome). note: Optional outc…

NameTypeReqDescription
actionstringyes
applies_to
body
limitinteger
note
on_conflictstring
query
skill_id
skill_type
succeeded
supersedes
top_kinteger
triggers
version
NameTypeReqDescription
resultstringyes

No examples provided.

stats ~201

Engine statistics, health check, learned weights, privacy/leak audit, and skill substrate counts. Read-only — index maintenance moved to think(maintenance_op=...) in v0.10. ACTIONS: - "stats": Detailed memory statistics (default). - "health": Quick health check with latency. - "weights": Show adapted recall scoring weights. - "audit_leak": v0.8.0 windowed leak-candidate audit — surfaces recent records that may have leaked sensitive content. Use for privacy review. - "skill_outcomes": v0.9.0 — total skill outcomes recorded in the durable timeline. Args: action: One of the actions above. namespace: Filter for stats. max_rids: For audit_leak — max candidate rids to inspect.

NameTypeReqDescription
actionstring
max_ridsinteger
namespace
NameTypeReqDescription
resultstringyes

No examples provided.

task ~322

Substrate-backed task / chore store (v0.9.0 engine). A thin general-purpose to-do tracker baked into yantrikdb — survives sessions, lives next to memories so future agents see open tasks at session_digest time. ACTIONS: - "add": Create a task (needs title; optional priority + parent_id). - "get": Fetch one task by id. - "list": List tasks in a namespace, optionally filtered by status. - "update": Update status and/or priority (needs task_id). - "delete": Delete a task (needs task_id). PRIORITY: "low" | "medium" | "high" — priority-ordered in `list`. STATUS: typically "open" | "doing" | "done" | "blocked". Args: action: "add" | "get" | "list" | "update" | "delete". namespace: Per-project / per-agent isolation. title: Task description (for add). priority: "low" | "medium" | "high" (for add / update). parent_id: Optional parent task id (for add — sub-task tree). task_id: Task id (for get / update / delete). status: Filter (for list) or new value (for update).

NameTypeReqDescription
actionstringyes
namespacestring
parent_id
priority
status
task_id
title
NameTypeReqDescription
resultstringyes

No examples provided.

temporal ~359

Find stale or upcoming memories, recall the past, or scan a time window. ACTIONS: - "stale": Important memories not accessed recently. - "upcoming": Memories with approaching deadlines/events. - "as_of": Time-travel recall — excludes anything recorded after `as_of`, so you see the belief held then, not today's. Engine v0.12+. - "range": Everything in a time window, oldest first — the surface for "what happened tonight / this week, in what order". Period and sequence questions are SET queries over a window; similarity search cannot answer them — route them here. Args: action: "stale", "upcoming", "as_of", or "range". days: Inactivity threshold (stale) or look-ahead window (upcoming). limit: Max results. namespace: Optional filter. query: Search text (required for "as_of"; optional for "range": given = relevance-selected within the window, omitted = the window's newest `limit` records). as_of: Past instant (required for "as_of"): "2026-08-01", "2026-08-01T14:30:00Z", "7d"/"24h" (ago), or unix seconds. since: Window start (required for "range"), same formats as as_of. until: Window end for "range" — defaults to now.

NameTypeReqDescription
actionstringyes
as_of
daysnumber
limitinteger
namespace
query
since
until
NameTypeReqDescription
resultstringyes

No examples provided.

think ~588

Run incremental cognitive maintenance — processes a small batch per call. DESIGNED TO BE CALLED OFTEN: Each call processes ~5 memories (configurable). Running regularly (e.g. at end of conversation) gradually maintains the entire database without blocking. Safe to call frequently. MODES: - Default: incremental think() — consolidation + conflict scan + (optional) pattern mining on a small batch. - maintenance_cycle=True: run the v0.9.0 autonomous-hygiene "sleep cycle" — think + burn-down-conflicts + prune-triggers + recalibrate-importance + backfill-entities + auto-relate (+ optional split_oversized + repair_artifacts). - last_cycle_only=True: just fetch the last persisted maintenance-cycle summary (read-only, no work performed). - maintenance_op="backfill_entities"|"rebuild_vec_index"|"rebuild_graph_index": run ONE targeted index-maintenance op and return. (Moved here from stats in v0.10 so stats could become read-only.) Args: run_consolidation: Merge similar memories (default on). run_conflict_scan: Detect contradictions (default on). run_pattern_mining: Mine cross-domain patterns (default off, slow). consolidation_time_window_days: Only consolidate memories within this window (default 7 days). consolidation_limit: Batch size — max memories to process per call (default 5). Keep small for fast returns. maintenance_cycle: Run the full autonomous hygiene cycle instead. last_cycle_only: Just fetch the last cycle summary (read-only). dry_run: For maintenance_cycle — preview without persisting changes. burn_down_conflicts / prune_triggers_too / max_pending_triggers / recalibrate_importance / backfill_entities / auto_relate_in_cycle / max_auto_relate_edges / split_oversized / split_min_chars / repair_artifacts: Maintenance-cycle knobs.

NameTypeReqDescription
auto_relate_in_cycleboolean
backfill_entitiesboolean
burn_down_conflictsboolean
consolidation_limitinteger
consolidation_time_window_daysnumber
dry_run
last_cycle_onlyboolean
maintenance_cycleboolean
maintenance_op
max_auto_relate_edgesinteger
max_pending_triggersinteger
prune_triggers_tooboolean
recalibrate_importanceboolean
repair_artifactsboolean
run_conflict_scanboolean
run_consolidationboolean
run_pattern_miningboolean
split_min_charsinteger
split_oversizedboolean
NameTypeReqDescription
resultstringyes

No examples provided.

trigger ~239

Manage proactive triggers + v0.8.0 bounded-backlog pruning. ACTIONS: - "pending": Get pending triggers (default). - "history": View past triggers. - "acknowledge": Mark trigger as seen. - "deliver": Mark as shown to user. - "act": Mark as acted upon. - "dismiss": Dismiss as irrelevant. - "prune": v0.8.0 — expire overdue triggers + evict oldest when over `max_pending`. Set dry_run=False to actually persist. Args: action: One of the actions above. trigger_id: Required for acknowledge/deliver/act/dismiss. trigger_type: Filter by type (for pending/history). limit: Max results. dry_run: For prune — preview without persisting. max_pending: For prune — soft cap on the pending backlog (default 64).

NameTypeReqDescription
actionstring
dry_runboolean
limitinteger
max_pendinginteger
trigger_id
trigger_type
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the io.github.yantrikos/yantrikdb-mcp server?

io.github.yantrikos/yantrikdb-mcp is listed in the public MCP registry as io.github.yantrikos/yantrikdb-mcp. Cognitive memory for AI agents, semantic recall, knowledge graph, and contradiction detection. This page covers its PyPI package (yantrikdb-mcp).

Is the io.github.yantrikos/yantrikdb-mcp server safe to use?

io.github.yantrikos/yantrikdb-mcp scores 63 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.yantrikos/yantrikdb-mcp server expose?

io.github.yantrikos/yantrikdb-mcp exposes 21 tools: remember, recall, forget, correct, think, and 16 more. Their descriptions and schemas cost roughly 7,984 tokens of context every time the server is loaded.

Is the io.github.yantrikos/yantrikdb-mcp server still maintained?

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