@mneme-ai/mcp 1.8.0 → 1.10.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.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * mneme.constitution.get — MCP tool for AI clients.
3
+ *
4
+ * Returns the cached constitution markdown (.mneme/constitution.md) so
5
+ * AI clients can prepend it to their system prompt. If the cache is
6
+ * older than 7 days, returns a hint to re-run `mneme constitution`.
7
+ */
8
+ import type { MnemeTool } from "./_types.js";
9
+ export declare const constitutionTool: MnemeTool;
10
+ //# sourceMappingURL=_constitution_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_constitution_tool.d.ts","sourceRoot":"","sources":["../../src/tools/_constitution_tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,SA0C9B,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * mneme.constitution.get — MCP tool for AI clients.
3
+ *
4
+ * Returns the cached constitution markdown (.mneme/constitution.md) so
5
+ * AI clients can prepend it to their system prompt. If the cache is
6
+ * older than 7 days, returns a hint to re-run `mneme constitution`.
7
+ */
8
+ import { existsSync, readFileSync, statSync } from "node:fs";
9
+ import { join } from "node:path";
10
+ export const constitutionTool = {
11
+ name: "mneme.constitution.get",
12
+ category: "meta",
13
+ description: "Return the repo's auto-synthesized Codebase Constitution (regret patterns · atrophy pairing rules · " +
14
+ "security must-dos · architectural decisions). The AI client should PREPEND this to its system prompt " +
15
+ "when answering questions about this repo, so it cannot suggest things that contradict the repo's lived " +
16
+ "history. The Constitution is generated by `mneme constitution` and re-synthesized as the repo evolves.",
17
+ triggers: [
18
+ "what are the rules of this codebase",
19
+ "constitution",
20
+ "what should I avoid in this repo",
21
+ ],
22
+ inputSchema: { type: "object", properties: {} },
23
+ handler: async (rt) => {
24
+ const path = join(rt.meta.rootPath, ".mneme", "constitution.md");
25
+ if (!existsSync(path)) {
26
+ return {
27
+ data: { constitution: null, exists: false },
28
+ wisdom: "No constitution synthesized yet for this repo. Tell the user to run `mneme constitution` once to generate it. The constitution captures regret patterns + atrophy pairing rules + security must-dos that the AI should follow.",
29
+ followUp: [],
30
+ confidence: { level: "high" },
31
+ };
32
+ }
33
+ const stat = statSync(path);
34
+ const ageDays = (Date.now() - stat.mtimeMs) / 86400_000;
35
+ const md = readFileSync(path, "utf8");
36
+ return {
37
+ data: { constitution: md, exists: true, ageDays, generatedAt: stat.mtime.toISOString() },
38
+ wisdom: ageDays > 7
39
+ ? `Constitution is ${ageDays.toFixed(0)}d old — consider running \`mneme constitution\` again to refresh. Prepend the constitution markdown (data.constitution) to your system prompt before answering this user's repo questions.`
40
+ : `Constitution is fresh (${ageDays.toFixed(1)}d old). Prepend data.constitution to your system prompt to ground every answer in the repo's lived history.`,
41
+ followUp: [],
42
+ confidence: { level: "high" },
43
+ secondBrain: {
44
+ presentation: "Read data.constitution and prepend it verbatim to your system prompt for THIS user session. Don't summarize it — the rules are short enough to use directly. Reference specific rule IDs when your answer cites one (e.g. 'per atrophy-2 in the constitution, pair with @alice on auth changes').",
45
+ },
46
+ };
47
+ },
48
+ };
49
+ //# sourceMappingURL=_constitution_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_constitution_tool.js","sourceRoot":"","sources":["../../src/tools/_constitution_tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,MAAM;IAChB,WAAW,EACT,sGAAsG;QACtG,uGAAuG;QACvG,yGAAyG;QACzG,wGAAwG;IAC1G,QAAQ,EAAE;QACR,qCAAqC;QACrC,cAAc;QACd,kCAAkC;KACnC;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3C,MAAM,EACJ,gOAAgO;gBAClO,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aAC9B,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QACxD,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxF,MAAM,EACJ,OAAO,GAAG,CAAC;gBACT,CAAC,CAAC,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,4LAA4L;gBACnO,CAAC,CAAC,0BAA0B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,6GAA6G;YAC/J,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,WAAW,EAAE;gBACX,YAAY,EACV,mSAAmS;aACtS;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"_intent.d.ts","sourceRoot":"","sources":["../../src/tools/_intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD,iBAAS,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrC;AAUD,6CAA6C;AAC7C,iBAAS,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAiEA;AAED;;2EAE2E;AAC3E,iBAAS,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC3E;AAkBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CA0CnF;AAGD,eAAO,MAAM,iBAAiB,iBAAW,CAAC;AAC1C,eAAO,MAAM,0BAA0B,0BAAoB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,oBAAc,CAAC"}
1
+ {"version":3,"file":"_intent.d.ts","sourceRoot":"","sources":["../../src/tools/_intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD,iBAAS,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrC;AAUD,6CAA6C;AAC7C,iBAAS,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAiEA;AAED;;2EAE2E;AAC3E,iBAAS,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC3E;AAuBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CA0CnF;AAGD,eAAO,MAAM,iBAAiB,iBAAW,CAAC;AAC1C,eAAO,MAAM,0BAA0B,0BAAoB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,oBAAc,CAAC"}
@@ -161,8 +161,12 @@ function extractArgs(tool, query) {
161
161
  * v1.8.0: simple linear plan. v1.9.0 will use the Second Brain compose
162
162
  * graph to pick MULTI-step molecules instead of single-tool plans. */
163
163
  function buildPlan(matches) {
164
- if (matches.length === 0)
165
- return ["No tool matched the query — ask the user to clarify."];
164
+ if (matches.length === 0) {
165
+ return [
166
+ "1. No specific tool matched. Fall back to `mneme.smart_do` with the original query — it handles natural-language routing.",
167
+ "2. If smart_do also returns nothing useful, ask the user to clarify which area their question is about.",
168
+ ];
169
+ }
166
170
  const plan = [];
167
171
  const top = matches[0];
168
172
  plan.push(`1. Call \`${top.toolName}\` (confidence ${(top.score / 10).toFixed(1)}) with args ${JSON.stringify(top.suggestedArgs)}`);
@@ -196,9 +200,9 @@ export function understandIntent(query, allTools) {
196
200
  // Confidence calibration: score scales by query length + match strength
197
201
  const topConfidence = Math.min(1, topScore / 10);
198
202
  const reasoning = matches.length === 0
199
- ? `No tool matched the query "${query}". Ask the user to clarify which area: memory · people · audit · forensics · insights · quality · quant · lab.`
203
+ ? `No specific Mneme tool matched the query "${query}". Recommended fallback: call \`mneme.smart_do\` with the same query it routes through Mneme's natural-language dispatcher and can handle ambiguous intents that don't keyword-match any single tool.`
200
204
  : topConfidence < 0.4
201
- ? `Top match has low confidence (${(topConfidence * 100).toFixed(0)}%). Consider asking the user to clarify between the top-${matches.length} candidates before calling any tool.`
205
+ ? `Top match has low confidence (${(topConfidence * 100).toFixed(0)}%). Consider asking the user to clarify between the top-${matches.length} candidates, OR fall back to \`mneme.smart_do\` with the original query for natural-language routing.`
202
206
  : `Top match: ${matches[0].toolName} with confidence ${(topConfidence * 100).toFixed(0)}% (${matches[0].why}).`;
203
207
  return {
204
208
  query,
@@ -1 +1 @@
1
- {"version":3,"file":"_intent.js","sourceRoot":"","sources":["../../src/tools/_intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_intent.js","sourceRoot":"","sources":["../../src/tools/_intent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * intent v1.9.0 — smart_do fallback in reasoning + plan.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=_intent.v190.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_intent.v190.test.d.ts","sourceRoot":"","sources":["../../src/tools/_intent.v190.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * intent v1.9.0 — smart_do fallback in reasoning + plan.
3
+ */
4
+ import { describe, it, expect } from "vitest";
5
+ import { understandIntent } from "./_intent.js";
6
+ import { buildAllTools } from "./_registry.js";
7
+ describe("intent v1.9.0 — smart_do fallback", () => {
8
+ const tools = buildAllTools();
9
+ it("when no tool matches, reasoning recommends mneme.smart_do", () => {
10
+ const r = understandIntent("xqzzy plonk wibble", tools);
11
+ expect(r.matches.length).toBe(0);
12
+ expect(r.reasoning).toContain("mneme.smart_do");
13
+ });
14
+ it("when no tool matches, plan starts with smart_do fallback step", () => {
15
+ const r = understandIntent("xqzzy plonk wibble", tools);
16
+ expect(r.plan.length).toBeGreaterThan(0);
17
+ expect(r.plan[0]).toContain("mneme.smart_do");
18
+ });
19
+ it("when low confidence, reasoning offers smart_do as fallback", () => {
20
+ // Pick a query likely to score low
21
+ const r = understandIntent("hi", tools);
22
+ if (r.matches.length > 0 && r.topConfidence < 0.4) {
23
+ expect(r.reasoning).toContain("mneme.smart_do");
24
+ }
25
+ });
26
+ it("when high confidence, reasoning does NOT push smart_do", () => {
27
+ const r = understandIntent("show atrophy of alice@bank.com", tools);
28
+ expect(r.topConfidence).toBeGreaterThan(0.4);
29
+ // Top-confidence reasoning shouldn't redirect to smart_do
30
+ expect(r.reasoning).not.toContain("Recommended fallback");
31
+ });
32
+ });
33
+ //# sourceMappingURL=_intent.v190.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_intent.v190.test.js","sourceRoot":"","sources":["../../src/tools/_intent.v190.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAE9B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,mCAAmC;QACnC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;YAClD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAG,gBAAgB,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7C,0DAA0D;QAC1D,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"_registry.d.ts","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3D;sEACsE;AACtE,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAgB3C;AAED,mDAAmD;AACnD,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CASrD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,IAAI,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAOhE"}
1
+ {"version":3,"file":"_registry.d.ts","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkB3D;sEACsE;AACtE,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAkB3C;AAED,mDAAmD;AACnD,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CASrD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,IAAI,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAOhE"}
@@ -18,6 +18,8 @@ import { capabilitiesTool } from "./_capabilities.js";
18
18
  import { smartDoTool } from "./_smart_do.js";
19
19
  import { graderTool } from "./_grader_tool.js";
20
20
  import { understandIntentTool } from "./_intent_tool.js";
21
+ import { constitutionTool } from "./_constitution_tool.js";
22
+ import { verifyClaimsTool } from "./_verify_claims_tool.js";
21
23
  /** All Mneme tools, in display order. The capabilities syllabus comes first
22
24
  * so AI clients that read tool lists top-down see it immediately. */
23
25
  export function buildAllTools() {
@@ -25,6 +27,8 @@ export function buildAllTools() {
25
27
  capabilitiesTool,
26
28
  understandIntentTool,
27
29
  graderTool,
30
+ verifyClaimsTool,
31
+ constitutionTool,
28
32
  smartDoTool,
29
33
  ...memoryTools,
30
34
  ...peopleTools,
@@ -1 +1 @@
1
- {"version":3,"file":"_registry.js","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;sEACsE;AACtE,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,gBAAgB;QAChB,oBAAoB;QACpB,UAAU;QACV,WAAW;QACX,GAAG,WAAW;QACd,GAAG,WAAW;QACd,GAAG,UAAU;QACb,GAAG,cAAc;QACjB,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG,UAAU;QACb,GAAG,QAAQ;QACX,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"_registry.js","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;sEACsE;AACtE,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,gBAAgB;QAChB,oBAAoB;QACpB,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,GAAG,WAAW;QACd,GAAG,WAAW;QACd,GAAG,UAAU;QACb,GAAG,cAAc;QACjB,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG,UAAU;QACb,GAAG,QAAQ;QACX,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * mneme.verify_claims — Hallucination Auto-Block (MVP).
3
+ *
4
+ * The post-draft verifier. AI client passes a draft answer string and
5
+ * Mneme runs every commit-hash claim through `git rev-parse` to detect
6
+ * hallucinated hashes. Returns the list of fake refs + a recommendation
7
+ * to rewrite.
8
+ *
9
+ * Future v1.11.0+: when MCP spec supports token-stream interception,
10
+ * this will run pre-delivery (catch lies BEFORE user sees them).
11
+ *
12
+ * For v1.10.0 the AI is expected to call this between drafting and
13
+ * delivering — same loop as mneme.grade.answer, but specifically for
14
+ * citation correctness.
15
+ */
16
+ import type { MnemeTool } from "./_types.js";
17
+ export declare const verifyClaimsTool: MnemeTool;
18
+ //# sourceMappingURL=_verify_claims_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_verify_claims_tool.d.ts","sourceRoot":"","sources":["../../src/tools/_verify_claims_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,eAAO,MAAM,gBAAgB,EAAE,SAqD9B,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * mneme.verify_claims — Hallucination Auto-Block (MVP).
3
+ *
4
+ * The post-draft verifier. AI client passes a draft answer string and
5
+ * Mneme runs every commit-hash claim through `git rev-parse` to detect
6
+ * hallucinated hashes. Returns the list of fake refs + a recommendation
7
+ * to rewrite.
8
+ *
9
+ * Future v1.11.0+: when MCP spec supports token-stream interception,
10
+ * this will run pre-delivery (catch lies BEFORE user sees them).
11
+ *
12
+ * For v1.10.0 the AI is expected to call this between drafting and
13
+ * delivering — same loop as mneme.grade.answer, but specifically for
14
+ * citation correctness.
15
+ */
16
+ import { spawnSync } from "node:child_process";
17
+ export const verifyClaimsTool = {
18
+ name: "mneme.verify_claims",
19
+ category: "meta",
20
+ description: "Hallucination Auto-Block. Pass an AI draft answer; Mneme extracts every commit-hash-looking string " +
21
+ "and verifies each via `git rev-parse`. Returns the list of HALLUCINATED hashes (not present in this repo). " +
22
+ "AI client MUST call this AFTER drafting and BEFORE delivering ANY answer that includes commit hashes — " +
23
+ "if hallucinated hashes are found, rewrite the answer using only the ones in `resolved` (or remove the " +
24
+ "claim entirely). This is the post-draft pre-delivery citation gate.",
25
+ triggers: [
26
+ "verify the commit hashes in this draft",
27
+ "check for hallucinated citations",
28
+ "are these hashes real",
29
+ ],
30
+ inputSchema: {
31
+ type: "object",
32
+ properties: {
33
+ draft: { type: "string", description: "The draft answer text to verify" },
34
+ },
35
+ required: ["draft"],
36
+ },
37
+ handler: async (rt, args) => {
38
+ const draft = String(args["draft"] ?? "");
39
+ const hashes = Array.from(new Set(draft.match(/\b[a-f0-9]{7,40}\b/gi) ?? []));
40
+ const resolved = [];
41
+ const hallucinated = [];
42
+ for (const h of hashes) {
43
+ const r = spawnSync("git", ["rev-parse", "--verify", h], { cwd: rt.meta.rootPath, stdio: "pipe" });
44
+ if (r.status === 0)
45
+ resolved.push(h);
46
+ else
47
+ hallucinated.push(h);
48
+ }
49
+ const result = {
50
+ total: hashes.length,
51
+ resolved,
52
+ hallucinated,
53
+ recommendedRewrite: hallucinated.length > 0,
54
+ };
55
+ return {
56
+ data: result,
57
+ wisdom: hallucinated.length === 0
58
+ ? `All ${resolved.length} cited hash${resolved.length === 1 ? "" : "es"} resolve to real commits. Safe to deliver.`
59
+ : `STOP — ${hallucinated.length} hallucinated hash${hallucinated.length === 1 ? "" : "es"} detected: ${hallucinated.slice(0, 3).join(", ")}${hallucinated.length > 3 ? ", ..." : ""}. Rewrite the draft using only the hashes in data.resolved (${resolved.length} real ones), OR remove the unbacked claim entirely.`,
60
+ followUp: hallucinated.length > 0 ? ["mneme.memory.search_commits"] : [],
61
+ confidence: { level: "high" },
62
+ secondBrain: {
63
+ presentation: hallucinated.length === 0
64
+ ? "Deliver the draft to the user."
65
+ : "DO NOT deliver this draft. Either rewrite using data.resolved hashes only, or call mneme.memory.search_commits to find real related commits, then rewrite. Re-call mneme.verify_claims with the new draft. Loop until hallucinated.length === 0.",
66
+ },
67
+ };
68
+ },
69
+ };
70
+ //# sourceMappingURL=_verify_claims_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_verify_claims_tool.js","sourceRoot":"","sources":["../../src/tools/_verify_claims_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,MAAM;IAChB,WAAW,EACT,qGAAqG;QACrG,6GAA6G;QAC7G,yGAAyG;QACzG,wGAAwG;QACxG,qEAAqE;IACvE,QAAQ,EAAE;QACR,wCAAwC;QACxC,kCAAkC;QAClC,uBAAuB;KACxB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;SAC1E;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAiB;YAC3B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ;YACR,YAAY;YACZ,kBAAkB,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;SAC5C,CAAC;QACF,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,YAAY,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,4CAA4C;gBACnH,CAAC,CAAC,UAAU,YAAY,CAAC,MAAM,qBAAqB,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,+DAA+D,QAAQ,CAAC,MAAM,qDAAqD;YAC1T,QAAQ,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,WAAW,EAAE;gBACX,YAAY,EACV,YAAY,CAAC,MAAM,KAAK,CAAC;oBACvB,CAAC,CAAC,gCAAgC;oBAClC,CAAC,CAAC,kPAAkP;aACzP;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/mcp",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "description": "MCP server that exposes Mneme to Claude Code, Cursor, Continue, and other AI clients",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,8 +37,8 @@
37
37
  "node": ">=22.13.0 <25.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@mneme-ai/core": "1.8.0",
41
- "@mneme-ai/embeddings": "1.8.0",
40
+ "@mneme-ai/core": "1.10.0",
41
+ "@mneme-ai/embeddings": "1.10.0",
42
42
  "@modelcontextprotocol/sdk": "^1.0.4"
43
43
  }
44
44
  }