aci-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aci-mcp Validate: 'the sky is green' against my stored facts."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ACI-VPU — Artificial Cognition Infrastructure · Virtual Processing Unit
A virtual processing unit for cognition. The way a GPU is a processing unit for graphics, ACI-VPU is one for memory and understanding — a layer any AI or program calls to remember, reconcile, and retrieve. It gives an AI private, persistent, provenance-aware memory, so a grounded fact beats a lie repeated five times, and repeated context, inference and cloud calls get reused instead of re-paid.
pip install aci-vpu
aci-demoRuns offline. No GPU, no API keys. Base install is just numpy + pypdf.
ACI-VPU is a memory and reasoning layer, not an LLM and not a replacement for one. It's the unit that makes an LLM remember, keep its facts straight, and cost less to run.
The 30-second proof
aci-demo stores one true fact from a trusted file, then the same lie five times from untrusted chats, and asks the memory to check both:
MEMORY HOLDS 1 grounded truth (15 March, from roadmap.pdf)
the SAME lie x5 (20 April, from unverified chats)
check the LIE (repeated 5x): CONTRADICTED <- caught, despite the repetition
check the TRUTH (grounded 1x): consistent <- the grounded fact standsThe lie was newer and five times more frequent — and ACI-VPU still refuses it, because it weighs claims by trust and provenance, not by loudness or recency. A small local model reading this memory answers "15 March" correctly, for free, offline — because the memory did the reconciling the model can't.
A plain vector database (and an LLM reading one) does the opposite: it tends to surface whatever is most recent or most repeated.
Related MCP server: mnemosis-mcp
Why not just a vector DB / ordinary RAG?
Same embedder, measured side by side (benchmark/benchmark_vs_vectordb.py) — so the only thing being compared is the ACI-VPU layer, not the embeddings. Verified with both lexical and real sentence-transformer embeddings, same result:
Capability | Vector DB | ACI-VPU |
Semantic retrieval | ✓ | ✓ |
Returns the current value, suppresses a superseded one | — | ✓ |
Flags a low-trust rumor vs a verified fact | — | ✓ (conf 0.70 vs 0.20) |
Detects contradiction between claims | — | ✓ |
Provenance weighting (who said it, how much you trust them) | — | ✓ |
Deduplicates repeated content (5 copies → 1 stored) | — | ✓ (2.8 KB vs 13.8 KB) |
Explainable trace for every answer | — | ✓ |
The wins come from truth values (ψ), contradiction detection, truth-aware supersession, and dedup — not from a better embedder.
What ACI-VPU is NOT
not an LLM and not a replacement for one
not a vector database (it uses one for coarse recall, then reconciles on top)
not a perfect document-to-knowledge-graph extractor — auto-extraction is high-precision on cleanly-stated facts, ~50% on messy/OCR'd docs (see Limitations)
not lossless compression through embeddings — stored meaning is lossy; byte-exact restore comes from a separate compressed blob
not an autonomous agent — it's a memory and validation layer that agents call
Privacy — the default, not a setting
Your memory stays on your device. ACI-VPU is a local service; nothing leaves your machine unless you wire it to. On top of that: at-rest encryption (ACI_PASSPHRASE, stdlib cipher out of the box, AES with [secure]), a global pause for all capture, a consent ledger to block any source, one-click forget, an audit trail, and secret redaction — credentials, API keys and tokens are masked or skipped before they can ever be stored.
How it works
Everything is a monad: a unit of information carrying a graded truth value (ψ), provenance, entropy, and links to other monads. Six primitives operate on it (aci/aci.py):
Primitive | What it does |
| turn raw info into a structured monad (+ dedup + compression) |
| retrieve by meaning (semantic + truth + recency + graph neighbours) |
| link monads in the meaning field |
| check a statement vs memory → contradiction + confidence + explainable trace |
| storage/compression stats |
| decide where a task should run (local vs cloud) |
The truth algebra is a small canonical gate set (NOT = 1/ψ, AND, OR, XOR = contradiction distance, IMPLIES), internally consistent and test-enforced (see CANON_GATES.md). A refinement loop settles beliefs toward self-consistency (ψ → 1).
Observer-relative truth. recall and validate can rank by observer-effective truth — ψ × the observer's trust in the source — over only what an observer is allowed to see, keeping cross-source conflicts as competing claims rather than silently overwriting them. This is the mechanism that lets one shared knowledge base serve different roles differently. By default semantic similarity leads the ranking; strengthening trust so it re-orders results (a legal view vs a sales view of the same KB) is a configurable weighting.
What you get
The full engine, from pip install aci-vpu:
Persistent memory —
monadise, on-device SQLite store, dedup, encryption.Truth / provenance engine — contradiction detection, supersession, confidence, explainable traces.
Semantic retrieval — vectorized top-k + meaning-graph neighbours; lexical by default, add
[semantic]for embeddings.Optimization — reuse of context, inference and storage, from the same
monadiseop (see below).MCP + SDK — give it to any AI.
aci monadise "My accountant is Sarah Chen."
aci recall "accountant"
aci validate "Helios ships on 20 April." # -> contradiction + trace
aci stats # health + compression
aci forget <id> # right to be forgottenGive it to any AI (MCP)
aci-mcp is a zero-dependency MCP server (newline-delimited JSON-RPC over stdio) that exposes your ACI-VPU to any MCP-capable AI — Claude, Claude Code, Cursor. It needs no extra installs.
aci-mcp # the stdio server — point your AI client's config at this
aci-mcp-setup # one-shot: register ACI-VPU with Claude Desktop / Cursor
aci-doctor # health check: install + MCP import + protocol handshakeNine tools: aci_recall, aci_remember, aci_validate, aci_ingest, aci_post_work, aci_team_activity, aci_find_skills, aci_save_skill, aci_skill_outcome. The AI reads and writes your memory every session instead of starting blank, and states when it did (✦ via ACI-VPU), so you can see why an answer is trustworthy.
SDK / HTTP: Python from aci.client import ACIClient; JavaScript clients/aci.js; or plain HTTP/JSON against the local service (GET /openapi.json). Set ACI_API_KEY to gate it.
Optimization — real, but workload-dependent (read the qualifier)
Because storing a monad already deduplicates and compresses, the same engine cuts cost. benchmark/benchmark_optimization.py reports these on a redundant / known workload:
Lever | Reduction (on redundant/known workloads) |
Stored representation | ~98% |
Repeated inference (cached) | ~90% |
Context tokens (grounded build) | ~92% |
Compute gating (entropy-value) | ~80% |
Cloud calls (local routing) | ~60% |
Read this before quoting the numbers. These are best cases on repetitive / known data. On fully novel workloads the savings trend to ~0% — there's nothing to reuse. And stored monads are lossy (they keep meaning, not exact bytes). The honest claim is: ACI-VPU reduces repeated context, inference and storage on workloads that contain real redundancy — which most production AI workloads do — not "98% off everything."
Extensions (optional)
All on-device, all opt-in — thin layers over the same memory:
Browser capture — a Chromium extension folds the pages you actually read into the same searchable memory (
clients/browser-extension/).Device optimization — read-only device health + a duplicate-file finder with reclaimable-space report (
aci device,aci dupes).Memory Compressor — keep a losslessly LZMA-compressed, dedup'd copy of a folder's originals and a semantic index; delete the originals, restore byte-exact later (
aci archive/aci restore, SHA-256 verified).Shared skills — reusable declarative know-how stored as
SKILLmonads; confidence earned from outcomes, better versions supersede once proven. One AI writes a skill, another finds it (aci_find_skills/aci_save_skill/aci_skill_outcome).Always-on autonomy — point it at a folder once; it re-syncs itself and runs on login (
aci watch,aci autostart).Observation (off by default) — active-window / clipboard / OCR / email connectors, all consent-gated, pausable, encrypted, with secret redaction.
Extras: pip install "aci-vpu[semantic]" (embeddings), [nlp], [secure] (AES), [scale] (ANN index), or [full].
Limitations
Stated plainly, because they decide whether ACI-VPU fits your use:
Auto-extraction is best-effort. Turning raw prose or PDFs into clean subject-predicate-object facts is high-precision on cleanly-stated sentences but ~50% on messy/OCR'd documents. Contradiction and supersession are most reliable on facts you state or tag.
Stored monads are lossy. They preserve meaning, not exact bytes. Byte-exact recovery is only via the Memory Compressor's separate compressed blob.
Optimization savings are workload-dependent — they trend to ~0% on fully novel data.
Observer-partition is a configurable weighting, not strong by default.
Run from source
pip install -e ".[full]" # everything: semantic + ANN + AES
py -m unittest discover -s tests # validation tests
py benchmark/benchmark_vs_vectordb.py # ACI-VPU vs a real vector DB
ACI_EMBEDDER=st py benchmark/benchmark_vs_vectordb.py # same, with real embeddings
py benchmark/benchmark_optimization.py # the optimization numbers aboveLicense
Apache-2.0. ACI-VPU is the memory and reasoning layer — it makes any AI remember, keep its facts straight, and cost less to run; it doesn't make the model smarter on its own.
Available Tools
9 toolsaci_find_skillsA
Search the shared SKILL library by intent before doing a task, to reuse a procedure another AI (or the user) already worked out — e.g. 'how to draft an arbitration notice'. Returns skills ranked by EARNED confidence (ψ), with their steps and author. Prefer a high-confidence existing skill over improvising.
Inputs: intent (required), k.
aci_ingestA
Index a FOLDER on the user's machine into their ACI memory, so its documents (PDF, Office, text, images, ...) become recallable in every future session and by every connected AI. Use when the user says things like 'remember everything in this folder', 'index my Cases folder', or 'learn my documents'. Incremental and on-device: only new/changed files are processed and re-running is cheap. Give an absolute FOLDER path (not a single file).
Inputs: path (required), full_resync.
aci_post_workA
Record what you (an AI agent) just did on a shared project into the user's ACI commons, so other AIs and the user can see it. Use when collaborating with other agents on the same project — log decisions, findings, or completed steps. Every agent connected to ACI reads and writes this same shared work log.
Inputs: note (required), agent, project.
aci_recallA
Search the user's ACI cognition memory by meaning — their files, web pages, notes and facts from past sessions, ranked by semantic similarity, TRUST and recency. ALWAYS call this before answering anything that could depend on the user's own data, documents, decisions or history, instead of assuming you have no memory of them: it is both cheaper and more accurate than guessing or asking them to repeat themselves. Pass as_of to time-travel: recall what was TRUE on a past date. When you use what it returns, tell the user the answer was grounded via ACI-VPU.
Inputs: query (required), k, as_of.
aci_rememberA
Store a durable fact or piece of knowledge into the user's ACI memory so it is available to every future session and every other app/AI connected to ACI. Use for stable facts the user states about themselves, their work, or decisions — not for ephemeral chit-chat.
Inputs: content (required), source_type.
aci_save_skillA
Publish a reusable, DECLARATIVE skill (a procedure / how-to / prompt — NOT runnable code) into the shared library so other AIs can find and reuse it. Re-saving the same skill corroborates it; an improved version supersedes the old once it proves at least as reliable. Save skills you worked out that others would reuse.
Inputs: body (required), name (required), intent (required), tags, +1 more.
aci_skill_outcomeA
Report whether a skill from the library actually WORKED after you used it. Success raises its confidence; failure lowers it. This is how the shared library self-curates — good skills rise, bad ones decay. Call it after acting on a skill from aci_find_skills.
Inputs: success (required), skill_id (required).
aci_team_activityA
See what every AI (and the user) has done on a shared project — the cross-agent work log from the user's ACI commons. Call this when you start collaborating to catch up on what other agents already did, so you don't duplicate their work.
Inputs: project.
aci_validateA
Check a statement against the user's ACI memory for contradictions and confidence — trust-weighted, so a grounded fact overrides a lie repeated many times. Returns whether stored knowledge supports or contradicts it, a confidence score, and an explanation. ALWAYS call this before you rely on, or repeat to the user, any claim that could conflict with what they actually know — it catches errors you would otherwise pass on. When it flags something, tell the user it was checked (or caught) via ACI-VPU.
Inputs: statement (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Tools orgainize into three recognizable domains — personal memory (recall/remember/ingest/validate), shared skills (find/save/outcome), and collaboration (post/team_activity) — with clear read/write pairs. Two pairs (recall vs validate and remember vs ingest) could cause initial misselection, but their descriptions give distinct triggers: search-by-meaning vs claim-checking, and single-fact vs folder ingestion.
All tools share the aci_ prefix in snake_case, with most following a verb (recall, remember, ingest, validate) or verb+object pattern (find_skills, save_skill, post_work). aci_skill_outcome and aci_team_activity break the verb convention with noun-noun names, a minor deviation in an otherwise predictable scheme.
Nine tools cover three cohesive subdomains — memory (4), skills (3), and shared work log (2) — with each tool serving a distinct purpose and no apparent redundancy. This sits comfortably in the well-scoped 3-15 range for a server of this breadth.
Memory has write (remember/ingest), read (recall), and verification (validate) but no explicit forget/delete tool; agents can work around this via re-storing corrections. Skills have a full find/save/feedback lifecycle, and the work log has both write and read sides, so core workflows are well covered with only a minor gap.
Maintenance
Related MCP Connectors
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Governed personal world model and memory for your AI agent. Pair once, connect over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLocal-first AI memory layer with hybrid retrieval and brain-inspired namespaces. Enables agents to save, search, and manage memories directly via MCP tools.3 npmMIT
- AlicenseCqualityAmaintenanceProvides AI agents with a human-inspired memory layer via MCP, enabling episodic and semantic memory recall, forgetting curves, consolidation, and contradiction detection. It integrates with MCP clients to offer local-first, dependency-free memory management.981MIT
- AlicenseNot gradedqualityBmaintenanceProvides local-first persistent memory with a typed knowledge graph and bounded multi-hop retrieval via MCP, letting coding agents and local LLM systems store, search, and recall facts across sessions without hosted services or model dependencies.MIT
- AlicenseAqualityCmaintenanceProvides persistent local memory for any MCP-compatible AI agent, enabling agents to store, search, recall, forget, export, and manage preferences, rules, and facts with zero dependencies, no cloud, and no API keys.8MIT