@mmnto/mcp 1.7.0 → 1.7.1

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/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
6
6
  import { z } from 'zod';
7
7
  import { TotemConfigError, TotemError } from '@mmnto/totem';
8
8
  import { registerAddLesson } from './tools/add-lesson.js';
9
+ import { registerDescribeProject } from './tools/describe-project.js';
9
10
  import { registerSearchKnowledge } from './tools/search-knowledge.js';
10
11
  import { registerVerifyExecution } from './tools/verify-execution.js';
11
12
  // Support --cwd flag to run against a different project root
@@ -32,6 +33,7 @@ const server = new McpServer({
32
33
  registerSearchKnowledge(server);
33
34
  registerAddLesson(server);
34
35
  registerVerifyExecution(server);
36
+ registerDescribeProject(server);
35
37
  const transport = new StdioServerTransport();
36
38
  await server.connect(transport);
37
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,6DAA6D;AAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,EAChD,0CAA0C,EAC1C,gBAAgB,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,UAAU,CAClB,WAAW,EACX,kCAAkC,QAAQ,MAAM,OAAO,EAAE,EACzD,2DAA2D,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO;CACR,CAAC,CAAC;AAEH,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAChC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEhC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,6DAA6D;AAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,EAChD,0CAA0C,EAC1C,gBAAgB,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,UAAU,CAClB,WAAW,EACX,kCAAkC,QAAQ,MAAM,OAAO,EAAE,EACzD,2DAA2D,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO;CACR,CAAC,CAAC;AAEH,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAChC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEhC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerDescribeProject(server: McpServer): void;
3
+ //# sourceMappingURL=describe-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-project.d.ts","sourceRoot":"","sources":["../../src/tools/describe-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0DzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4B/D"}
@@ -0,0 +1,72 @@
1
+ import { CONFIG_FILES, describeProject, TotemConfigSchema, TotemError } from '@mmnto/totem';
2
+ import { getContext } from '../context.js';
3
+ /**
4
+ * Lightweight config loader for describe — avoids requiring embedder.
5
+ * Falls back to getContext() if available, otherwise loads config directly.
6
+ */
7
+ async function getDescriptionFromContext() {
8
+ const path = await import('node:path');
9
+ const fs = await import('node:fs');
10
+ const projectRoot = process.cwd();
11
+ // Try cached context first (avoids re-loading config).
12
+ // getContext() requires an embedder, so it will throw on Lite tier —
13
+ // we intentionally swallow the error and fall back to direct config load.
14
+ try {
15
+ const ctx = await getContext();
16
+ return describeProject(ctx.config, ctx.projectRoot);
17
+ }
18
+ catch {
19
+ // Expected on Lite tier — fall through to direct config load
20
+ }
21
+ // Direct config load for Lite tier (no embedder).
22
+ // Only .ts configs are supported here — jiti cannot parse YAML/TOML.
23
+ // YAML/TOML users will have getContext() succeed since those configs
24
+ // still define an embedding provider (Standard/Full tier).
25
+ let configPath = null;
26
+ for (const file of CONFIG_FILES) {
27
+ const candidate = path.join(projectRoot, file);
28
+ if (fs.existsSync(candidate)) {
29
+ configPath = candidate;
30
+ break;
31
+ }
32
+ }
33
+ if (!configPath) {
34
+ throw new Error('[Totem Error] No totem config found. Run totem init first.');
35
+ }
36
+ if (!configPath.endsWith('.ts')) {
37
+ throw new Error('[Totem Error] MCP describe_project fallback only supports .ts configs. ' +
38
+ 'YAML/TOML configs require an embedding provider (Standard+ tier).');
39
+ }
40
+ const { createJiti } = await import('jiti');
41
+ const jiti = createJiti(import.meta.url);
42
+ const mod = (await jiti.import(configPath));
43
+ const raw = mod['default'] ?? mod;
44
+ const config = TotemConfigSchema.parse(raw);
45
+ return describeProject(config, path.dirname(configPath));
46
+ }
47
+ export function registerDescribeProject(server) {
48
+ server.registerTool('describe_project', {
49
+ description: 'Returns a structured JSON summary of the project governance scope: rules, lessons, config tier, partitions, targets, and hooks. Fast, deterministic, no LLM required.',
50
+ inputSchema: {},
51
+ annotations: {
52
+ readOnlyHint: true,
53
+ },
54
+ }, async () => {
55
+ try {
56
+ const result = await getDescriptionFromContext();
57
+ return {
58
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
59
+ };
60
+ }
61
+ catch (err) {
62
+ const msg = err instanceof Error ? err.message : String(err);
63
+ const hint = err instanceof TotemError ? err.recoveryHint : undefined;
64
+ const text = hint ? `${msg}\n\nRecovery hint: ${hint}` : msg;
65
+ return {
66
+ content: [{ type: 'text', text }],
67
+ isError: true,
68
+ };
69
+ }
70
+ });
71
+ }
72
+ //# sourceMappingURL=describe-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-project.js","sourceRoot":"","sources":["../../src/tools/describe-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=describe-project.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-project.test.d.ts","sourceRoot":"","sources":["../../src/tools/describe-project.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
2
+ // ---------------------------------------------------------------------------
3
+ // Mocks — must be declared before imports that reference them
4
+ // ---------------------------------------------------------------------------
5
+ let capturedHandler;
6
+ vi.mock('@modelcontextprotocol/sdk/server/mcp.js', () => ({
7
+ McpServer: class {
8
+ },
9
+ }));
10
+ const mockDescribeProject = vi.fn(() => ({
11
+ project: 'test-project',
12
+ description: 'A test project',
13
+ tier: 'standard',
14
+ rules: 10,
15
+ lessons: 5,
16
+ targets: ['**/*.ts (code/typescript-ast)'],
17
+ partitions: { core: ['packages/core/'] },
18
+ hooks: ['pre-push'],
19
+ }));
20
+ vi.mock('@mmnto/totem', () => ({
21
+ CONFIG_FILES: ['totem.config.ts', 'totem.yaml', 'totem.yml', 'totem.toml'],
22
+ describeProject: () => mockDescribeProject(),
23
+ TotemConfigSchema: { parse: (v) => v },
24
+ TotemError: class extends Error {
25
+ recoveryHint;
26
+ },
27
+ }));
28
+ let contextError = null;
29
+ vi.mock('../context.js', () => ({
30
+ getContext: vi.fn(async () => {
31
+ if (contextError)
32
+ throw contextError;
33
+ return {
34
+ projectRoot: '/fake/project',
35
+ config: { targets: [], totemDir: '.totem' },
36
+ };
37
+ }),
38
+ }));
39
+ // ---------------------------------------------------------------------------
40
+ // Import under test (after mocks)
41
+ // ---------------------------------------------------------------------------
42
+ import { registerDescribeProject } from './describe-project.js';
43
+ // ---------------------------------------------------------------------------
44
+ // Helpers
45
+ // ---------------------------------------------------------------------------
46
+ function fakeServer() {
47
+ return {
48
+ registerTool: vi.fn((_name, _schema, handler) => {
49
+ capturedHandler = handler;
50
+ }),
51
+ };
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // Tests
55
+ // ---------------------------------------------------------------------------
56
+ describe('describe_project MCP tool', () => {
57
+ beforeEach(() => {
58
+ contextError = null;
59
+ mockDescribeProject.mockClear();
60
+ });
61
+ it('registers the tool with correct name and schema', () => {
62
+ const server = fakeServer();
63
+ registerDescribeProject(server);
64
+ expect(server.registerTool).toHaveBeenCalledOnce();
65
+ expect(server.registerTool.mock.calls[0][0]).toBe('describe_project');
66
+ });
67
+ it('returns structured JSON when context is available', async () => {
68
+ const server = fakeServer();
69
+ registerDescribeProject(server);
70
+ const result = (await capturedHandler({}));
71
+ const parsed = JSON.parse(result.content[0].text);
72
+ expect(parsed.project).toBe('test-project');
73
+ expect(parsed.tier).toBe('standard');
74
+ expect(parsed.rules).toBe(10);
75
+ expect(parsed.lessons).toBe(5);
76
+ });
77
+ it('delegates to describeProject on each call', async () => {
78
+ const server = fakeServer();
79
+ registerDescribeProject(server);
80
+ await capturedHandler({});
81
+ expect(mockDescribeProject).toHaveBeenCalledOnce();
82
+ });
83
+ it('returns isError when both context and fallback fail', async () => {
84
+ contextError = new Error('[Totem Error] No config');
85
+ const originalCwd = process.cwd;
86
+ process.cwd = () => '/nonexistent/path/no-totem-here';
87
+ try {
88
+ const server = fakeServer();
89
+ registerDescribeProject(server);
90
+ const result = (await capturedHandler({}));
91
+ expect(result.isError).toBe(true);
92
+ }
93
+ finally {
94
+ process.cwd = originalCwd;
95
+ }
96
+ });
97
+ });
98
+ //# sourceMappingURL=describe-project.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-project.test.js","sourceRoot":"","sources":["../../src/tools/describe-project.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmnto/mcp",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "MCP server for Totem — AI persistent memory and context layer",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,7 +18,7 @@
18
18
  "@modelcontextprotocol/sdk": "^1.0.0",
19
19
  "jiti": "^2.4.0",
20
20
  "zod": "^3.24.0",
21
- "@mmnto/totem": "1.7.0"
21
+ "@mmnto/totem": "1.7.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^22.0.0",