Skip to content

Commit 2de1198

Browse files
Skiipy11claude
andcommitted
chore: bump MCP package to v2.3.0, update changelog + description
- Version 2.0.0 → 2.3.0 - Description updated to reflect multi-path retrieval - Added keywords: bm25, keyword-search, reciprocal-rank-fusion, rrf, knowledge-graph, entity-extraction - Full v2.3.0 changelog entry with all new features, API changes, schema changes, and config Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a454bf8 commit 2de1198

2 files changed

Lines changed: 54 additions & 2 deletions

File tree

mcp-server/CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# Changelog
22

3+
## 2.3.0 (2026-03-26)
4+
5+
### Multi-Path Retrieval with RRF Fusion
6+
7+
Search now runs three retrieval paths in parallel and merges results using Reciprocal Rank Fusion — dramatically improving recall for exact names, technical terms, and entity-connected memories.
8+
9+
#### New Retrieval Paths
10+
- **BM25 keyword search** — Full-text search via Postgres tsvector/GIN index or SQLite FTS5 fallback. Catches exact term matches that embedding similarity misses (client names, technical terms, error codes).
11+
- **Entity graph BFS retrieval** — Breadth-first spreading activation through the entity relationship graph. Starts from entities mentioned in the query, traverses co-occurrence and typed relationships (uses, works_on, contact_of) with configurable activation decay. Surfaces memories connected by entity relationships, not just text similarity.
12+
- **Reciprocal Rank Fusion (RRF)** — Merges ranked lists from all three paths using `score(d) = sum(1/(k+rank))`. Items found by multiple paths get boosted. Pure JS, zero dependencies.
13+
14+
#### New Files
15+
- `api/src/services/rrf.js` — RRF fusion algorithm with 13 unit tests
16+
- `api/src/services/keyword-search.js` — BM25/FTS keyword search service
17+
- `api/src/services/graph-search.js` — BFS spreading activation graph retrieval
18+
- `api/scripts/backfill-keyword-index.js` — One-time migration for existing memories
19+
- `api/tests/rrf.test.js` — Comprehensive test suite (edge cases, score verification, 3-path scenarios)
20+
21+
#### API Changes
22+
- `GET /memory/search` runs all 3 paths via `Promise.all()`, fuses with RRF
23+
- `format=full` results include `retrieval_sources` array showing which paths contributed (e.g. `["vector", "keyword", "graph"]`)
24+
- `format=full` response includes `retrieval` metadata with per-path hit counts
25+
- `POST /memory` indexes content for keyword search on write (fire-and-forget)
26+
- `DELETE /memory/:id` and supersede logic deactivate keyword index entries
27+
- `GET /stats` includes `retrieval` section with keyword index count and path availability
28+
29+
#### MCP Tool Updates
30+
- `brain_search` description updated to reflect multi-path retrieval
31+
32+
#### Schema Changes
33+
- **Postgres**: `memory_search` table with tsvector column, GIN index, auto-compute trigger. Partial indexes on `entity_relationships` for co-occurrence lookups.
34+
- **SQLite**: FTS5 virtual table `memory_search_fts` for keyword search fallback.
35+
- **Qdrant**: `getPoints()` batch retrieval endpoint for RRF payload hydration.
36+
37+
#### Configuration
38+
- `MULTI_PATH_SEARCH=true|false` — Feature flag (default: true)
39+
- `RRF_K=60` — RRF smoothing constant (range 50-100)
40+
- `GRAPH_SEARCH_MAX_DEPTH=2` — Max BFS hops through entity graph
41+
- `GRAPH_SEARCH_DECAY=0.8` — Activation decay per hop
42+
- `GRAPH_SEARCH_CAUSAL_BOOST=2.0` — Boost for typed relationships vs co_occurrence
43+
44+
#### Testing
45+
- 13 new RRF unit tests, 114 total tests passing
46+
47+
Inspired by [vectorize-io/hindsight](https://github.com/vectorize-io/hindsight)'s 4-way parallel search architecture.
48+
349
## 2.0.0 (2026-03-20)
450

551
### Features

mcp-server/package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "@zensystemai/multi-agent-memory-mcp",
3-
"version": "2.0.0",
3+
"version": "2.3.0",
44
"type": "module",
5-
"description": "Persistent semantic memory across AI agents — credential scrubbing, auto-consolidation, multi-backend storage (Qdrant + SQLite/Postgres/Baserow)",
5+
"description": "Persistent multi-path memory for AI agents — vector + BM25 keyword + entity graph search with RRF fusion, credential scrubbing, auto-consolidation, multi-backend storage (Qdrant + SQLite/Postgres)",
66
"main": "src/index.js",
77
"bin": {
88
"multi-agent-memory-mcp": "src/index.js"
@@ -23,6 +23,12 @@
2323
"multi-agent",
2424
"llm",
2525
"semantic-search",
26+
"bm25",
27+
"keyword-search",
28+
"reciprocal-rank-fusion",
29+
"rrf",
30+
"knowledge-graph",
31+
"entity-extraction",
2632
"persistent-memory",
2733
"cross-agent",
2834
"knowledge-base",

0 commit comments

Comments
 (0)