Labsco
MCP SERVER

AgenticMind

by Moai-Team-LLC

Answers with enforced citations, a replayable trace, and a status field you can gate an agent on.

Agent Memory
Summary
Refusal is a feature here, and it is checkable.

The demonstration in the README asks a two-part question the corpus can only half answer, and the half it cannot support comes back refused rather than invented. That behaviour is only useful if you can act on it, which is what the status field is for: an agent can be gated on "supported" and made to stop otherwise. The other thing to weigh is operational — one datastore, no Redis, no separate vector database, no graph service.

What it is

A knowledge and memory service for agents, running headless over MCP with Postgres and pgvector as the only datastore — vectors, full-text, the knowledge graph and the job queue all live there. Retrieval runs in tiers: chunks, then typed fact cards, then graph traversal.

What you get
  • `kl_search` for passage search and `kl_ask_global` for a synthesised answer where every claim carries a numbered citation, plus a status you can branch on — supported, partial, unsupported, conflicted or needs_review
  • `kl_get_material` fetches a source by id and `kl_graph_neighbors` walks to related material
  • `kl_ingest` adds text, chunking, embedding, distilling it into cards and extracting graph relations; `kl_forget` removes a material and everything derived from it
  • `kl_signal` emits a programmatic signal on a prior answer, which is what drives the judge-gated loop that promotes validated knowledge back into the corpus
  • A separate memory layer: `mem_recall` reads beliefs with semantic search or time-travel to a past point, `mem_write` records one, `mem_forget` retracts your own
  • Every tool is scoped — read, write, admin and signal are separate permissions on a token
  • Answers carry a why-trace: the phases, their timings, the model used and a telemetry id
Requirements

Docker with Compose v2.23+ for the quickstart, which pulls the published images, generates secrets, starts Postgres, server and worker, and prints the MCP configuration. The endpoint is http://localhost:3000/mcp with a bearer header. Embeddings run locally by default — a multilingual model downloads on first use and needs no key — so only synthesis needs a chat model, either an OpenAI key or any OpenAI-compatible endpoint such as a local Ollama or vLLM. From source it needs Node >=22.18 or Bun >=1.3 and Postgres with pgvector.

Setup effort

One command plus a key — OPENAI_API_KEY=sk-... sh -c "$(curl -fsSL https://raw.githubusercontent.com/Moai-Team-LLC/AgenticMind/main/quickstart.sh)", then supply credentials