@cachly-dev/mcp-server 0.10.40 โ 0.10.42
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/README.md +6 -2
- package/dist/handlers/brain.js +82 -21
- package/dist/handlers/brain.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/smithery.yaml +1 -1
- package/src/handlers/brain.ts +83 -22
- package/src/index.ts +1 -1
package/README.md
CHANGED
|
@@ -20,10 +20,14 @@
|
|
|
20
20
|
<img src="https://img.shields.io/badge/GDPR-EU%20servers-green" alt="GDPR: EU servers" />
|
|
21
21
|
</a>
|
|
22
22
|
|
|
23
|
-
<img src="https://img.shields.io/badge/
|
|
23
|
+
<img src="https://img.shields.io/badge/84%20MCP%20tools-violet" alt="84 MCP tools" />
|
|
24
24
|
|
|
25
25
|
<img src="https://img.shields.io/badge/License-Apache--2.0-yellow" alt="License: Apache-2.0" />
|
|
26
26
|
|
|
27
|
+
<a href="https://smithery.ai/server/@cachly-dev/mcp-server">
|
|
28
|
+
<img src="https://smithery.ai/badge/@cachly-dev/mcp-server" alt="Smithery" />
|
|
29
|
+
</a>
|
|
30
|
+
|
|
27
31
|
<a href="https://cachly.dev">
|
|
28
32
|
<img src="https://img.shields.io/badge/Brain%20badge-embed%20in%20README-7c3aed" alt="Brain badge" />
|
|
29
33
|
</a>
|
|
@@ -209,7 +213,7 @@ causal_trace(problem="auth breaks after restart")
|
|
|
209
213
|
|
|
210
214
|
---
|
|
211
215
|
|
|
212
|
-
## MCP Tools (
|
|
216
|
+
## MCP Tools (84 total)
|
|
213
217
|
|
|
214
218
|
### ๐ง Session & Memory (most used)
|
|
215
219
|
|
package/dist/handlers/brain.js
CHANGED
|
@@ -334,8 +334,29 @@ export async function handleBrainTool(name, args, getConnection, apiFetch) {
|
|
|
334
334
|
const suggestPin = updatedLesson.recall_count === 3 && !lesson.pinned
|
|
335
335
|
? `๐ **You've looked this up 3 times.** Consider pinning it for instant access: add \`pinned: true\` via \`learn_from_attempts\` to always surface it first.`
|
|
336
336
|
: '';
|
|
337
|
+
// โโ Trust signal (today-safe consensus layer) โโโโโโโโโโโโโโโโโโโโโโโ
|
|
338
|
+
// A lesson recalled many times โ or confirmed by multiple distinct
|
|
339
|
+
// authors โ has proven its value. Surface that as social proof.
|
|
340
|
+
const lessonAuthors = lesson.authors
|
|
341
|
+
?? (lesson.author ? [lesson.author] : []);
|
|
342
|
+
const distinctAuthors = [...new Set(lessonAuthors.filter(Boolean))];
|
|
343
|
+
const rc = updatedLesson.recall_count;
|
|
344
|
+
let trustBadge = '';
|
|
345
|
+
if (distinctAuthors.length >= 2 && rc >= 5) {
|
|
346
|
+
trustBadge = `๐ **Battle-tested** โ recalled ${rc}ร ยท verified by ${distinctAuthors.length} developers. Trust this.`;
|
|
347
|
+
}
|
|
348
|
+
else if (rc >= 10) {
|
|
349
|
+
trustBadge = `๐ **Battle-tested** โ recalled ${rc}ร. This is one of your most-proven solutions.`;
|
|
350
|
+
}
|
|
351
|
+
else if (distinctAuthors.length >= 2) {
|
|
352
|
+
trustBadge = `โ
**Team-verified** โ confirmed by ${distinctAuthors.length} developers.`;
|
|
353
|
+
}
|
|
354
|
+
else if (rc >= 5) {
|
|
355
|
+
trustBadge = `โ
**Proven** โ recalled ${rc}ร without contradiction.`;
|
|
356
|
+
}
|
|
337
357
|
return [
|
|
338
358
|
rememberWhen,
|
|
359
|
+
trustBadge,
|
|
339
360
|
`${badge} **Best solution for \`${topic}\`** ${sevEmoji}${lesson.severity ? ` (${lesson.severity})` : ''} ยท recalled ${updatedLesson.recall_count}ร`,
|
|
340
361
|
``,
|
|
341
362
|
`**What worked:** ${lesson.what_worked}`,
|
|
@@ -882,8 +903,14 @@ export async function handleBrainTool(name, args, getConnection, apiFetch) {
|
|
|
882
903
|
for (const l of topRecalled) {
|
|
883
904
|
const emoji = l.outcome === 'success' ? 'โ
' : l.outcome === 'partial' ? 'โ ๏ธ' : 'โ';
|
|
884
905
|
const sev = l.severity === 'critical' ? '๐ด' : l.severity === 'major' ? '๐ก' : '';
|
|
885
|
-
const
|
|
886
|
-
|
|
906
|
+
const rc = l.recall_count ?? 0;
|
|
907
|
+
const la = l.authors
|
|
908
|
+
?? (l.author ? [l.author] : []);
|
|
909
|
+
const nAuthors = new Set(la.filter(Boolean)).size;
|
|
910
|
+
const trust = (nAuthors >= 2 && rc >= 5) || rc >= 10 ? ' ๐'
|
|
911
|
+
: nAuthors >= 2 || rc >= 5 ? ' โ
' : '';
|
|
912
|
+
const rct = rc > 1 ? ` _(${rc}ร recalled)_` : '';
|
|
913
|
+
lines.push(` ${emoji}${sev}${trust} \`${l.topic}\`${rct} โ ${l.what_worked.slice(0, 100)}`);
|
|
887
914
|
}
|
|
888
915
|
lines.push('');
|
|
889
916
|
}
|
|
@@ -949,25 +976,59 @@ export async function handleBrainTool(name, args, getConnection, apiFetch) {
|
|
|
949
976
|
lines.push('');
|
|
950
977
|
}
|
|
951
978
|
// โโ ๐ฎ Predictive Pre-Warning โ intent-based danger detection โโโโโโโโโโโโ
|
|
952
|
-
// Fires BEFORE work starts.
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
const
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
979
|
+
// Fires BEFORE work starts. Uses explicit focus when given; otherwise
|
|
980
|
+
// derives the likely work area from the last session's changed files +
|
|
981
|
+
// summary (you usually keep working where you left off). This makes the
|
|
982
|
+
// warning fire even when the caller forgets to pass `focus`.
|
|
983
|
+
{
|
|
984
|
+
// Common path noise / extensions to drop when deriving terms from files.
|
|
985
|
+
const PATH_NOISE = new Set([
|
|
986
|
+
'src', 'lib', 'test', 'tests', 'dist', 'index', 'main', 'app',
|
|
987
|
+
'internal', 'pkg', 'cmd', 'node_modules', 'components', 'utils',
|
|
988
|
+
'ts', 'tsx', 'js', 'jsx', 'go', 'py', 'rs', 'java', 'json', 'yaml', 'yml',
|
|
989
|
+
]);
|
|
990
|
+
const deriveTermsFromFiles = (files) => {
|
|
991
|
+
const terms = new Set();
|
|
992
|
+
for (const f of files) {
|
|
993
|
+
for (const seg of f.toLowerCase().split(/[/\\._-]/)) {
|
|
994
|
+
if (seg.length > 3 && !PATH_NOISE.has(seg))
|
|
995
|
+
terms.add(seg);
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
return [...terms];
|
|
999
|
+
};
|
|
1000
|
+
let warnTerms = focusTerms;
|
|
1001
|
+
let warnLabel = focus;
|
|
1002
|
+
let derived = false;
|
|
1003
|
+
if (warnTerms.length === 0 && lastSession) {
|
|
1004
|
+
const fromFiles = deriveTermsFromFiles(lastSession.files_changed ?? []);
|
|
1005
|
+
const fromSummary = (lastSession.summary ?? '').toLowerCase()
|
|
1006
|
+
.replace(/[^a-z0-9\s:_-]/g, ' ').split(/\s+/).filter(t => t.length > 3 && !PATH_NOISE.has(t));
|
|
1007
|
+
warnTerms = [...new Set([...fromFiles, ...fromSummary])];
|
|
1008
|
+
warnLabel = 'where you left off last session';
|
|
1009
|
+
derived = true;
|
|
1010
|
+
}
|
|
1011
|
+
if (warnTerms.length > 0) {
|
|
1012
|
+
const dangerLessons = lessons.filter(l => {
|
|
1013
|
+
if (l.outcome === 'success')
|
|
1014
|
+
return false;
|
|
1015
|
+
const topicCategory = l.topic.split(':')[0];
|
|
1016
|
+
return warnTerms.some(term => l.topic.toLowerCase().includes(term) ||
|
|
1017
|
+
topicCategory === term ||
|
|
1018
|
+
(l.tags ?? []).some((t) => t.toLowerCase() === term));
|
|
1019
|
+
});
|
|
1020
|
+
if (dangerLessons.length >= 1) {
|
|
1021
|
+
const headline = derived
|
|
1022
|
+
? ` You're likely to continue **${warnLabel}** โ ${dangerLessons.length} known pitfall${dangerLessons.length > 1 ? 's' : ''} there:`
|
|
1023
|
+
: ` Known pitfalls for **"${warnLabel}"** (${dangerLessons.length} past failure${dangerLessons.length > 1 ? 's' : ''}):`;
|
|
1024
|
+
const warning = [
|
|
1025
|
+
`๐จ **PRE-WARNING** โ Read this BEFORE starting:`,
|
|
1026
|
+
headline,
|
|
1027
|
+
...dangerLessons.slice(0, 3).map(l => ` โ \`${l.topic}\` โ ${(l.what_failed ?? l.what_worked).slice(0, 80)}`),
|
|
1028
|
+
'',
|
|
1029
|
+
];
|
|
1030
|
+
lines.splice(2, 0, ...warning); // after '๐ง **Session Briefing**' + empty line
|
|
1031
|
+
}
|
|
971
1032
|
}
|
|
972
1033
|
}
|
|
973
1034
|
// โโ ๐ฅ Team Telepathy โ what teammates learned this week โโโโโโโโโโโโโโโโโ
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/handlers/brain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/handlers/brain.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ import { Redis } from 'ioredis';
|
|
|
49
49
|
const API_URL = process.env.CACHLY_API_URL ?? 'https://api.cachly.dev';
|
|
50
50
|
let JWT = process.env.CACHLY_JWT ?? '';
|
|
51
51
|
const EMBED_MODEL = process.env.CACHLY_EMBED_MODEL ?? '';
|
|
52
|
-
const CURRENT_VERSION = '0.10.
|
|
52
|
+
const CURRENT_VERSION = '0.10.42';
|
|
53
53
|
// โโ Default Instance Resolution (for Smithery & single-credential setups) โโโโ
|
|
54
54
|
// When CACHLY_BRAIN_INSTANCE_ID is set, tools can omit the instance_id parameter.
|
|
55
55
|
// When neither is set, we auto-fetch the first running instance once per process.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cachly-dev/mcp-server",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.42",
|
|
4
4
|
"mcpName": "io.github.cachly-dev/cachly-mcp",
|
|
5
5
|
"description": "Your AI forgets everything between sessions. cachly fixes that permanently. Persistent memory + causal root-cause analysis for Claude Code, Cursor, Copilot & Windsurf. Learns from every bug fix, git commit, and CI run automatically. Arrives pre-briefed. Predicts failures before they happen. 89 MCP tools ยท Free tier forever ยท GDPR ยท EU servers.",
|
|
6
6
|
"type": "module",
|
package/smithery.yaml
CHANGED
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Your AI remembers every lesson, fix, and architecture decision โ forever.
|
|
5
5
|
Features: causal root-cause analysis (causal_trace), failure prediction (brain_predict),
|
|
6
6
|
git-ambient learning (brain_from_git), team knowledge sharing, Memory Crystals,
|
|
7
|
-
BM25+ search in 11 languages.
|
|
7
|
+
BM25+ search in 11 languages. 84 MCP tools. Free tier. GDPR. German servers.
|
|
8
8
|
Zero-config: sign in once via browser, auto-provisions your Brain instance.
|
|
9
9
|
|
|
10
10
|
startCommand:
|
package/src/handlers/brain.ts
CHANGED
|
@@ -417,8 +417,27 @@ export async function handleBrainTool(
|
|
|
417
417
|
? `๐ **You've looked this up 3 times.** Consider pinning it for instant access: add \`pinned: true\` via \`learn_from_attempts\` to always surface it first.`
|
|
418
418
|
: '';
|
|
419
419
|
|
|
420
|
+
// โโ Trust signal (today-safe consensus layer) โโโโโโโโโโโโโโโโโโโโโโโ
|
|
421
|
+
// A lesson recalled many times โ or confirmed by multiple distinct
|
|
422
|
+
// authors โ has proven its value. Surface that as social proof.
|
|
423
|
+
const lessonAuthors = (lesson as { authors?: string[]; author?: string }).authors
|
|
424
|
+
?? ((lesson as { author?: string }).author ? [(lesson as { author?: string }).author!] : []);
|
|
425
|
+
const distinctAuthors = [...new Set(lessonAuthors.filter(Boolean))];
|
|
426
|
+
const rc = updatedLesson.recall_count;
|
|
427
|
+
let trustBadge = '';
|
|
428
|
+
if (distinctAuthors.length >= 2 && rc >= 5) {
|
|
429
|
+
trustBadge = `๐ **Battle-tested** โ recalled ${rc}ร ยท verified by ${distinctAuthors.length} developers. Trust this.`;
|
|
430
|
+
} else if (rc >= 10) {
|
|
431
|
+
trustBadge = `๐ **Battle-tested** โ recalled ${rc}ร. This is one of your most-proven solutions.`;
|
|
432
|
+
} else if (distinctAuthors.length >= 2) {
|
|
433
|
+
trustBadge = `โ
**Team-verified** โ confirmed by ${distinctAuthors.length} developers.`;
|
|
434
|
+
} else if (rc >= 5) {
|
|
435
|
+
trustBadge = `โ
**Proven** โ recalled ${rc}ร without contradiction.`;
|
|
436
|
+
}
|
|
437
|
+
|
|
420
438
|
return [
|
|
421
439
|
rememberWhen,
|
|
440
|
+
trustBadge,
|
|
422
441
|
`${badge} **Best solution for \`${topic}\`** ${sevEmoji}${lesson.severity ? ` (${lesson.severity})` : ''} ยท recalled ${updatedLesson.recall_count}ร`,
|
|
423
442
|
``,
|
|
424
443
|
`**What worked:** ${lesson.what_worked}`,
|
|
@@ -996,8 +1015,14 @@ export async function handleBrainTool(
|
|
|
996
1015
|
for (const l of topRecalled) {
|
|
997
1016
|
const emoji = l.outcome === 'success' ? 'โ
' : l.outcome === 'partial' ? 'โ ๏ธ' : 'โ';
|
|
998
1017
|
const sev = l.severity === 'critical' ? '๐ด' : l.severity === 'major' ? '๐ก' : '';
|
|
999
|
-
const
|
|
1000
|
-
|
|
1018
|
+
const rc = l.recall_count ?? 0;
|
|
1019
|
+
const la = (l as { authors?: string[]; author?: string }).authors
|
|
1020
|
+
?? ((l as { author?: string }).author ? [(l as { author?: string }).author!] : []);
|
|
1021
|
+
const nAuthors = new Set(la.filter(Boolean)).size;
|
|
1022
|
+
const trust = (nAuthors >= 2 && rc >= 5) || rc >= 10 ? ' ๐'
|
|
1023
|
+
: nAuthors >= 2 || rc >= 5 ? ' โ
' : '';
|
|
1024
|
+
const rct = rc > 1 ? ` _(${rc}ร recalled)_` : '';
|
|
1025
|
+
lines.push(` ${emoji}${sev}${trust} \`${l.topic}\`${rct} โ ${l.what_worked.slice(0, 100)}`);
|
|
1001
1026
|
}
|
|
1002
1027
|
lines.push('');
|
|
1003
1028
|
}
|
|
@@ -1065,27 +1090,63 @@ export async function handleBrainTool(
|
|
|
1065
1090
|
}
|
|
1066
1091
|
|
|
1067
1092
|
// โโ ๐ฎ Predictive Pre-Warning โ intent-based danger detection โโโโโโโโโโโโ
|
|
1068
|
-
// Fires BEFORE work starts.
|
|
1069
|
-
|
|
1093
|
+
// Fires BEFORE work starts. Uses explicit focus when given; otherwise
|
|
1094
|
+
// derives the likely work area from the last session's changed files +
|
|
1095
|
+
// summary (you usually keep working where you left off). This makes the
|
|
1096
|
+
// warning fire even when the caller forgets to pass `focus`.
|
|
1097
|
+
{
|
|
1070
1098
|
type LessonAny = typeof lessons[0] & { author?: string; tags?: string[] };
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1099
|
+
|
|
1100
|
+
// Common path noise / extensions to drop when deriving terms from files.
|
|
1101
|
+
const PATH_NOISE = new Set([
|
|
1102
|
+
'src', 'lib', 'test', 'tests', 'dist', 'index', 'main', 'app',
|
|
1103
|
+
'internal', 'pkg', 'cmd', 'node_modules', 'components', 'utils',
|
|
1104
|
+
'ts', 'tsx', 'js', 'jsx', 'go', 'py', 'rs', 'java', 'json', 'yaml', 'yml',
|
|
1105
|
+
]);
|
|
1106
|
+
const deriveTermsFromFiles = (files: string[]): string[] => {
|
|
1107
|
+
const terms = new Set<string>();
|
|
1108
|
+
for (const f of files) {
|
|
1109
|
+
for (const seg of f.toLowerCase().split(/[/\\._-]/)) {
|
|
1110
|
+
if (seg.length > 3 && !PATH_NOISE.has(seg)) terms.add(seg);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
return [...terms];
|
|
1114
|
+
};
|
|
1115
|
+
|
|
1116
|
+
let warnTerms = focusTerms;
|
|
1117
|
+
let warnLabel = focus;
|
|
1118
|
+
let derived = false;
|
|
1119
|
+
if (warnTerms.length === 0 && lastSession) {
|
|
1120
|
+
const fromFiles = deriveTermsFromFiles(lastSession.files_changed ?? []);
|
|
1121
|
+
const fromSummary = (lastSession.summary ?? '').toLowerCase()
|
|
1122
|
+
.replace(/[^a-z0-9\s:_-]/g, ' ').split(/\s+/).filter(t => t.length > 3 && !PATH_NOISE.has(t));
|
|
1123
|
+
warnTerms = [...new Set([...fromFiles, ...fromSummary])];
|
|
1124
|
+
warnLabel = 'where you left off last session';
|
|
1125
|
+
derived = true;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
if (warnTerms.length > 0) {
|
|
1129
|
+
const dangerLessons = (lessons as LessonAny[]).filter(l => {
|
|
1130
|
+
if (l.outcome === 'success') return false;
|
|
1131
|
+
const topicCategory = l.topic.split(':')[0];
|
|
1132
|
+
return warnTerms.some(term =>
|
|
1133
|
+
l.topic.toLowerCase().includes(term) ||
|
|
1134
|
+
topicCategory === term ||
|
|
1135
|
+
(l.tags ?? []).some((t: string) => t.toLowerCase() === term),
|
|
1136
|
+
);
|
|
1137
|
+
});
|
|
1138
|
+
if (dangerLessons.length >= 1) {
|
|
1139
|
+
const headline = derived
|
|
1140
|
+
? ` You're likely to continue **${warnLabel}** โ ${dangerLessons.length} known pitfall${dangerLessons.length > 1 ? 's' : ''} there:`
|
|
1141
|
+
: ` Known pitfalls for **"${warnLabel}"** (${dangerLessons.length} past failure${dangerLessons.length > 1 ? 's' : ''}):`;
|
|
1142
|
+
const warning = [
|
|
1143
|
+
`๐จ **PRE-WARNING** โ Read this BEFORE starting:`,
|
|
1144
|
+
headline,
|
|
1145
|
+
...dangerLessons.slice(0, 3).map(l => ` โ \`${l.topic}\` โ ${(l.what_failed ?? l.what_worked).slice(0, 80)}`),
|
|
1146
|
+
'',
|
|
1147
|
+
];
|
|
1148
|
+
lines.splice(2, 0, ...warning); // after '๐ง **Session Briefing**' + empty line
|
|
1149
|
+
}
|
|
1089
1150
|
}
|
|
1090
1151
|
}
|
|
1091
1152
|
|
package/src/index.ts
CHANGED
|
@@ -60,7 +60,7 @@ import { Redis } from 'ioredis';
|
|
|
60
60
|
const API_URL = process.env.CACHLY_API_URL ?? 'https://api.cachly.dev';
|
|
61
61
|
let JWT = process.env.CACHLY_JWT ?? '';
|
|
62
62
|
const EMBED_MODEL = process.env.CACHLY_EMBED_MODEL ?? '';
|
|
63
|
-
const CURRENT_VERSION = '0.10.
|
|
63
|
+
const CURRENT_VERSION = '0.10.42';
|
|
64
64
|
|
|
65
65
|
// โโ Default Instance Resolution (for Smithery & single-credential setups) โโโโ
|
|
66
66
|
// When CACHLY_BRAIN_INSTANCE_ID is set, tools can omit the instance_id parameter.
|