@memlab/mcp-server 2.0.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.
- package/README.md +285 -0
- package/bin/memlab-mcp.js +3 -0
- package/dist/heap-state.d.ts +14 -0
- package/dist/heap-state.d.ts.map +1 -0
- package/dist/heap-state.js +25 -0
- package/dist/heap-state.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/aggregate-nodes.d.ts +12 -0
- package/dist/tools/aggregate-nodes.d.ts.map +1 -0
- package/dist/tools/aggregate-nodes.js +136 -0
- package/dist/tools/aggregate-nodes.js.map +1 -0
- package/dist/tools/class-histogram.d.ts +12 -0
- package/dist/tools/class-histogram.d.ts.map +1 -0
- package/dist/tools/class-histogram.js +94 -0
- package/dist/tools/class-histogram.js.map +1 -0
- package/dist/tools/closure-inspection.d.ts +12 -0
- package/dist/tools/closure-inspection.d.ts.map +1 -0
- package/dist/tools/closure-inspection.js +107 -0
- package/dist/tools/closure-inspection.js.map +1 -0
- package/dist/tools/detached-dom.d.ts +12 -0
- package/dist/tools/detached-dom.d.ts.map +1 -0
- package/dist/tools/detached-dom.js +53 -0
- package/dist/tools/detached-dom.js.map +1 -0
- package/dist/tools/dominator-subtree.d.ts +12 -0
- package/dist/tools/dominator-subtree.d.ts.map +1 -0
- package/dist/tools/dominator-subtree.js +77 -0
- package/dist/tools/dominator-subtree.js.map +1 -0
- package/dist/tools/duplicated-strings.d.ts +12 -0
- package/dist/tools/duplicated-strings.d.ts.map +1 -0
- package/dist/tools/duplicated-strings.js +78 -0
- package/dist/tools/duplicated-strings.js.map +1 -0
- package/dist/tools/eval.d.ts +12 -0
- package/dist/tools/eval.d.ts.map +1 -0
- package/dist/tools/eval.js +119 -0
- package/dist/tools/eval.js.map +1 -0
- package/dist/tools/find-by-property.d.ts +12 -0
- package/dist/tools/find-by-property.d.ts.map +1 -0
- package/dist/tools/find-by-property.js +77 -0
- package/dist/tools/find-by-property.js.map +1 -0
- package/dist/tools/find-nodes-by-class.d.ts +12 -0
- package/dist/tools/find-nodes-by-class.d.ts.map +1 -0
- package/dist/tools/find-nodes-by-class.js +38 -0
- package/dist/tools/find-nodes-by-class.js.map +1 -0
- package/dist/tools/for-each.d.ts +12 -0
- package/dist/tools/for-each.d.ts.map +1 -0
- package/dist/tools/for-each.js +185 -0
- package/dist/tools/for-each.js.map +1 -0
- package/dist/tools/get-node.d.ts +12 -0
- package/dist/tools/get-node.d.ts.map +1 -0
- package/dist/tools/get-node.js +51 -0
- package/dist/tools/get-node.js.map +1 -0
- package/dist/tools/get-property.d.ts +12 -0
- package/dist/tools/get-property.d.ts.map +1 -0
- package/dist/tools/get-property.js +88 -0
- package/dist/tools/get-property.js.map +1 -0
- package/dist/tools/get-references.d.ts +12 -0
- package/dist/tools/get-references.d.ts.map +1 -0
- package/dist/tools/get-references.js +61 -0
- package/dist/tools/get-references.js.map +1 -0
- package/dist/tools/get-referrers.d.ts +12 -0
- package/dist/tools/get-referrers.d.ts.map +1 -0
- package/dist/tools/get-referrers.js +61 -0
- package/dist/tools/get-referrers.js.map +1 -0
- package/dist/tools/global-variables.d.ts +12 -0
- package/dist/tools/global-variables.d.ts.map +1 -0
- package/dist/tools/global-variables.js +331 -0
- package/dist/tools/global-variables.js.map +1 -0
- package/dist/tools/largest-objects.d.ts +12 -0
- package/dist/tools/largest-objects.d.ts.map +1 -0
- package/dist/tools/largest-objects.js +32 -0
- package/dist/tools/largest-objects.js.map +1 -0
- package/dist/tools/load-snapshot.d.ts +12 -0
- package/dist/tools/load-snapshot.d.ts.map +1 -0
- package/dist/tools/load-snapshot.js +39 -0
- package/dist/tools/load-snapshot.js.map +1 -0
- package/dist/tools/object-shape.d.ts +12 -0
- package/dist/tools/object-shape.d.ts.map +1 -0
- package/dist/tools/object-shape.js +86 -0
- package/dist/tools/object-shape.js.map +1 -0
- package/dist/tools/reports.d.ts +12 -0
- package/dist/tools/reports.d.ts.map +1 -0
- package/dist/tools/reports.js +540 -0
- package/dist/tools/reports.js.map +1 -0
- package/dist/tools/retainer-trace.d.ts +12 -0
- package/dist/tools/retainer-trace.d.ts.map +1 -0
- package/dist/tools/retainer-trace.js +68 -0
- package/dist/tools/retainer-trace.js.map +1 -0
- package/dist/tools/search-nodes.d.ts +12 -0
- package/dist/tools/search-nodes.d.ts.map +1 -0
- package/dist/tools/search-nodes.js +85 -0
- package/dist/tools/search-nodes.js.map +1 -0
- package/dist/tools/snapshot-summary.d.ts +12 -0
- package/dist/tools/snapshot-summary.d.ts.map +1 -0
- package/dist/tools/snapshot-summary.js +73 -0
- package/dist/tools/snapshot-summary.js.map +1 -0
- package/dist/tools/stale-collections.d.ts +12 -0
- package/dist/tools/stale-collections.d.ts.map +1 -0
- package/dist/tools/stale-collections.js +97 -0
- package/dist/tools/stale-collections.js.map +1 -0
- package/dist/utils.d.ts +82 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +220 -0
- package/dist/utils.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { getSnapshot } from '../heap-state.js';
|
|
12
|
+
import { isNodeWorthInspecting, filterLargestObjects, serializeNodeSummary, formatNodeSummaryTable, errorResult, textResult, } from '../utils.js';
|
|
13
|
+
export function registerLargestObjects(server) {
|
|
14
|
+
server.tool('memlab_largest_objects', 'Find the top N objects by retained size in the loaded heap snapshot. Filters out internal/meta objects.', {
|
|
15
|
+
limit: z
|
|
16
|
+
.number()
|
|
17
|
+
.optional()
|
|
18
|
+
.default(20)
|
|
19
|
+
.describe('Maximum number of objects to return (default 20)'),
|
|
20
|
+
}, async ({ limit }) => {
|
|
21
|
+
try {
|
|
22
|
+
const snapshot = getSnapshot();
|
|
23
|
+
const nodes = filterLargestObjects(snapshot, isNodeWorthInspecting, limit);
|
|
24
|
+
const summaries = nodes.map(serializeNodeSummary);
|
|
25
|
+
return textResult(`Top ${summaries.length} objects by retained size\n\n${formatNodeSummaryTable(summaries)}`);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
return errorResult(err);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=largest-objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"largest-objects.js","sourceRoot":"","sources":["../../src/tools/largest-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,yGAAyG,EACzG;QACE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,kDAAkD,CAAC;KAChE,EACD,KAAK,EAAE,EAAC,KAAK,EAAC,EAAE,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,EACR,qBAAqB,EACrB,KAAK,CACN,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClD,OAAO,UAAU,CACf,OAAO,SAAS,CAAC,MAAM,gCAAgC,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
|
+
export declare function registerLoadSnapshot(server: McpServer): void;
|
|
12
|
+
//# sourceMappingURL=load-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-snapshot.d.ts","sourceRoot":"","sources":["../../src/tools/load-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAOvE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+B5D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import memlabHeapAnalysis from '@memlab/heap-analysis';
|
|
12
|
+
const { getFullHeapFromFile } = memlabHeapAnalysis;
|
|
13
|
+
import { setSnapshot } from '../heap-state.js';
|
|
14
|
+
import { formatBytes, formatNumber, errorResult, textResult } from '../utils.js';
|
|
15
|
+
export function registerLoadSnapshot(server) {
|
|
16
|
+
server.tool('memlab_load_snapshot', 'Load and parse a .heapsnapshot file. This builds indexes, computes the dominator tree, and calculates retained sizes. Only one snapshot can be loaded at a time.', {
|
|
17
|
+
file_path: z.string().describe('Absolute path to a .heapsnapshot file'),
|
|
18
|
+
}, async ({ file_path }) => {
|
|
19
|
+
try {
|
|
20
|
+
const snapshot = await getFullHeapFromFile(file_path);
|
|
21
|
+
setSnapshot(snapshot, file_path);
|
|
22
|
+
let nodeCount = 0;
|
|
23
|
+
let edgeCount = 0;
|
|
24
|
+
let totalSize = 0;
|
|
25
|
+
snapshot.nodes.forEach(node => {
|
|
26
|
+
nodeCount++;
|
|
27
|
+
totalSize += node.self_size;
|
|
28
|
+
});
|
|
29
|
+
snapshot.edges.forEach(() => {
|
|
30
|
+
edgeCount++;
|
|
31
|
+
});
|
|
32
|
+
return textResult(`Loaded ${file_path}: ${formatNumber(nodeCount)} nodes, ${formatNumber(edgeCount)} edges, ${formatBytes(totalSize)}`);
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
return errorResult(err);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=load-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-snapshot.js","sourceRoot":"","sources":["../../src/tools/load-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,MAAM,EAAC,mBAAmB,EAAC,GAAG,kBAAkB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,kKAAkK,EAClK;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KACxE,EACD,KAAK,EAAE,EAAC,SAAS,EAAC,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACtD,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEjC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,SAAS,EAAE,CAAC;gBACZ,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1B,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,OAAO,UAAU,CACf,UAAU,SAAS,KAAK,YAAY,CAAC,SAAS,CAAC,WAAW,YAAY,CAAC,SAAS,CAAC,WAAW,WAAW,CAAC,SAAS,CAAC,EAAE,CACrH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
|
+
export declare function registerObjectShape(server: McpServer): void;
|
|
12
|
+
//# sourceMappingURL=object-shape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-shape.d.ts","sourceRoot":"","sources":["../../src/tools/object-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAYvE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkF3D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { getSnapshot } from '../heap-state.js';
|
|
12
|
+
import { formatBytes, formatNumber, formatNodeInline, markdownTable, errorResult, textResult, } from '../utils.js';
|
|
13
|
+
export function registerObjectShape(server) {
|
|
14
|
+
server.tool('memlab_object_shape', 'Show the shape/structure of a heap object: all its named properties with target node types and sizes. Filters out internal/hidden edges to show only user-visible properties. Use this to understand what an object contains at a glance.', {
|
|
15
|
+
node_id: z.number().describe('The numeric ID of the heap node'),
|
|
16
|
+
include_internal: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.default(false)
|
|
20
|
+
.describe('Include internal/hidden edges (default false)'),
|
|
21
|
+
limit: z
|
|
22
|
+
.number()
|
|
23
|
+
.optional()
|
|
24
|
+
.default(50)
|
|
25
|
+
.describe('Maximum number of properties to return (default 50)'),
|
|
26
|
+
}, async ({ node_id, include_internal, limit }) => {
|
|
27
|
+
try {
|
|
28
|
+
const snapshot = getSnapshot();
|
|
29
|
+
const node = snapshot.getNodeById(node_id);
|
|
30
|
+
if (!node) {
|
|
31
|
+
return errorResult(`Node with id ${node_id} not found`);
|
|
32
|
+
}
|
|
33
|
+
const userEdgeTypes = new Set([
|
|
34
|
+
'property',
|
|
35
|
+
'element',
|
|
36
|
+
'context',
|
|
37
|
+
'shortcut',
|
|
38
|
+
]);
|
|
39
|
+
const filteredEdges = node.references
|
|
40
|
+
.filter(edge => include_internal || userEdgeTypes.has(edge.type))
|
|
41
|
+
.sort((a, b) => b.toNode.retainedSize - a.toNode.retainedSize)
|
|
42
|
+
.slice(0, limit);
|
|
43
|
+
const totalEdges = node.references.length;
|
|
44
|
+
const hiddenCount = include_internal
|
|
45
|
+
? 0
|
|
46
|
+
: totalEdges -
|
|
47
|
+
node.references.filter(e => userEdgeTypes.has(e.type)).length;
|
|
48
|
+
const lines = [
|
|
49
|
+
`**${formatNodeInline(node.id, node.name, node.type)}** — ${formatNumber(totalEdges)} edges total${hiddenCount > 0 ? `, ${formatNumber(hiddenCount)} internal hidden` : ''}`,
|
|
50
|
+
'',
|
|
51
|
+
];
|
|
52
|
+
const headers = [
|
|
53
|
+
'Name',
|
|
54
|
+
'Edge Type',
|
|
55
|
+
'Target',
|
|
56
|
+
'Target Type',
|
|
57
|
+
'Retained',
|
|
58
|
+
];
|
|
59
|
+
const rightCols = new Set([4]);
|
|
60
|
+
const rows = filteredEdges.map(edge => {
|
|
61
|
+
const target = edge.toNode;
|
|
62
|
+
let targetLabel = `@${target.id} ${target.name}`;
|
|
63
|
+
if (target.isString) {
|
|
64
|
+
const strNode = target.toStringNode();
|
|
65
|
+
if (strNode) {
|
|
66
|
+
const val = strNode.stringValue;
|
|
67
|
+
targetLabel = `@${target.id} "${val.length > 60 ? val.slice(0, 60) + '...' : val}"`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
String(edge.name_or_index),
|
|
72
|
+
edge.type,
|
|
73
|
+
targetLabel,
|
|
74
|
+
target.type,
|
|
75
|
+
formatBytes(target.retainedSize),
|
|
76
|
+
];
|
|
77
|
+
});
|
|
78
|
+
lines.push(markdownTable(headers, rows, rightCols));
|
|
79
|
+
return textResult(lines.join('\n'));
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
return errorResult(err);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=object-shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-shape.js","sourceRoot":"","sources":["../../src/tools/object-shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
* @oncall memory_lab
|
|
9
|
+
*/
|
|
10
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
|
+
export declare function registerReports(server: McpServer): void;
|
|
12
|
+
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AA4jBvE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuDvD"}
|