Repository avatar
AI Tools
v0.3.0
active

vibo-mcp

io.github.vnbochkarev-netizen/vibo-mcp

Local-first memory for AI agents: facts with hash-chain provenance, verified recall.

Documentation

ViBo MCP Server

Local-first memory for AI agents. Facts live on your machine in one JSON file, each one chained to the previous by hash, so you can prove later where a fact came from and that nobody edited it. Works with any MCP client: Claude Desktop, Claude Code, Cursor, Codex, VS Code, Windsurf.

No account, no key, no network call required.

Install

npm install -g @vibo-dev/vibo-mcp

Client config (Claude Desktop example):

{
  "mcpServers": {
    "vibo": {
      "command": "npx",
      "args": ["-y", "@vibo-dev/vibo-mcp"]
    }
  }
}

Memory is stored in ~/.vibo/mcp/memory.json. Override with VIBO_MEM_FILE (file path) or VIBO_HOME (directory).

Tools

ToolWhat it does
memory_addSave a fact. Deduplicated by label + content. Levels L1 / L2 / L3 (secret).
memory_searchFind facts by words, ranks by relevance. L3 hidden unless include_secrets.
memory_verifyCheck claims: CONFIRMED / CONTRADICTS / PARTIAL / NOT FOUND. Catches wrong numbers.
memory_provenanceVerify the hash chain and list facts with origin and timestamps.
memory_forgetDelete by label or id. Refuses without confirm=true.
memory_usageFacts, tokens stored, average tokens returned per search.
thread_memoryConversation memory: add, context, ask, compress older messages.
web_searchNot in this build — returns an honest "unavailable" instead of failing silently.

Example

memory_add(label="client-anna-prefs", content="Anna orders coffee without sugar, budget 24000 RUB per month")
memory_search(query="what does Anna prefer")
  -> [L1] client-anna-prefs: Anna orders coffee without sugar, budget 24000 RUB per month (0.86)

memory_verify(claims=["Anna budget is 24000 RUB per month", "Anna budget is 99000 RUB per month"])
  -> CONFIRMED "Anna budget is 24000 RUB per month" — memory: client-anna-prefs (L1)
  -> CONTRADICTS "Anna budget is 99000 RUB per month" — memory: client-anna-prefs (L1)

Design

  • Local only by default. The server never phones home. If you set VIBO_API_KEY and VIBO_BASE_URL, facts are mirrored best-effort; failure never breaks a tool call.
  • Provenance built in. Every fact carries hash and prev; memory_provenance recomputes the chain and reports the first break.
  • Secrets stay put. L3 facts are excluded from search results unless explicitly requested.
  • Deterministic recall. Lexical ranking with light stemming, no embeddings, no background "consolidation" that silently rewrites your memory.

Tests

npm run build
python3 tests/smoke.py    # 20 checks over the real stdio protocol

Links

Integrations