# Memchentic
```{raw} html
memchentic
```
## The problem
AI coding assistants are powerful in the moment and forgetful the next. They
lose the preferences you already explained, the decisions your team already
made, and the hard-won lessons from last week's bug hunt. You end up repeating
yourself, pasting the same context into every chat, and watching the agent
reinvent choices you thought were settled.
Shared work makes it worse. One person's "how we do auth here" never reaches
the next person's session. There is no durable place for *your* memory and
*your team's* memory that agents can actually use.
## How Memchentic solves it
Memchentic is a self-hosted memory service built for agentic work. You run it.
Your agents connect to it. They remember what matters, find it again later, and
respect who is allowed to see what.
Personal memory stays private to you. Optional groups let a team share a
collection without turning every note into a free-for-all. A web UI is there
when you want to browse and manage memories yourself; day to day, the agents
do the remembering.
## Memory that fits how people think
Not everything is the same kind of knowledge. Memchentic stores different
shapes on purpose:
- **Facts** and **decisions** — what is true, and what you already chose
- **Preferences** and **instructions** — how you want the agent to work
- **Insights**, **feedback**, and **notes** — lessons and catch-alls
- **Guides** — reusable advice the agent should keep getting better at
following, not a one-off scrap of text
Agents get a short digest first, then open the full memory when they need it —
so context stays useful instead of drowning the chat. Details live on
{doc}`memory-types`.
## Hybrid retrieval on a real database
Memchentic is not a prompt paste-bin or a vector-only store. Memory lives in
**Postgres**: ordinary relational rows (spaces, types, tags, ownership) plus
**full-text search** and **pgvector** embeddings in the same database.
When an agent calls `find` / `guide_find` over MCP, the server runs the same
hybrid path the API uses:
1. **Relational filters** — ACL, space, type, tags, path/repo hints as hard
SQL constraints
2. **Lexical match** — Postgres FTS (with a safe fallback) for the words that
matter
3. **Vector similarity** — cosine distance over embeddings for meaning when
phrasing differs
4. **Fusion** — reciprocal rank fusion merges both ranked lists before digests
are returned
That mix is why recall stays **scoped and current** (the row you filtered is
the row you get) while still catching **paraphrase and intent**. Performance
comes from indexed SQL and vectors in one place — not a second system to keep
in sync.
## An MCP server, not a side script
Memchentic *is* the MCP server. The same application that serves the UI also
exposes the tool surface your harness already knows how to call. Point Cursor,
Claude Code, Copilot, Codex, or another MCP client at it; authenticate; and
the agent can save and recall without a separate glue layer. Those recall tools
hit the hybrid Postgres path above — not a bolted-on side index.
You are not bolting memory onto the model with prompts alone. You are giving
the agent a real place to put knowledge, with isolation and a clear contract.
## Tools at a glance
The tool set is deliberately small and obvious:
- **Who am I / which spaces** — identity and the places memory can live
- **Remember and revise** — write durable entries; update or forget them
- **Find, browse, and open** — search or list, then load the full text
- **Guides** — capture and retrieve standing advice with confidence over time
- **Path-aware recall** — “what do we know about this part of the codebase?”
- **Housekeeping** — spot overlaps and stale items without silent auto-delete
A small set on purpose — enough to remember and find things, not a sprawling
tool catalog.
## Why people adopt it
- **Continuity** across sessions and tools, without pasting the same brief
every time
- **Hybrid retrieval** — relational filters, full-text, and vectors fused for
accurate, up-to-date recall
- **Multi-user by design** — personal isolation, optional shared groups
- **Operator-owned** — run it where you already run containers; your data stays
yours
- **Agent-native** — MCP-first, with a polished UI when humans need it
- **Its own product** — built for this job, not a thin wrap of someone else's
memory server
Ready to try it? Check {doc}`requirements`, then {doc}`docker` or
{doc}`helm`, then {doc}`connect-mcp` and {doc}`install-marketplace`. Deeper
pages cover {doc}`memory-types`, {doc}`groups`, {doc}`mcp-tools`, and the
{doc}`marketplace` plugin.
```{toctree}
:caption: Getting Started
:maxdepth: 1
:hidden:
:titlesonly:
requirements
docker
helm
environment-variables
connect-mcp
install-marketplace
```
```{toctree}
:caption: Concepts
:maxdepth: 1
:hidden:
:titlesonly:
memory-types
groups
mcp-tools
marketplace
```