Add it to Claude Code
claude mcp add project-tessera -- tessera mcpMake your agent remember this setup
project-tessera's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Hybrid search combining vector embeddings and BM25 keyword scoring
- Self-maintaining memory with contradiction detection and auto-deduplication
- Supports 40+ file types including PDF, XLSX, and code files
- Encrypted vault using AES-256-CBC for data at rest
- HTTP API with 58 endpoints for external script and tool integration
Tools 3
memory_writeStore information or decisions into the persistent knowledge base.memory_searchPerform hybrid vector and keyword search across stored memories and documents.document_ingestIndex local files or documents into the vector store.Environment Variables
TESSERA_VAULT_KEYEncryption key for AES-256-CBC storage at rest.Try it
Original README from besslframework-stack/project-tessera
Tessera
<a href="https://glama.ai/mcp/servers/@besslframework-stack/project-tessera"> </a>Every AI conversation produces knowledge. When the session ends, it's gone. Tessera keeps it.
One knowledge base for Claude Desktop, with an HTTP API for scripts and automation. Runs locally. No API keys, no Docker, no data leaving your machine.
pip install project-tessera
tessera setup
# Done. Claude Desktop now has persistent memory + document search.
Why Tessera over alternatives
| Tessera | Mem0 | Basic Memory | mcp-memory-service | |
|---|---|---|---|---|
| Works without API keys | Yes | No (needs OpenAI) | Yes | Partial |
| Works without Docker | Yes | No | Yes | No |
| Document search (40+ types) | Yes | No | Markdown only | No |
| ChatGPT integration (via tunnel) | Yes | No | No | No |
| Contradiction detection | Yes | No | No | No |
| Memory confidence scoring | Yes | No | No | No |
| Encrypted vault (AES-256) | Yes | No | No | No |
| HTTP API for non-MCP tools | 58 endpoints | Yes | No | Yes |
| Auto-learning from conversations | Yes | Yes | No | No |
| MCP tools | 58 | ~10 | ~15 | 24 |
The short version
Most memory tools store text and search it. Tessera does that, plus:
- HTTP API: 58 REST endpoints let scripts, ChatGPT (via tunnel + Custom GPT Actions), and local LLMs read and write the same knowledge base.
- Self-maintaining: finds contradictions between old and new memories, scores confidence by reinforcement frequency, flags stale knowledge, auto-merges near-duplicates.
- Zero infrastructure:
pip installand go. LanceDB and fastembed are embedded -- no Docker, no database server, no API keys. - Encrypted: set
TESSERA_VAULT_KEYand all memories are AES-256-CBC encrypted at rest.
Architecture
How search works (query path)
User asks: "What did we decide about the database?"
|
v
+-----------------------+
| Query Processing |
| Multi-angle decomp | "database decision"
| (2-4 perspectives) | "database", "decision"
+-----------------------+ "decision about database"
|
+-------------+-------------+
| |
v v
+------------------+ +------------------+
| Vector Search | | Keyword Search |
| (LanceDB) | | (FTS index) |
| 384-dim MiniLM | | BM25 scoring |
+------------------+ +------------------+
| |
+-------------+-------------+
|
v
+-----------------------+
| Reranking |
| 70% semantic weight | LinearCombinationReranker
| 30% keyword weight | + version-aware scoring
+-----------------------+
|
v
+-----------------------+
| Result Assembly |
| Dedup (content hash) | 2-pass deduplication
| Verdict labels | found / weak / none
| Cache (60s TTL) |
+-----------------------+
|
v
Top-K results with
confidence scores
How ingestion works (ingest path)
Documents: .md .pdf .docx .xlsx .py .ts .go ... (40+ types)
|
v
+-----------------------+
| File Type Router |
| Markdown, CSV, XLSX | Type-specific parsers
| Code, PDF, Images | with metadata extraction
+-----------------------+
|
v
+-----------------------+
| Chunking Engine |
| 1024 tokens/chunk | Se