@mneme-ai/mcp 1.17.6 → 1.18.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 (92) hide show
  1. package/README.md +64 -9
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +76 -8
  4. package/dist/index.js.map +1 -1
  5. package/dist/mcp_primitives/completion.d.ts +19 -0
  6. package/dist/mcp_primitives/completion.d.ts.map +1 -0
  7. package/dist/mcp_primitives/completion.js +55 -0
  8. package/dist/mcp_primitives/completion.js.map +1 -0
  9. package/dist/mcp_primitives/prompts.d.ts +36 -0
  10. package/dist/mcp_primitives/prompts.d.ts.map +1 -0
  11. package/dist/mcp_primitives/prompts.js +140 -0
  12. package/dist/mcp_primitives/prompts.js.map +1 -0
  13. package/dist/mcp_primitives/resources.d.ts +30 -0
  14. package/dist/mcp_primitives/resources.d.ts.map +1 -0
  15. package/dist/mcp_primitives/resources.js +112 -0
  16. package/dist/mcp_primitives/resources.js.map +1 -0
  17. package/dist/tools/_aletheia.d.ts +82 -0
  18. package/dist/tools/_aletheia.d.ts.map +1 -0
  19. package/dist/tools/_aletheia.js +800 -0
  20. package/dist/tools/_aletheia.js.map +1 -0
  21. package/dist/tools/_confess.d.ts +67 -0
  22. package/dist/tools/_confess.d.ts.map +1 -0
  23. package/dist/tools/_confess.js +260 -0
  24. package/dist/tools/_confess.js.map +1 -0
  25. package/dist/tools/_confess.test.d.ts +6 -0
  26. package/dist/tools/_confess.test.d.ts.map +1 -0
  27. package/dist/tools/_confess.test.js +96 -0
  28. package/dist/tools/_confess.test.js.map +1 -0
  29. package/dist/tools/_contract.test.d.ts +19 -0
  30. package/dist/tools/_contract.test.d.ts.map +1 -0
  31. package/dist/tools/_contract.test.js +117 -0
  32. package/dist/tools/_contract.test.js.map +1 -0
  33. package/dist/tools/_court.d.ts +57 -0
  34. package/dist/tools/_court.d.ts.map +1 -0
  35. package/dist/tools/_court.js +261 -0
  36. package/dist/tools/_court.js.map +1 -0
  37. package/dist/tools/_court.test.d.ts +8 -0
  38. package/dist/tools/_court.test.d.ts.map +1 -0
  39. package/dist/tools/_court.test.js +111 -0
  40. package/dist/tools/_court.test.js.map +1 -0
  41. package/dist/tools/_genome_marketplace.d.ts +83 -0
  42. package/dist/tools/_genome_marketplace.d.ts.map +1 -0
  43. package/dist/tools/_genome_marketplace.js +410 -0
  44. package/dist/tools/_genome_marketplace.js.map +1 -0
  45. package/dist/tools/_genome_marketplace.test.d.ts +5 -0
  46. package/dist/tools/_genome_marketplace.test.d.ts.map +1 -0
  47. package/dist/tools/_genome_marketplace.test.js +157 -0
  48. package/dist/tools/_genome_marketplace.test.js.map +1 -0
  49. package/dist/tools/_mesh.d.ts +51 -0
  50. package/dist/tools/_mesh.d.ts.map +1 -0
  51. package/dist/tools/_mesh.js +182 -0
  52. package/dist/tools/_mesh.js.map +1 -0
  53. package/dist/tools/_registry.d.ts.map +1 -1
  54. package/dist/tools/_registry.js +17 -0
  55. package/dist/tools/_registry.js.map +1 -1
  56. package/dist/tools/_replay.d.ts +52 -0
  57. package/dist/tools/_replay.d.ts.map +1 -0
  58. package/dist/tools/_replay.js +253 -0
  59. package/dist/tools/_replay.js.map +1 -0
  60. package/dist/tools/_replay.test.d.ts +5 -0
  61. package/dist/tools/_replay.test.d.ts.map +1 -0
  62. package/dist/tools/_replay.test.js +90 -0
  63. package/dist/tools/_replay.test.js.map +1 -0
  64. package/dist/tools/_timetravel.d.ts +46 -0
  65. package/dist/tools/_timetravel.d.ts.map +1 -0
  66. package/dist/tools/_timetravel.js +243 -0
  67. package/dist/tools/_timetravel.js.map +1 -0
  68. package/dist/tools/_timetravel.test.d.ts +7 -0
  69. package/dist/tools/_timetravel.test.d.ts.map +1 -0
  70. package/dist/tools/_timetravel.test.js +31 -0
  71. package/dist/tools/_timetravel.test.js.map +1 -0
  72. package/dist/tools/_tool_meta.d.ts +30 -0
  73. package/dist/tools/_tool_meta.d.ts.map +1 -0
  74. package/dist/tools/_tool_meta.js +530 -0
  75. package/dist/tools/_tool_meta.js.map +1 -0
  76. package/dist/tools/_types.d.ts +46 -5
  77. package/dist/tools/_types.d.ts.map +1 -1
  78. package/dist/tools/_types.js.map +1 -1
  79. package/dist/tools/_verify_claims_tool.d.ts.map +1 -1
  80. package/dist/tools/_verify_claims_tool.js +23 -0
  81. package/dist/tools/_verify_claims_tool.js.map +1 -1
  82. package/dist/tools/audit.d.ts.map +1 -1
  83. package/dist/tools/audit.js +37 -0
  84. package/dist/tools/audit.js.map +1 -1
  85. package/dist/tools/memory.d.ts.map +1 -1
  86. package/dist/tools/memory.js +23 -0
  87. package/dist/tools/memory.js.map +1 -1
  88. package/dist/tools/quant.d.ts +10 -2
  89. package/dist/tools/quant.d.ts.map +1 -1
  90. package/dist/tools/quant.js +311 -18
  91. package/dist/tools/quant.js.map +1 -1
  92. package/package.json +3 -3
package/README.md CHANGED
@@ -1,21 +1,73 @@
1
1
  # @mneme-ai/mcp
2
2
 
3
- MCP server that exposes [Mneme](https://github.com/patsa2561-art/mneme-ai) to AI clients (Claude Code, Cursor, Continue, Copilot via MCP).
3
+ MCP server that exposes [Mneme](https://github.com/patsa2561-art/mneme-ai) to AI clients
4
+ (Claude Code, Cursor, Continue, Codex CLI, Cline, Zed, Aider, or any MCP-aware client).
4
5
 
5
6
  You normally don't import this directly — the `mneme-ai` CLI exposes it via:
6
7
 
7
8
  ```bash
8
- mneme mcp # start server on stdio
9
+ mneme mcp --install # auto-detects + wires up Claude Code / Cursor / Continue / etc.
10
+ mneme mcp # start server on stdio
9
11
  ```
10
12
 
11
- ## Tools exposed to the AI client
13
+ ## What's in this server (v1.18.0)
12
14
 
13
- | Tool | Purpose |
14
- |---|---|
15
- | `mneme_ask` | natural-language search over git history |
16
- | `mneme_why` | blame + RAG explanation for any file/line range |
17
- | `mneme_search_commits` | hybrid (BM25 + vector) commit search |
18
- | `mneme_status` | what's indexed |
15
+ **131+ MCP tools across 9 categories**, plus full
16
+ [MCP-spec-2025-06-18](https://modelcontextprotocol.io) primitive support
17
+ (tools, resources, prompts, completion). The complete catalog is in
18
+ [`MCP_TOOLS.md`](https://github.com/patsa2561-art/mneme-ai/blob/main/MCP_TOOLS.md)
19
+ (auto-generated from the registry).
20
+
21
+ ### Categories
22
+
23
+ - **memory** — Q&A, semantic search, citations grounded in commit history
24
+ - **people** — atrophy, telepathy, influence, lineage, passport
25
+ - **audit** — 5-axis trust certificate for AI commits + tamper-evident ledger
26
+ - **forensics** — vuln scan, anomaly, ENFSI authorship attribution
27
+ - **insights** — story, regret, premortem, oracle, time-machine, chronicle
28
+ - **quality** — repo MRI, cognitive twin, palimpsest, voice fingerprint
29
+ - **quant** — drawdown, alpha, Greeks, moneyball, black-swan _(every term has an inline jargon dictionary in v1.18)_
30
+ - **lab** — periodic table, library, compose, run, calibrate
31
+ - **meta** — discovery (capabilities / help / contract / lint / whats_new)
32
+
33
+ ### v1.18.0 firsts (no other MCP server has these)
34
+
35
+ | Feature | Tool(s) | What it does |
36
+ |---|---|---|
37
+ | **Tool Contract Schema** | (every tool) | 6-field contract: WHEN, INPUT, OUTPUT, EXAMPLES, PITFALLS, COMPOSE_WITH, JARGON. |
38
+ | **Catalog drift detector** | `mneme.whats_new` | Pass your last-seen hash → get adds / removes / changes. |
39
+ | **Sub-50ms tool matcher** | `mneme.help` | Free-text → top-5 tools without LLM. |
40
+ | **Self-validating contracts** | `mneme.tool.lint` | Every tool scored 0-100 on contract quality. |
41
+ | **Mneme Court** | `mneme.adversary.cross_examine` | Red-team your own AI claims against repo history. |
42
+ | **Truth Confession** | `mneme.confess` | Per-AI-vendor lifetime trust scoreboard. |
43
+ | **HMAC replay log** | `mneme.replay.dump` / `.fingerprint` | SOC2-grade tamper-evident session trace. |
44
+ | **Time-travel MCP** | `mneme.timetravel.activate` | Freeze repo view at a past commit for hindsight analysis. |
45
+ | **Genome Marketplace** | `mneme.genome.publish` / `.install` | Pack & share team conventions across repos. |
46
+ | **MCP Mesh** | `mneme.mesh.peers` / `.federate` | Cross-repo federation (scaffolding in 1.18, transport in 1.19). |
47
+ | **ALETHEIA security** | `mneme.aletheia.*` | Open MCP security framework — see [ALETHEIA.md](https://github.com/patsa2561-art/mneme-ai/blob/main/ALETHEIA.md). |
48
+
49
+ ### MCP primitives exposed
50
+
51
+ - **tools** ✓ — 115+
52
+ - **resources** ✓ — `mneme://catalog`, `mneme://catalog/{cat}`, `mneme://constitution`, `mneme://aletheia/karma`, `mneme://passport/{email}`
53
+ - **prompts** ✓ — `/refactor-safety`, `/incident-postmortem`, `/onboarding-pack`, `/code-review-with-history`
54
+ - **completion** ✓ — tab-complete tool names, categories, and arg enums
55
+ - **logging** ✓ — wired
56
+ - **sampling** — coming v1.19 (reverse-MCP for chronicle / story polish)
57
+ - **roots** — coming v1.19 (multi-repo workspaces)
58
+ - **elicitation** — coming v1.19 (disambiguation prompts)
59
+
60
+ ## How to discover what's available (for AI agents)
61
+
62
+ When you connect to Mneme, call **in this order**:
63
+
64
+ 1. `mneme.capabilities` — full syllabus + WHEN-to-use guidance per tool
65
+ 2. `mneme.whats_new(lastSeenHash)` — diff vs your last session (or pass `unknown` on first connect)
66
+ 3. `mneme.help(query)` — fast top-5 matcher when you're not sure which tool fits
67
+ 4. `mneme.tool.contract(name)` — full 6-field contract for any specific tool
68
+
69
+ Every tool response carries a `secondBrain` field that suggests next-step
70
+ molecules — read it on every call to compose richer answers.
19
71
 
20
72
  ## Client config
21
73
 
@@ -31,6 +83,9 @@ mneme mcp # start server on stdio
31
83
  }
32
84
  ```
33
85
 
86
+ Or run `mneme mcp --install` and Mneme writes the config for whichever
87
+ clients you have installed.
88
+
34
89
  ## License
35
90
 
36
91
  MIT.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AA4KD,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8CA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAuLD,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGpE"}
package/dist/index.js CHANGED
@@ -20,13 +20,18 @@ import { dirname, join } from "node:path";
20
20
  import { fileURLToPath } from "node:url";
21
21
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
22
22
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
23
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
23
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, CompleteRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
24
24
  import { buildRuntime } from "./tools/_runtime.js";
25
25
  import { buildAllTools, buildToolMap } from "./tools/_registry.js";
26
26
  import { toCallResult, toErrorResult } from "./tools/_types.js";
27
27
  import { moleculesContaining } from "./tools/_molecules.js";
28
28
  import { recordInvocation } from "./tools/_lifecycle.js";
29
29
  import { homeworkForCategory } from "./tools/_homework.js";
30
+ import { recordReplay } from "./tools/_replay.js";
31
+ import { recordObservation, recordKarmaEvent } from "./tools/_aletheia.js";
32
+ import { listResources, readResource } from "./mcp_primitives/resources.js";
33
+ import { listPrompts, getPrompt } from "./mcp_primitives/prompts.js";
34
+ import { completeArgument } from "./mcp_primitives/completion.js";
30
35
  function resolveVersion() {
31
36
  try {
32
37
  const here = dirname(fileURLToPath(import.meta.url));
@@ -38,13 +43,24 @@ function resolveVersion() {
38
43
  }
39
44
  }
40
45
  /** Convert MnemeTool[] to MCP's Tool[] shape (drops handler + triggers, keeps the
41
- * rich description so AI tool-selection has full WHEN-to-use guidance). */
46
+ * rich description so AI tool-selection has full WHEN-to-use guidance).
47
+ *
48
+ * v1.18.0 — when a tool defines `outputSchema`, we pass it through to the
49
+ * MCP SDK so MCP-spec-2025-06-18-compliant clients can reason about response
50
+ * shape before they call. The SDK type accepts the field as `outputSchema`
51
+ * on the Tool spec; we cast to keep the SDK boundary loose. */
42
52
  function toMcpTools(all) {
43
- return all.map((t) => ({
44
- name: t.name,
45
- description: t.description,
46
- inputSchema: t.inputSchema,
47
- }));
53
+ return all.map((t) => {
54
+ const base = {
55
+ name: t.name,
56
+ description: t.description,
57
+ inputSchema: t.inputSchema,
58
+ };
59
+ if (t.outputSchema) {
60
+ base.outputSchema = t.outputSchema;
61
+ }
62
+ return base;
63
+ });
48
64
  }
49
65
  /** Auto-enrich a tool response with Second Brain layer:
50
66
  * - compose: which molecules this atom participates in
@@ -178,7 +194,20 @@ export async function startMcpServer(opts) {
178
194
  const allTools = buildAllTools();
179
195
  const toolMap = buildToolMap();
180
196
  const dynamic = loadDynamicState(runtime.meta.rootPath);
181
- const server = new Server({ name: "mneme", version: resolveVersion() }, { capabilities: { tools: {} } });
197
+ const server = new Server({ name: "mneme", version: resolveVersion() }, {
198
+ capabilities: {
199
+ tools: {},
200
+ // v1.18.0 — Mneme advertises 4 MCP primitives + tools (was: tools only).
201
+ // resources — read-only views of constitution / catalog / karma
202
+ // prompts — pre-baked workflow templates (slash commands)
203
+ // completions — tab-complete tool / category / arg values
204
+ // logging — sink for forensic + lifecycle events
205
+ resources: { subscribe: false, listChanged: true },
206
+ prompts: { listChanged: false },
207
+ completions: {},
208
+ logging: {},
209
+ },
210
+ });
182
211
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
183
212
  tools: [
184
213
  ...toMcpTools(allTools),
@@ -189,13 +218,52 @@ export async function startMcpServer(opts) {
189
218
  })),
190
219
  ],
191
220
  }));
221
+ // ─── MCP primitives — resources / prompts / completion ──────────────
222
+ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
223
+ resources: listResources(runtime),
224
+ }));
225
+ server.setRequestHandler(ReadResourceRequestSchema, async (req) => ({
226
+ contents: [readResource(runtime, req.params.uri)],
227
+ }));
228
+ server.setRequestHandler(ListPromptsRequestSchema, async () => ({
229
+ prompts: listPrompts(),
230
+ }));
231
+ server.setRequestHandler(GetPromptRequestSchema, async (req) => {
232
+ const args = {};
233
+ if (req.params.arguments) {
234
+ for (const [k, v] of Object.entries(req.params.arguments)) {
235
+ args[k] = String(v);
236
+ }
237
+ }
238
+ // SDK type unions GetPromptResult with a task-bearing variant; our
239
+ // shape matches GetPromptResult exactly. Cast to satisfy the union.
240
+ return getPrompt(req.params.name, args);
241
+ });
242
+ server.setRequestHandler(CompleteRequestSchema, async (req) => {
243
+ const ref = req.params.ref;
244
+ const argName = req.params.argument.name;
245
+ const partial = String(req.params.argument.value ?? "");
246
+ const toolName = ref.type === "ref/prompt" ? ref.name : "";
247
+ const values = completeArgument(toolName, argName, partial);
248
+ return {
249
+ completion: { values, total: values.length, hasMore: false },
250
+ };
251
+ });
192
252
  server.setRequestHandler(CallToolRequestSchema, async (req) => {
193
253
  const tool = toolMap.get(req.params.name);
194
254
  if (tool) {
195
255
  try {
196
256
  const args = (req.params.arguments ?? {});
257
+ // v1.18.0 — record observation for ALETHEIA immune profile (best-effort).
258
+ recordObservation(runtime.meta.rootPath, tool.name, args);
197
259
  const response = await tool.handler(runtime, args);
198
260
  const enriched = enrichWithSecondBrain(response, tool, runtime.meta.rootPath);
261
+ // v1.18.0 — record HMAC-chained replay entry for audit (best-effort).
262
+ recordReplay(runtime.meta.rootPath, tool.name, args, enriched);
263
+ // v1.18.0 — increment karma invocations (no verdict-based delta yet
264
+ // unless response.data.verdict is present; tools that pair with confess
265
+ // call recordKarmaEvent themselves).
266
+ recordKarmaEvent(runtime.meta.rootPath, tool.name, "invocation");
199
267
  return toCallResult(enriched);
200
268
  }
201
269
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MCP `completion` primitive — tab-complete tool arguments.
3
+ *
4
+ * Currently we complete:
5
+ * • category arg of mneme.capabilities + mneme.tool.lint
6
+ * • name arg of mneme.tool.contract → suggests every registered tool
7
+ * • tool arg of mneme.help / mneme.aletheia.* → same
8
+ *
9
+ * Extensible: when a tool's inputSchema declares an enum, we
10
+ * suggest from the enum. Otherwise we fall back to the well-known
11
+ * arg-name → completion map below.
12
+ */
13
+ /** Return up to N completion suggestions for `argName` of `toolName`. */
14
+ export declare function completeArgument(toolName: string, argName: string, partial: string): string[];
15
+ /** For tests + introspection — list every category we know about. */
16
+ export declare function knownCategories(): readonly string[];
17
+ /** For tests — count of completions available for a representative shape. */
18
+ export declare function _smokeCount(): number;
19
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/mcp_primitives/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA+B7F;AAED,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAEnD;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,MAAM,CAGpC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * MCP `completion` primitive — tab-complete tool arguments.
3
+ *
4
+ * Currently we complete:
5
+ * • category arg of mneme.capabilities + mneme.tool.lint
6
+ * • name arg of mneme.tool.contract → suggests every registered tool
7
+ * • tool arg of mneme.help / mneme.aletheia.* → same
8
+ *
9
+ * Extensible: when a tool's inputSchema declares an enum, we
10
+ * suggest from the enum. Otherwise we fall back to the well-known
11
+ * arg-name → completion map below.
12
+ */
13
+ import { buildAllTools, groupByCategory } from "../tools/_registry.js";
14
+ const KNOWN_CATEGORIES = ["memory", "people", "audit", "forensics", "insights", "quality", "quant", "lab", "meta"];
15
+ /** Return up to N completion suggestions for `argName` of `toolName`. */
16
+ export function completeArgument(toolName, argName, partial) {
17
+ const lower = partial.toLowerCase();
18
+ // Tool-name args.
19
+ if (argName === "name" ||
20
+ argName === "tool" ||
21
+ argName === "target") {
22
+ return buildAllTools()
23
+ .map((t) => t.name)
24
+ .filter((n) => n.toLowerCase().startsWith(lower) || n.toLowerCase().includes(lower))
25
+ .slice(0, 25);
26
+ }
27
+ // Category args.
28
+ if (argName === "category") {
29
+ return KNOWN_CATEGORIES.filter((c) => c.startsWith(lower)).slice(0, 25);
30
+ }
31
+ // Tool-defined enum fallback.
32
+ const tool = buildAllTools().find((t) => t.name === toolName);
33
+ if (tool) {
34
+ const props = tool.inputSchema?.properties ?? {};
35
+ const argDef = props[argName];
36
+ if (argDef && Array.isArray(argDef.enum)) {
37
+ return argDef.enum
38
+ .filter((v) => typeof v === "string")
39
+ .filter((v) => v.toLowerCase().includes(lower))
40
+ .slice(0, 25);
41
+ }
42
+ }
43
+ // Fallback: empty completion.
44
+ return [];
45
+ }
46
+ /** For tests + introspection — list every category we know about. */
47
+ export function knownCategories() {
48
+ return KNOWN_CATEGORIES;
49
+ }
50
+ /** For tests — count of completions available for a representative shape. */
51
+ export function _smokeCount() {
52
+ void groupByCategory;
53
+ return buildAllTools().length;
54
+ }
55
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/mcp_primitives/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEvE,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEnH,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,OAAe;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,kBAAkB;IAClB,IACE,OAAO,KAAK,MAAM;QAClB,OAAO,KAAK,MAAM;QAClB,OAAO,KAAK,QAAQ,EACpB,CAAC;QACD,OAAO,aAAa,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,iBAAiB;IACjB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,8BAA8B;IAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9D,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAI,IAAI,CAAC,WAAqE,EAAE,UAAU,IAAI,EAAE,CAAC;QAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,IAAI;iBACf,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;iBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC9C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,8BAA8B;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe;IAC7B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,WAAW;IACzB,KAAK,eAAe,CAAC;IACrB,OAAO,aAAa,EAAE,CAAC,MAAM,CAAC;AAChC,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * MCP `prompts` primitive — pre-baked workflow templates clients
3
+ * surface as slash-commands. Mneme ships 4:
4
+ *
5
+ * • /refactor-safety — ai_commit_check before merge
6
+ * • /incident-postmortem — premortem + drawdown + chronicle
7
+ * • /onboarding-pack — mirror + nervous-system for new hire
8
+ * • /code-review-with-history — memory.why + telepathy + premortem
9
+ *
10
+ * Each prompt resolves to a Mneme molecule (a named atom combination).
11
+ * Clients call `prompts/get` with arguments → we render a templated
12
+ * message that lists the molecule's atoms + how to compose them.
13
+ */
14
+ export interface McpPromptListItem {
15
+ name: string;
16
+ description: string;
17
+ arguments?: Array<{
18
+ name: string;
19
+ description: string;
20
+ required?: boolean;
21
+ }>;
22
+ }
23
+ export interface McpPromptMessage {
24
+ role: "user" | "assistant";
25
+ content: {
26
+ type: "text";
27
+ text: string;
28
+ };
29
+ }
30
+ export interface McpPromptResult {
31
+ description: string;
32
+ messages: McpPromptMessage[];
33
+ }
34
+ export declare function listPrompts(): McpPromptListItem[];
35
+ export declare function getPrompt(name: string, args: Record<string, string>): McpPromptResult;
36
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp_primitives/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAyBD,wBAAgB,WAAW,IAAI,iBAAiB,EAAE,CAEjD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAoGrF"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * MCP `prompts` primitive — pre-baked workflow templates clients
3
+ * surface as slash-commands. Mneme ships 4:
4
+ *
5
+ * • /refactor-safety — ai_commit_check before merge
6
+ * • /incident-postmortem — premortem + drawdown + chronicle
7
+ * • /onboarding-pack — mirror + nervous-system for new hire
8
+ * • /code-review-with-history — memory.why + telepathy + premortem
9
+ *
10
+ * Each prompt resolves to a Mneme molecule (a named atom combination).
11
+ * Clients call `prompts/get` with arguments → we render a templated
12
+ * message that lists the molecule's atoms + how to compose them.
13
+ */
14
+ const PROMPTS = [
15
+ {
16
+ name: "refactor-safety",
17
+ description: "Before merging an AI-written refactor, run a safety bundle: certify + verify + cross-examine.",
18
+ arguments: [{ name: "commit", description: "Commit hash to gate (defaults to HEAD).", required: false }],
19
+ },
20
+ {
21
+ name: "incident-postmortem",
22
+ description: "Reconstruct an incident: drawdown + premortem + chronicle + replay fingerprint.",
23
+ arguments: [{ name: "since", description: "Window start (ISO date).", required: false }],
24
+ },
25
+ {
26
+ name: "onboarding-pack",
27
+ description: "Generate an onboarding bundle: mirror + nervous-system + atrophy heatmap + voice fingerprints.",
28
+ arguments: [{ name: "topic", description: "Area to onboard into (e.g. 'auth', 'payments').", required: true }],
29
+ },
30
+ {
31
+ name: "code-review-with-history",
32
+ description: "Review code with full historical context: memory.why for the file, telepathy for invisible owners, premortem for risk.",
33
+ arguments: [{ name: "file", description: "File path under review.", required: true }],
34
+ },
35
+ ];
36
+ export function listPrompts() {
37
+ return PROMPTS;
38
+ }
39
+ export function getPrompt(name, args) {
40
+ switch (name) {
41
+ case "refactor-safety": {
42
+ const commit = args["commit"] ?? "HEAD";
43
+ return {
44
+ description: "Refactor-safety gate — bundle 3 Mneme calls before merging.",
45
+ messages: [
46
+ {
47
+ role: "user",
48
+ content: {
49
+ type: "text",
50
+ text: [
51
+ `I'm about to merge commit ${commit}. Run the refactor-safety bundle:`,
52
+ ``,
53
+ `1. mneme.audit.certify({ explain: true }) → 5-axis trust verdict`,
54
+ `2. mneme.verify_claims({ draft: <my PR description> }) → catch hallucinated hashes`,
55
+ `3. mneme.adversary.cross_examine({ claim: "this refactor is safe to merge" }) → red-team`,
56
+ ``,
57
+ `Then summarize: PASS / WARN / FAIL across all three. If any warn or fail, list the specific findings + recommended next step.`,
58
+ ].join("\n"),
59
+ },
60
+ },
61
+ ],
62
+ };
63
+ }
64
+ case "incident-postmortem": {
65
+ const since = args["since"] ?? "(last 14 days)";
66
+ return {
67
+ description: "Incident postmortem — pull together drawdown + chronicle + replay evidence.",
68
+ messages: [
69
+ {
70
+ role: "user",
71
+ content: {
72
+ type: "text",
73
+ text: [
74
+ `Reconstruct the incident from ${since}. Compose:`,
75
+ ``,
76
+ `1. mneme.quant.drawdown → the worst losing-streak in the window`,
77
+ `2. mneme.insights.story({ topic: "<incident topic>" }) → what happened, in narrative`,
78
+ `3. mneme.insights.regret({ windowDays: 14 }) → ship-then-fix patterns`,
79
+ `4. mneme.replay.fingerprint → tamper-evident root for the AI session`,
80
+ ``,
81
+ `Output a postmortem doc with sections: timeline, root cause, what we knew, what we missed, action items.`,
82
+ ].join("\n"),
83
+ },
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ case "onboarding-pack": {
89
+ const topic = args["topic"] ?? "<topic>";
90
+ return {
91
+ description: `Onboarding pack — produce a curated dossier for someone joining the ${topic} area.`,
92
+ messages: [
93
+ {
94
+ role: "user",
95
+ content: {
96
+ type: "text",
97
+ text: [
98
+ `Build an onboarding pack for the ${topic} area. Compose:`,
99
+ ``,
100
+ `1. mneme.insights.mirror({ topic: "${topic}" }) → 5 PRs, 3 people, 2 incidents`,
101
+ `2. mneme.people.nervous_system → flagship report`,
102
+ `3. mneme.people.atrophy → who knows what (and is forgetting it)`,
103
+ `4. mneme.quality.cognitive_twin({ authorEmail: "<top owner>" }) → voice fingerprint`,
104
+ ``,
105
+ `Output a Markdown dossier with sections: people to ask, key PRs, recent incidents, the codebase's voice.`,
106
+ ].join("\n"),
107
+ },
108
+ },
109
+ ],
110
+ };
111
+ }
112
+ case "code-review-with-history": {
113
+ const file = args["file"] ?? "<path>";
114
+ return {
115
+ description: "Code review with full historical context.",
116
+ messages: [
117
+ {
118
+ role: "user",
119
+ content: {
120
+ type: "text",
121
+ text: [
122
+ `Review ${file} with full historical context. Compose:`,
123
+ ``,
124
+ `1. mneme.memory.why({ file: "${file}" }) → why does this file exist`,
125
+ `2. mneme.people.telepathy → who pairs invisibly on adjacent files`,
126
+ `3. mneme.insights.premortem({ intent: "modify ${file}" }) → regret risk`,
127
+ `4. mneme.aletheia.lint({ target: "<modification>" }) → security scan`,
128
+ ``,
129
+ `Output: should we proceed? what should reviewers focus on?`,
130
+ ].join("\n"),
131
+ },
132
+ },
133
+ ],
134
+ };
135
+ }
136
+ default:
137
+ throw new Error(`unknown prompt: ${name}`);
138
+ }
139
+ }
140
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp_primitives/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * MCP `resources` primitive — Mneme exposes 5 read-only views agents can
3
+ * fetch (and, eventually, subscribe to for change notifications):
4
+ *
5
+ * • mneme://constitution — repo's auto-synthesized rules
6
+ * • mneme://catalog — full tool catalog (JSON)
7
+ * • mneme://catalog/{category} — one category of tools
8
+ * • mneme://atrophy/heatmap — current atrophy snapshot
9
+ * • mneme://passport/{email} — engineer dossier
10
+ * • mneme://chronicle/latest — latest chaptered narrative
11
+ * • mneme://aletheia/karma — public tool reputation ledger
12
+ *
13
+ * v1.18.0 ships static / on-demand resources. Subscriptions + push updates
14
+ * (Mneme Whisper) land in v1.19.
15
+ */
16
+ import type { ToolRuntime } from "../tools/_types.js";
17
+ export interface McpResourceListItem {
18
+ uri: string;
19
+ name: string;
20
+ mimeType: string;
21
+ description?: string;
22
+ }
23
+ export interface McpResourceContent {
24
+ uri: string;
25
+ mimeType: string;
26
+ text: string;
27
+ }
28
+ export declare function listResources(rt: ToolRuntime): McpResourceListItem[];
29
+ export declare function readResource(rt: ToolRuntime, uri: string): McpResourceContent;
30
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/mcp_primitives/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAuBD,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAqBpE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAwD7E"}