@cachly-dev/mcp-server 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +140 -0
- package/Dockerfile +12 -15
- package/README.md +214 -259
- package/dist/__tests__/namespace.test.d.ts +1 -0
- package/dist/__tests__/namespace.test.js +114 -0
- package/dist/__tests__/namespace.test.js.map +1 -0
- package/dist/index.d.ts +36 -3
- package/dist/index.js +4324 -2356
- package/dist/index.js.map +1 -1
- package/dist/search.test.js +276 -3
- package/dist/search.test.js.map +1 -1
- package/package.json +2 -6
- package/scripts/postinstall.js +36 -0
- package/smithery.yaml +10 -5
- package/src/__tests__/namespace.test.ts +126 -0
- package/src/index.ts +4375 -2353
- package/src/search.test.ts +330 -3
- package/test-features.cjs +23 -0
- package/.github/workflows/publish.yml +0 -28
- package/LICENSE +0 -202
- package/glama.json +0 -6
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Changelog – cachly SDK (mcp)
|
|
2
|
+
|
|
3
|
+
**Language:** MCP (Model Context Protocol)
|
|
4
|
+
**Package:** `@cachly-dev/mcp-server` on **npm**
|
|
5
|
+
|
|
6
|
+
> Full cross-SDK release notes: [../CHANGELOG.md](../CHANGELOG.md)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [0.7.0] – 2026-05-04
|
|
11
|
+
|
|
12
|
+
### 🌐 Knowledge Syndication — The Global AI Brain
|
|
13
|
+
|
|
14
|
+
The first collective intelligence layer for AI memory.
|
|
15
|
+
Every instance contributes. Every instance learns. Privacy-preserving by design.
|
|
16
|
+
|
|
17
|
+
#### New Tools
|
|
18
|
+
|
|
19
|
+
- **`syndicate`** — Contribute a verified lesson to the **global Knowledge Commons**. Your identity is a one-way HMAC hash — completely anonymous. The lesson is immediately searchable by every other AI brain on the planet. Call this after any `learn_from_attempts` that is worth sharing: critical bugs, deployment gotchas, architecture discoveries. This is how individual knowledge becomes collective intelligence.
|
|
20
|
+
|
|
21
|
+
- **`syndicate_search`** — Search the **global Knowledge Commons** for solutions discovered by the entire community. Results ranked by `confirm_count` (trust score) then recency. Use this *before* debugging any unknown issue — someone in the global brain likely solved it already. Returns: topic, what worked, what failed, trust bar `████████░░ ×47`.
|
|
22
|
+
|
|
23
|
+
#### Privacy Design
|
|
24
|
+
- Contributors identified only by HMAC-SHA256 of user_id — irreversible, not linkable to any identity
|
|
25
|
+
- Absolute file paths stripped from all content before storage
|
|
26
|
+
- Community flagging: lessons with 3+ flags are hidden globally
|
|
27
|
+
- Trust scoring: `confirm_count` rises as independent instances verify a lesson works
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## [0.6.1] – 2026-05-04
|
|
32
|
+
|
|
33
|
+
### 🧠 Cognitive Cache — v0.6 Major Feature
|
|
34
|
+
|
|
35
|
+
The first AI Memory system with **reasoning over its own knowledge**. No other cache has ever done this.
|
|
36
|
+
|
|
37
|
+
#### New Tools
|
|
38
|
+
|
|
39
|
+
- **`memory_consolidate`** — Weekly garbage collector for your AI Brain. Detects contradictions (same topic, different outcomes), merges duplicate lesson clusters, flags stale entries (0 recalls in N days). Like `git gc` for knowledge. Returns a full consolidation report with before/after counts.
|
|
40
|
+
|
|
41
|
+
- **`brain_diff`** — `git log` for your AI Brain. Shows exactly what changed since a given time window (`"7d"`, `"30d"`, ISO-8601). New lessons, updated lessons, recalled lessons. Perfect for weekly reviews: *"What did my AI learn this week?"*
|
|
42
|
+
|
|
43
|
+
- **`causal_trace`** — Root Cause Analysis through memory. Given a problem description, scores all lessons by relevance, reconstructs the failure chain (root → intermediate → symptom), and surfaces the exact solution that worked before. *"auth breaks after restart"* → root: `k8s:namespace-terminating` → via: `keycloak:jwks-race` → fix: `PollUntilContextTimeout 3min`. No other system can do this.
|
|
44
|
+
|
|
45
|
+
- **`knowledge_decay`** — Confidence scoring per lesson. Age × recall-frequency × outcome = decay score (0–100%). Visual bars: `████░░░░░░ 40%`. Lessons recalled recently score high; 90-day-old untouched lessons score low. Run before a big refactor to know which knowledge to trust.
|
|
46
|
+
|
|
47
|
+
- **`autopilot`** — Generates a `CLAUDE.md` / `copilot-instructions.md` that turns any AI (Claude, Cursor, Copilot, Windsurf, Gemini) into a self-managing Brain operator. No manual `session_start`, `learn_from_attempts`, or `session_end` calls ever again. One command. Every AI. Forever.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## [0.5.80] – 2026-05-01
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **RTL language support (Arabic, Hebrew)** — word-level tokenization with Unicode ranges U+0590–U+05FF (Hebrew) and U+0600–U+06FF (Arabic); Arabic light stemmer strips definite article `ال` and single-char prefix particles (`و`,`ب`,`ل`,`ف`,`ك`)
|
|
58
|
+
- **Arabic and Hebrew stopwords** — ~60 high-frequency function words per language added to the STOPWORDS set
|
|
59
|
+
- **Romanization matching** — katakana segments now additionally emit Hepburn romaji tokens at index time (e.g. `デプロイ` → `depuroi`), so users can query Japanese docs using romaji
|
|
60
|
+
- **Full katakana→romaji converter** — handles digraphs (シャ→sha, チェ→che, ファ→fa), voiced consonants, geminate consonants (ッ), long vowel marks (ー), and loanword combinations
|
|
61
|
+
- **Cross-language retrieval** — 130+ tech term synonyms spanning EN↔JA↔ZH↔KO↔AR↔HE; searching `deploy` now finds docs containing `デプロイ`, `部署`, `배포` and vice versa; applies bidirectionally at tokenize time (zero runtime overhead)
|
|
62
|
+
- **73 unit tests** all passing — new test suites for `katakanaToRomaji`, `arabicLightStem`, `expandCrossLingual`, RTL tokenization, and cross-lingual expansion
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## [0.5.36] – 2026-04-22
|
|
67
|
+
|
|
68
|
+
### Added
|
|
69
|
+
|
|
70
|
+
- **Roadmap tools** — `roadmap_add`, `roadmap_update`, `roadmap_list`, `roadmap_next` for persistent project planning inside the Brain
|
|
71
|
+
- `session_start` now shows open roadmap items automatically
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## [0.5.35] – 2026-04-20
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
|
|
79
|
+
- **CJK language support** — Chinese (Simplified + Traditional), Japanese, Korean
|
|
80
|
+
- Character bigram extraction for CJK Unicode ranges
|
|
81
|
+
- ~140 CJK stopwords (Chinese particles, Japanese hiragana particles, Korean postpositions)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- **`setup` command** — interactive zero-arg CLI wizard (`npx @cachly-dev/mcp-server setup`):
|
|
90
|
+
- Reads `CACHLY_JWT` from env or prompts interactively via readline
|
|
91
|
+
- Fetches instances from API; presents list when multiple exist
|
|
92
|
+
- Auto-detects installed editors (Cursor, Windsurf, VS Code, Continue.dev) by checking for their config directories
|
|
93
|
+
- Writes the correct MCP config file for each detected editor in one step
|
|
94
|
+
- Always writes/updates `CLAUDE.md` (idempotent via `<!-- cachly-brain-start/end -->` markers)
|
|
95
|
+
- **`init` command** now idempotent — re-running `npx @cachly-dev/mcp-server init` updates the brain block in `CLAUDE.md` instead of appending a duplicate
|
|
96
|
+
- Shared helpers: `buildMcpConfig()`, `buildClaudeMdBlock()`, `writeClaudeMd()` — used by both `setup` and `init`
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- `init` no longer duplicates the brain block in `CLAUDE.md` when run multiple times
|
|
101
|
+
- Correct package name `@cachly-dev/mcp-server` used consistently (was `@cachly-dev/mcp` in generated configs)
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## [0.1.1] – 2026-04-07
|
|
106
|
+
|
|
107
|
+
### Fixed
|
|
108
|
+
|
|
109
|
+
- Broken `index_project` tool schema – properties were accidentally placed outside the `TOOLS` array
|
|
110
|
+
- Unused `openai` variable removed from `cache_warmup` handler
|
|
111
|
+
- `readdir` type mismatch (`Dirent<string>` vs. `NonSharedBuffer`) fixed
|
|
112
|
+
- Version bumped to `0.3.0` in server metadata
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## [0.1.0] – 2026-04-07
|
|
117
|
+
|
|
118
|
+
Initial release.
|
|
119
|
+
|
|
120
|
+
### Added
|
|
121
|
+
|
|
122
|
+
- MCP tool: `cache_set` – store a value with optional TTL
|
|
123
|
+
- MCP tool: `cache_get` – retrieve a cached value
|
|
124
|
+
- MCP tool: `cache_delete` – remove a key
|
|
125
|
+
- MCP tool: `semantic_search` – vector-similarity lookup for LLM response caching
|
|
126
|
+
- MCP tool: `cache_clear` – flush namespace or entire cache
|
|
127
|
+
- Compatible with Claude Desktop, Cursor, Windsurf, and any MCP-capable host
|
|
128
|
+
- API-key-based authentication
|
|
129
|
+
- EU data residency (German servers, DSGVO compliant)
|
|
130
|
+
|
|
131
|
+
### Known limitations
|
|
132
|
+
|
|
133
|
+
- ~~Streaming tools not yet supported~~ (tracked for a future release)
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## [Unreleased]
|
|
138
|
+
|
|
139
|
+
See [../CHANGELOG.md](../CHANGELOG.md) for upcoming features.
|
|
140
|
+
|
package/Dockerfile
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
FROM node:22-alpine
|
|
1
|
+
FROM node:22-alpine AS builder
|
|
2
2
|
WORKDIR /app
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
COPY package*.json ./
|
|
6
|
-
RUN npm ci
|
|
7
|
-
|
|
8
|
-
# Build TypeScript
|
|
3
|
+
COPY package*.json tsconfig*.json ./
|
|
4
|
+
RUN npm ci --ignore-scripts
|
|
9
5
|
COPY src/ ./src/
|
|
10
|
-
|
|
11
|
-
RUN npm run build && npm prune --omit=dev
|
|
12
|
-
|
|
13
|
-
# MCP servers communicate over stdio — no port needed
|
|
14
|
-
ENV CACHLY_JWT=""
|
|
15
|
-
ENV CACHLY_INSTANCE_ID=""
|
|
16
|
-
ENV CACHLY_NO_TELEMETRY=1
|
|
17
|
-
ENV CACHLY_NO_UPDATE_CHECK=1
|
|
6
|
+
RUN npm run build
|
|
18
7
|
|
|
8
|
+
FROM node:22-alpine
|
|
9
|
+
WORKDIR /app
|
|
10
|
+
COPY package*.json ./
|
|
11
|
+
RUN npm ci --omit=dev --ignore-scripts
|
|
12
|
+
COPY --from=builder /app/dist/ ./dist/
|
|
13
|
+
ENV NODE_ENV=production
|
|
14
|
+
ENV PORT=3000
|
|
15
|
+
EXPOSE 3000
|
|
19
16
|
ENTRYPOINT ["node", "dist/index.js"]
|