@mneme-ai/mcp 1.1.1 → 1.2.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.
Files changed (60) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +45 -344
  3. package/dist/index.js.map +1 -1
  4. package/dist/tools/_capabilities.d.ts +14 -0
  5. package/dist/tools/_capabilities.d.ts.map +1 -0
  6. package/dist/tools/_capabilities.js +77 -0
  7. package/dist/tools/_capabilities.js.map +1 -0
  8. package/dist/tools/_registry.d.ts +16 -0
  9. package/dist/tools/_registry.d.ts.map +1 -0
  10. package/dist/tools/_registry.js +57 -0
  11. package/dist/tools/_registry.js.map +1 -0
  12. package/dist/tools/_runtime.d.ts +32 -0
  13. package/dist/tools/_runtime.d.ts.map +1 -0
  14. package/dist/tools/_runtime.js +78 -0
  15. package/dist/tools/_runtime.js.map +1 -0
  16. package/dist/tools/_smart_do.d.ts +14 -0
  17. package/dist/tools/_smart_do.d.ts.map +1 -0
  18. package/dist/tools/_smart_do.js +49 -0
  19. package/dist/tools/_smart_do.js.map +1 -0
  20. package/dist/tools/_types.d.ts +70 -0
  21. package/dist/tools/_types.d.ts.map +1 -0
  22. package/dist/tools/_types.js +34 -0
  23. package/dist/tools/_types.js.map +1 -0
  24. package/dist/tools/audit.d.ts +9 -0
  25. package/dist/tools/audit.d.ts.map +1 -0
  26. package/dist/tools/audit.js +233 -0
  27. package/dist/tools/audit.js.map +1 -0
  28. package/dist/tools/forensics.d.ts +7 -0
  29. package/dist/tools/forensics.d.ts.map +1 -0
  30. package/dist/tools/forensics.js +189 -0
  31. package/dist/tools/forensics.js.map +1 -0
  32. package/dist/tools/insights.d.ts +7 -0
  33. package/dist/tools/insights.d.ts.map +1 -0
  34. package/dist/tools/insights.js +40 -0
  35. package/dist/tools/insights.js.map +1 -0
  36. package/dist/tools/lab.d.ts +7 -0
  37. package/dist/tools/lab.d.ts.map +1 -0
  38. package/dist/tools/lab.js +93 -0
  39. package/dist/tools/lab.js.map +1 -0
  40. package/dist/tools/memory.d.ts +10 -0
  41. package/dist/tools/memory.d.ts.map +1 -0
  42. package/dist/tools/memory.js +451 -0
  43. package/dist/tools/memory.js.map +1 -0
  44. package/dist/tools/meta.d.ts +7 -0
  45. package/dist/tools/meta.d.ts.map +1 -0
  46. package/dist/tools/meta.js +20 -0
  47. package/dist/tools/meta.js.map +1 -0
  48. package/dist/tools/people.d.ts +10 -0
  49. package/dist/tools/people.d.ts.map +1 -0
  50. package/dist/tools/people.js +73 -0
  51. package/dist/tools/people.js.map +1 -0
  52. package/dist/tools/quality.d.ts +6 -0
  53. package/dist/tools/quality.d.ts.map +1 -0
  54. package/dist/tools/quality.js +57 -0
  55. package/dist/tools/quality.js.map +1 -0
  56. package/dist/tools/quant.d.ts +7 -0
  57. package/dist/tools/quant.d.ts.map +1 -0
  58. package/dist/tools/quant.js +26 -0
  59. package/dist/tools/quant.js.map +1 -0
  60. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/tools/quality.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoB7C,eAAO,MAAM,YAAY,EAAE,SAAS,EAuJnC,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Quality — code quality, repo health, palimpsest causal chains, twin-rewrite.
3
+ */
4
+ import { passthroughHandler } from "./_runtime.js";
5
+ const passthrough = (name, description, triggers, cli, argMap = () => [], inputSchema = { type: "object", properties: {} }, followUp = [], wisdom = () => "Result returned — summarize key fields for the user.") => ({
6
+ name,
7
+ category: "quality",
8
+ description,
9
+ triggers,
10
+ inputSchema,
11
+ handler: passthroughHandler(cli, argMap, { wisdom, followUp, confidence: "medium" }),
12
+ });
13
+ export const qualityTools = [
14
+ passthrough("mneme.quality.karma", "TODO/FIXME debt as an accumulating ledger — who owns the oldest unkept promises. Use WHEN user asks: 'TODO debt by author', 'who has the most karma debt?', 'unkept promise ledger'.", ["TODO debt by author", "who has stale promises"], "karma", (a) => {
15
+ const out = [];
16
+ if (a["topN"])
17
+ out.push("--top", String(a["topN"]));
18
+ if (a["authorEmail"])
19
+ out.push("--author", String(a["authorEmail"]));
20
+ return out;
21
+ }, { type: "object", properties: { topN: { type: "number" }, authorEmail: { type: "string" } } }, ["mneme.people.promise"], (d) => `Karma ledger: ${d?.records?.length ?? 0} TODO entries scored by age + author.`),
22
+ passthrough("mneme.quality.repo_mri", "20-axis health diagnostic — the codebase MRI. Highlights outliers vs medians for similar-size OSS repos. Use WHEN user asks: 'how healthy is this repo?', 'MRI scan', 'where are we abnormal?'.", ["how healthy is this repo?", "MRI scan"], "repo-mri", () => [], { type: "object", properties: {} }, ["mneme.quality.heartbeat", "mneme.people.nervous_system"], () => "Repo MRI complete. The headline 'three most-unusual axes' is in data.outliers."),
23
+ passthrough("mneme.quality.heartbeat", "Today's pulse vs the rolling 7-day baseline. Anomalies above 2σ flagged. Use WHEN user asks: 'pulse check', 'anomalies today', 'health drift'.", ["pulse check today", "health drift"], "heartbeat", () => [], { type: "object", properties: {} }, ["mneme.quality.repo_mri"], (d) => `Heartbeat verdict: ${d?.verdict ?? "?"}. Anomalies in data.anomalies.`),
24
+ passthrough("mneme.quality.cognitive_twin", "Author voice fingerprint + optional commit-subject rewriter in their style. Use WHEN user asks: 'rewrite this in Alice's voice', 'author voice profile'.", ["rewrite in author voice", "author fingerprint"], "cognitive-twin", (a) => {
25
+ const out = [String(a["authorEmail"] ?? "")];
26
+ if (a["rewrite"])
27
+ out.push("--rewrite", String(a["rewrite"]));
28
+ return out;
29
+ }, {
30
+ type: "object",
31
+ properties: {
32
+ authorEmail: { type: "string" },
33
+ rewrite: { type: "string", description: "Generic subject to rewrite in author's voice" },
34
+ },
35
+ required: ["authorEmail"],
36
+ }),
37
+ passthrough("mneme.quality.counterfactual", "Shadow projection: 'What if this person hadn't been here?' — purely speculative, ethics-framed. Use WHEN user asks: 'impact analysis if X left'.", ["what if this person had not been here", "impact of leaving"], "counterfactual", (a) => [String(a["authorEmail"])], { type: "object", properties: { authorEmail: { type: "string" } }, required: ["authorEmail"] }, [], () => "Counterfactual is SPECULATIVE — frame as 'what if', never as fact."),
38
+ passthrough("mneme.quality.palimpsest", "Render the causal chain of a single line of code — every prior author + reason. Use WHEN user asks: 'palimpsest of src/x.ts:42', 'causal chain of this line'.", ["palimpsest of file:line", "causal chain of line"], "palimpsest", (a) => {
39
+ const out = [String(a["target"])];
40
+ if (a["counterfactual"])
41
+ out.push("--counterfactual");
42
+ return out;
43
+ }, {
44
+ type: "object",
45
+ properties: { target: { type: "string", description: "file:line" }, counterfactual: { type: "boolean" } },
46
+ required: ["target"],
47
+ }, ["mneme.people.lineage"]),
48
+ passthrough("mneme.quality.dna", "Extract a contributor's portable fingerprint (style, hours, file affinity). Use WHEN user asks: 'engineering DNA of Alice', 'fingerprint of this contributor'.", ["engineering DNA", "contributor fingerprint"], "dna", (a) => (a["authorEmail"] ? [String(a["authorEmail"])] : []), { type: "object", properties: { authorEmail: { type: "string" } } }, ["mneme.quality.cognitive_twin"]),
49
+ passthrough("mneme.quality.dna_fold", "Stylometric folding — group authors by writing style only (no commit metadata). Use WHEN user asks: 'cluster by writing style', 'DNA-fold groups'.", ["cluster by writing style", "DNA-fold groups"], "dna-fold", () => [], { type: "object", properties: {} }, ["mneme.people.telepathy"]),
50
+ passthrough("mneme.quality.rewind", "Replay history up to that ref — frozen view of the past at any commit. Use WHEN user asks: 'what did the repo look like at v0.5?', 'rewind to ref'.", ["rewind to ref", "view repo at past commit"], "rewind", (a) => [String(a["ref"])], { type: "object", properties: { ref: { type: "string" } }, required: ["ref"] }),
51
+ passthrough("mneme.quality.teach", "Explain a folder/file in plain language (layer classification + LLM summary). Use WHEN user asks: 'explain src/auth/', 'teach me this folder'.", ["explain this folder", "teach me about X"], "teach", (a) => [String(a["target"])], { type: "object", properties: { target: { type: "string" } }, required: ["target"] }, ["mneme.memory.ask"]),
52
+ passthrough("mneme.quality.heal", "Synthesize WHY notes for commits with poor messages — turns bad history into searchable memory. Use WHEN user asks: 'fix commit messages', 'heal bad history'.", ["fix commit messages", "heal bad history"], "heal", () => [], { type: "object", properties: {} }),
53
+ passthrough("mneme.quality.entities", "Parse + embed every function/class/type/exported variable in tracked TS/JS files. Use WHEN user asks: 'index entities', 'embed all functions'.", ["index symbols", "embed all functions"], "entities", () => [], { type: "object", properties: {} }, ["mneme.memory.list_entities", "mneme.memory.find_similar"]),
54
+ passthrough("mneme.quality.clones", "Find semantic clones — functions doing the same thing under different names. Use WHEN user asks: 'find duplicate code', 'semantic clones'.", ["find duplicate code", "semantic clones"], "clones", () => [], { type: "object", properties: {} }, ["mneme.memory.find_similar"]),
55
+ passthrough("mneme.quality.guardian", "Trigger a single Guardian sweep — diagnose weaknesses + auto-fix safe items. Use WHEN user asks: 'guardian sweep', 'auto-heal repo'.", ["guardian sweep", "auto-heal safe issues"], "guardian", () => [], { type: "object", properties: {} }),
56
+ ];
57
+ //# sourceMappingURL=quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/tools/quality.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Quant — Wall-Street-inspired analysis applied to engineering data.
3
+ * Drawdown, alpha, Greeks, black-swan, moneyball, insider-trading detector.
4
+ */
5
+ import type { MnemeTool } from "./_types.js";
6
+ export declare const quantTools: MnemeTool[];
7
+ //# sourceMappingURL=quant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quant.d.ts","sourceRoot":"","sources":["../../src/tools/quant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoB7C,eAAO,MAAM,UAAU,EAAE,SAAS,EAuEjC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Quant — Wall-Street-inspired analysis applied to engineering data.
3
+ * Drawdown, alpha, Greeks, black-swan, moneyball, insider-trading detector.
4
+ */
5
+ import { passthroughHandler } from "./_runtime.js";
6
+ const quant = (name, description, triggers, cli, argMap = () => [], inputSchema = { type: "object", properties: {} }, followUp = [], wisdom = () => "Result returned — summarize key fields for the user.") => ({
7
+ name,
8
+ category: "quant",
9
+ description,
10
+ triggers,
11
+ inputSchema,
12
+ handler: passthroughHandler(cli, argMap, { wisdom, followUp, confidence: "medium" }),
13
+ });
14
+ export const quantTools = [
15
+ quant("mneme.quant.drawdown", "Worst losing streaks — periods of pure firefighting. Use WHEN user asks: 'when were our worst weeks?', 'firefighting periods', 'drawdown'.", ["worst weeks of firefighting", "drawdown"], "drawdown"),
16
+ quant("mneme.quant.alpha", "Per-author 'alpha' — Kelly-criterion allocation across tech-debt items. Use WHEN user asks: 'who delivers alpha?', 'allocation of effort'.", ["who delivers alpha", "Kelly allocation"], "alpha", (a) => (a["items"] ? ["--items", String(a["items"])] : []), { type: "object", properties: { items: { type: "string", description: "JSON file path with items" } } }),
17
+ quant("mneme.quant.backtest", "Validate any binary predictor against historical outcomes. Use WHEN user asks: 'backtest this metric', 'validate predictor'.", ["backtest this metric", "validate predictor"], "backtest", (a) => (a["samples"] ? ["--samples", String(a["samples"])] : []), { type: "object", properties: { samples: { type: "string" } } }),
18
+ quant("mneme.quant.black_swan", "Tail-risk scan — rare but catastrophic file patterns. Use WHEN user asks: 'tail risks', 'black swan candidates'.", ["tail risks", "black swan candidates"], "black-swan"),
19
+ quant("mneme.quant.insider_trading", "Authors who repeatedly fix bugs they introduced themselves. Use WHEN user asks: 'who fixes their own bugs?', 'insider trading patterns'.", ["who fixes their own bugs", "insider patterns"], "insider-trading"),
20
+ quant("mneme.quant.moneyball", "Undervalued contributors — high impact, low LOC volume. Use WHEN user asks: 'who is undervalued?', 'moneyball contributors'.", ["undervalued contributors", "moneyball"], "moneyball", (a) => (a["topN"] ? ["--top", String(a["topN"])] : []), { type: "object", properties: { topN: { type: "number" } } }, ["mneme.people.influence"]),
21
+ quant("mneme.quant.greek", "Codebase Greeks (Δ Γ Θ) — sensitivity analysis across files. Use WHEN user asks: 'sensitivity analysis', 'codebase Greeks'.", ["sensitivity Greeks", "Δ Γ Θ"], "greek"),
22
+ quant("mneme.quant.correlation_matrix", "Hidden behavioral coupling between files (no static deps needed). Use WHEN user asks: 'which files move together?', 'behavioral coupling'.", ["files that change together", "behavioral coupling"], "correlation-matrix"),
23
+ quant("mneme.quant.implied_volatility", "Project chaos predicted from commit-message tone. Use WHEN user asks: 'how chaotic is this project?', 'implied volatility from tone'.", ["chaos from commit tone", "implied volatility"], "implied-volatility"),
24
+ quant("mneme.quant.tax_loss_harvest", "Dead-code candidates — delete to offset technical debt. Use WHEN user asks: 'what can we delete?', 'dead code', 'tax loss harvest'.", ["what can we delete", "dead code candidates"], "tax-loss-harvest", () => [], { type: "object", properties: {} }, ["mneme.insights.fossil", "mneme.insights.runaway"]),
25
+ ];
26
+ //# sourceMappingURL=quant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quant.js","sourceRoot":"","sources":["../../src/tools/quant.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/mcp",
3
- "version": "1.1.1",
3
+ "version": "1.2.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",
@@ -33,8 +33,8 @@
33
33
  "node": ">=22.13.0 <25.0.0"
34
34
  },
35
35
  "dependencies": {
36
- "@mneme-ai/core": "1.1.1",
37
- "@mneme-ai/embeddings": "1.1.1",
36
+ "@mneme-ai/core": "1.2.0",
37
+ "@mneme-ai/embeddings": "1.2.0",
38
38
  "@modelcontextprotocol/sdk": "^1.0.4"
39
39
  }
40
40
  }