1. Conduid
  2. Agents
  3. Vayl
MCP server · Agents

Vayl

Reconciling memory for coding agents: switch a library or decision and your AI assistant actually forgets the old one — no stale suggestions. MCP server for Cursor & Claude Code.

34Low

Scored a month ago · breakdown

About Vayl

Vayl is an MCP server published by ac12644 in the Agents category: reconciling memory for coding agents: switch a library or decision and your AI assistant actually forgets the old one — no stale suggestions. MCP server for Cursor & Claude Code.

The repository has 2 stars and 1 forks, with the last commit 4 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/ac12644/vayl

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (32)

attest(subject)Issue a **signed, third-party-verifiable attestation** of the current value — "as of now, X is the value", anchored to the tamper-evident audit head. Prove what was known, and when.

Parameters not published.

audit_log()The accountability trail — who did what, when; detail encrypted at rest; never wiped by erasure.

Parameters not published.

check_before_act(subject, …)**Safety gate before an irreversible action.** Returns SAFE, or BLOCKED with reasons — a disputed (FLAGGED) value, confidence below the bar, a stale fact, or one that just changed. Tune the policy (`min_confidence`, `max_staleness_days`, …).

Parameters not published.

confirm_change(memory_id, decided_by)Approve a proposed change, applying it. Records **who** decided.

Parameters not published.

create_principal(name, role, scopes)*(admin)* Create a user/agent and issue its API key (shown once). Roles: admin, member, agent, viewer, auditor. `scopes` confines it to named `user_id`s — **required for multi-tenant**.

Parameters not published.

delete(subject)**Permanently erase** a subject, history included — right-to-be-forgotten / GDPR. Unlike `forget`, nothing is retained; the erased values are also **redacted from decision snapshots** (re-signed, redaction audited). Issues a **signed erasure receipt**.

Parameters not published.

delete_all()Permanently erase **all** of a user's memory (account deletion / GDPR), with their decision snapshots redacted too. Issues a signed erasure receipt.

Parameters not published.

explain_decision(decision_id)Reconstruct a past decision: the action plus the beliefs held **at that moment**, with the signed receipt verified so you know the record wasn't altered.

Parameters not published.

export_memory()**DSAR-complete export** (GDPR Art. 15/20): statements (active + history) plus the subject's decision snapshots, audit entries, and receipts — machine-readable JSON.

Parameters not published.

export_public_key()Vayl's Ed25519 public key — anyone can verify receipts, attestations, and the audit chain **without the secret key or the database**.

Parameters not published.

Show all 32 tools
forget(text)Retract a fact (`"we dropped Sentry"`, `"Alice left"`) — retired but **kept in history** for audit. Guaranteed removal.

Parameters not published.

get_memory(memory_id)One memory's structured detail (value, status, scope, confidence, metadata). Ids are shown as `#id` by `list_memories`.

Parameters not published.

get_reconcile_policy()Show the space's reconciliation policy.

Parameters not published.

health()Diagnose setup — checks the database, embedder, LLM, and graph (if enabled) are reachable. Run this first if something isn't working.

Parameters not published.

history(subject)The change-log for a subject — every value it has held, oldest → newest, with status. The "what did we use first vs now" view additive stores can't give you.

Parameters not published.

license_status()Show the edition (Community or licensed), seats used vs. allowed, expiry, and unlocked features.

Parameters not published.

list_memories()Current active facts (each with its `#id`) plus a history block of what was superseded / retracted.

Parameters not published.

list_principals()*(admin)* List the deployment's principals and their roles (never shows keys).

Parameters not published.

pending_changes()Proposed changes to **confirm-required** slots that have not been applied — the human-approval queue. Shows old → new plus the sentence that triggered it.

Parameters not published.

purge_expired(days, …)Retention (Art. 5(1)(e)): hard-delete records older than N days; flags extend it to the audit log / decisions / receipts — the audit chain stays verifiable across purges via a **signed retention anchor**.

Parameters not published.

recall(question, explain=True)Answer from memory — current value, history, or multi-hop. Says **"I don't know"** rather than guessing. With `explain=True`, also returns the **provenance** — the exact facts used, each with who asserted it, its confidence, and what it superseded. `include_history=True` reaches retired facts for questions about the past; `critical_categories=…` forces named categories into the answer regardless of ranking.

Parameters not published.

recall_related(question)Deep / relational / multi-hop questions via the entity graph (`"who owns the company Bob works for?"`). Falls back to `recall` when the graph isn't enabled.

Parameters not published.

record_decision(action_summary, question)Log a decision bound to the **exact facts the agent consulted** — an immutable, signed snapshot of what it believed. Answers "why did the agent do X?" even after those facts later change.

Parameters not published.

reject_change(memory_id, decided_by)Discard a proposed change. The current value stands; the proposal is kept as history.

Parameters not published.

remember(text, source=…)Store fact(s). Automatically supersedes, retracts, or splits multiple facts in one message. `source` records who/what asserted it (belief provenance + source-aware reconciliation in a shared space).

Parameters not published.

revoke_principal(id, erase)*(admin)* Disable a principal — its API key stops working immediately. `erase=True` hard-deletes the record (Art. 17 for team members).

Parameters not published.

safe_recall(question, …)Like `recall`, but answers **only if every current fact behind the answer is safe to act on**; otherwise it withholds the answer and returns why. Use on the path to an action.

Parameters not published.

set_reconcile_policy(mode, authority)Configure how a **shared space** resolves conflicts between different contributors: `RECENCY` (newer wins), `AUTHORITY` (higher-ranked source wins; a lower one is flagged, not overwritten), or `REVIEW` (every cross-source conflict is flagged).

Parameters not published.

stats()On-device KPIs — per-tool call counts, avg latency, errors, and the distribution of reconciliation actions (SUPERSEDE / RETRACT / FLAG / SKIP …). Nothing leaves the machine.

Parameters not published.

update_memory(memory_id, new_value)Correct a memory by id — **audit-preserving**: the old value is retired to history, the new one becomes active.

Parameters not published.

verify_audit()Verify the **tamper-evident audit chain** end-to-end — reports INTACT, or the exact row where it breaks (edited / reordered / truncated).

Parameters not published.

verify_receipt(receipt_id)Verify a signed erasure receipt or attestation — recomputes the body and checks the Ed25519 signature. VALID / INVALID.

Parameters not published.

Ask AI

✦

Ask AI about Vayl

Powered by Claude · Grounded in docs

I know everything about Vayl. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Questions

About Vayl

How do I install Vayl?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Vayl safe to use with an AI agent?

Its trust score is 34 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Vayl still maintained?

Yes — the last commit was 4 days ago. The repository has 2 stars and 1 forks.