mcp-scraper 0.51.0 → 0.51.2
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 +2 -2
- package/dist/bin/api-server.cjs +96 -34
- package/dist/bin/api-server.cjs.map +1 -1
- package/dist/bin/api-server.js +1 -1
- package/dist/bin/mcp-scraper-cli.cjs +1 -1
- package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
- package/dist/bin/mcp-scraper-cli.js +1 -1
- package/dist/bin/mcp-scraper-install.cjs +1 -1
- package/dist/bin/mcp-scraper-install.cjs.map +1 -1
- package/dist/bin/mcp-scraper-install.js +1 -1
- package/dist/bin/mcp-stdio-server.cjs +30 -16
- package/dist/bin/mcp-stdio-server.cjs.map +1 -1
- package/dist/bin/mcp-stdio-server.js +2 -2
- package/dist/{chunk-O63VVCCE.js → chunk-FCZ3QCZP.js} +31 -17
- package/dist/chunk-FCZ3QCZP.js.map +1 -0
- package/dist/chunk-JNRSR5ZJ.js +7 -0
- package/dist/chunk-JNRSR5ZJ.js.map +1 -0
- package/dist/{server-IGIIEHXY.js → server-KAEHVDY7.js} +67 -20
- package/dist/{server-IGIIEHXY.js.map → server-KAEHVDY7.js.map} +1 -1
- package/package.json +1 -1
- package/dist/chunk-73MUQSWC.js +0 -7
- package/dist/chunk-73MUQSWC.js.map +0 -1
- package/dist/chunk-O63VVCCE.js.map +0 -1
package/README.md
CHANGED
|
@@ -90,7 +90,7 @@ Build the branded one-click bundle:
|
|
|
90
90
|
npm run build:mcpb
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.51.
|
|
93
|
+
The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.51.2`, SHA-256 `7fe018b71b68a98ad84451e2bf007c08a74a284545feaa2f1876be65b8b51ca6`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
|
|
94
94
|
|
|
95
95
|
The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
|
|
96
96
|
|
|
@@ -210,7 +210,7 @@ Google Search Console exposes eight bounded reads and eight gated property and s
|
|
|
210
210
|
|
|
211
211
|
- Start unknown-location recall with `memory-search`. It uses Hybrid Smart RAG and returns ranked excerpts, not complete notes.
|
|
212
212
|
- Read strong candidates with `memory-get` before relying on, summarizing, linking, or editing them.
|
|
213
|
-
- Use `memory-list` for an exhaustive
|
|
213
|
+
- Use `memory-list` for an exhaustive inventory. Pass `allVaults:true` for every note and folder across the whole entitled Memory account; omit it for one logical vault. Account-wide results include aggregate totals and complete per-vault note/folder groups, so a default-vault count is never mistaken for the account total.
|
|
214
214
|
- Use `list-memory-tags` for the complete account-wide canonical tag vocabulary, aliases, usage counts, and per-vault distribution.
|
|
215
215
|
- `memory-put` replaces the complete note body. For edits, read the note, merge the requested change into the full body, write with `baseRevision`, then read back and verify it.
|
|
216
216
|
|
package/dist/bin/api-server.cjs
CHANGED
|
@@ -41595,7 +41595,7 @@ var PACKAGE_VERSION;
|
|
|
41595
41595
|
var init_version = __esm({
|
|
41596
41596
|
"src/version.ts"() {
|
|
41597
41597
|
"use strict";
|
|
41598
|
-
PACKAGE_VERSION = "0.51.
|
|
41598
|
+
PACKAGE_VERSION = "0.51.2";
|
|
41599
41599
|
}
|
|
41600
41600
|
});
|
|
41601
41601
|
|
|
@@ -41892,12 +41892,15 @@ note, registers canonical tags, writes it, and verifies readback. Reserve low-le
|
|
|
41892
41892
|
deliberate edits and migrations. Use
|
|
41893
41893
|
**table-create**/**table-insert-rows**/**table-query** instead when the caller wants row-shaped data
|
|
41894
41894
|
they'll filter/sort by exact value. **memory-search** is meaning-based over full content (embeds, slower);
|
|
41895
|
-
**memory-list** filters one vault by kind/tags (fast, exact)
|
|
41895
|
+
**memory-list** filters one vault by kind/tags (fast, exact), or lists the whole entitled account when
|
|
41896
|
+
\`allVaults:true\`.
|
|
41896
41897
|
|
|
41897
|
-
Choose the read surface by completeness, not convenience. **list-vaults** is the account inventory and
|
|
41898
|
-
reports each vault's note count. **memory-list** returns the complete metadata inventory for one vault
|
|
41899
|
-
no note bodies
|
|
41900
|
-
|
|
41898
|
+
Choose the read surface by completeness, not convenience. **list-vaults** is the compact account inventory and
|
|
41899
|
+
reports each vault's note count. **memory-list** returns the complete metadata inventory for one vault by
|
|
41900
|
+
default, with no note bodies and a sorted complete folder inventory derived from those paths. When the user
|
|
41901
|
+
asks for every note or folder they have across Memory, call **memory-list** once with \`allVaults:true\`; use
|
|
41902
|
+
its account totals and per-vault groups, and never present the default single-vault count as the account
|
|
41903
|
+
total. Use the result to identify every stable \`vault + path\` address. **list-memory-tags** returns the
|
|
41901
41904
|
complete account-wide canonical tag inventory, including aliases, usage counts, and per-vault distribution.
|
|
41902
41905
|
**memory-search** returns ranked
|
|
41903
41906
|
content chunks, not an exhaustive inventory or complete documents: deduplicate hits by vault/path and call
|
|
@@ -49347,7 +49350,7 @@ var init_browser_agent_mcp_server = __esm({
|
|
|
49347
49350
|
});
|
|
49348
49351
|
|
|
49349
49352
|
// src/mcp/memory-tool-schemas.ts
|
|
49350
|
-
var import_zod47, AcceptShareSchema, ApproveSenderSchema, DeclineShareSchema, GetChatLinkSchema, GetVaultAppLinkSchema, InboxSettingsSchema, InviteAccountSchema, issueKeyTool_scopeShape, IssueKeySchema, ListApprovedSendersSchema, ListKeysSchema, NoteInboxSchema, RemoveApprovedSenderSchema, RevokeChatLinkSchema, RevokeKeySchema, RevokeShareSchema, RevokeVaultAppLinkSchema, SetAgentIdentitySchema, SetScopeSchema, ShareNoteSchema, ShareVaultSchema, SwapVaultSchema, SwitchAccountSchema, UnlinkShareSchema, memoryCaptureTool_notePropsSchema, MemoryCaptureSchema, MemoryQuestionsSchema, PrepareMemoryWriteSchema, validateMemoryWriteTool_notePropsSchema, ValidateMemoryWriteSchema, CreateChannelSchema, GetMessageNoteSchema, ListChannelMembersSchema, ListChannelMessagesSchema, MyMentionsSchema, PollChannelSchema, PostMessageSchema, ReactMessageSchema, RemoveChannelMemberSchema, ReplyMessageSchema, factHistoryTool_entryShape, FactHistorySchema, recordFactTool_factShape, RecordFactSchema, NoteBacklinksSchema, GraphPathSchema, GraphUniverseSchema, LibraryIngestSchema, bulkDeleteNotesTool_FilterSchema, BulkDeleteNotesSchema, DeleteNoteSchema, ExportSchema, getTool_notePropsSchema, GetSchema, ListSchema, putTool_notePropsSchema, PutSchema, searchTool_primitiveValue, SearchSchema, SuggestSchema, UploadSchema, TemporalRecallSchema, ScheduledArtifactSelectionSchema2, CreateScheduledActionSchema, UpdateScheduledActionSchema, DeleteScheduledActionSchema, GetScheduleLinkSchema, GetScheduleStatusSchema, ListScheduledActionsSchema, PauseScheduledActionSchema, ProposeScheduledActionSchema, ResumeScheduledActionSchema, RevokeScheduleLinkSchema, SetScheduleDefaultsSchema, SetScheduleEntitlementSchema, CostUsageSchema, StorageUsageSchema, CreateTableSchema, deleteTableRowsTool_FilterSchema, DeleteTableRowsSchema, DescribeTableSchema, DropTableSchema, InsertTableRowsSchema, ListTablesSchema, queryTableTool_FilterSchema, QueryTableSchema, ListTagsSchema, MergeTagsSchema, ResolveTagsSchema, UpsertTagSchema, AddVaultSchema, CreateSecureVaultSchema, DeleteVaultSchema, GetVaultContractSchema, ListSharedWithMeSchema, ListVaultsSchema, ProvisionDefaultsSchema, RouteMemorySchema, VideoAnalyzeStartSchema, VideoAnalyzeStatusSchema, CreateWebhookSchema, ListWebhooksSchema, RevokeWebhookSchema, MEMORY_TOOL_SCHEMAS;
|
|
49353
|
+
var import_zod47, AcceptShareSchema, ApproveSenderSchema, DeclineShareSchema, GetChatLinkSchema, GetVaultAppLinkSchema, InboxSettingsSchema, InviteAccountSchema, issueKeyTool_scopeShape, IssueKeySchema, ListApprovedSendersSchema, ListKeysSchema, NoteInboxSchema, RemoveApprovedSenderSchema, RevokeChatLinkSchema, RevokeKeySchema, RevokeShareSchema, RevokeVaultAppLinkSchema, SetAgentIdentitySchema, SetScopeSchema, ShareNoteSchema, ShareVaultSchema, SwapVaultSchema, SwitchAccountSchema, UnlinkShareSchema, memoryCaptureTool_notePropsSchema, MemoryCaptureSchema, MemoryQuestionsSchema, PrepareMemoryWriteSchema, validateMemoryWriteTool_notePropsSchema, ValidateMemoryWriteSchema, CreateChannelSchema, GetMessageNoteSchema, ListChannelMembersSchema, ListChannelMessagesSchema, MyMentionsSchema, PollChannelSchema, PostMessageSchema, ReactMessageSchema, RemoveChannelMemberSchema, ReplyMessageSchema, factHistoryTool_entryShape, FactHistorySchema, recordFactTool_factShape, RecordFactSchema, NoteBacklinksSchema, GraphPathSchema, GraphUniverseSchema, LibraryIngestSchema, bulkDeleteNotesTool_FilterSchema, BulkDeleteNotesSchema, DeleteNoteSchema, ExportSchema, getTool_notePropsSchema, GetSchema, listNoteSchema, ListSchema, putTool_notePropsSchema, PutSchema, searchTool_primitiveValue, SearchSchema, SuggestSchema, UploadSchema, TemporalRecallSchema, ScheduledArtifactSelectionSchema2, CreateScheduledActionSchema, UpdateScheduledActionSchema, DeleteScheduledActionSchema, GetScheduleLinkSchema, GetScheduleStatusSchema, ListScheduledActionsSchema, PauseScheduledActionSchema, ProposeScheduledActionSchema, ResumeScheduledActionSchema, RevokeScheduleLinkSchema, SetScheduleDefaultsSchema, SetScheduleEntitlementSchema, CostUsageSchema, StorageUsageSchema, CreateTableSchema, deleteTableRowsTool_FilterSchema, DeleteTableRowsSchema, DescribeTableSchema, DropTableSchema, InsertTableRowsSchema, ListTablesSchema, queryTableTool_FilterSchema, QueryTableSchema, ListTagsSchema, MergeTagsSchema, ResolveTagsSchema, UpsertTagSchema, AddVaultSchema, CreateSecureVaultSchema, DeleteVaultSchema, GetVaultContractSchema, ListSharedWithMeSchema, ListVaultsSchema, ProvisionDefaultsSchema, RouteMemorySchema, VideoAnalyzeStartSchema, VideoAnalyzeStatusSchema, CreateWebhookSchema, ListWebhooksSchema, RevokeWebhookSchema, MEMORY_TOOL_SCHEMAS;
|
|
49351
49354
|
var init_memory_tool_schemas = __esm({
|
|
49352
49355
|
"src/mcp/memory-tool-schemas.ts"() {
|
|
49353
49356
|
"use strict";
|
|
@@ -50629,31 +50632,42 @@ var init_memory_tool_schemas = __esm({
|
|
|
50629
50632
|
openWorldHint: false
|
|
50630
50633
|
}
|
|
50631
50634
|
};
|
|
50635
|
+
listNoteSchema = import_zod47.z.object({
|
|
50636
|
+
path: import_zod47.z.string().describe("Vault-relative note path, e.g. projects/q3-plan."),
|
|
50637
|
+
title: import_zod47.z.string().describe("Human-readable note title."),
|
|
50638
|
+
kind: import_zod47.z.string().describe("Note kind: note, library, capture, or decision."),
|
|
50639
|
+
tags: import_zod47.z.array(import_zod47.z.string()).describe("The note's tags, if any."),
|
|
50640
|
+
updatedAt: import_zod47.z.string().describe("ISO-8601 timestamp of the note last update.")
|
|
50641
|
+
});
|
|
50632
50642
|
ListSchema = {
|
|
50633
50643
|
id: "memory-list",
|
|
50634
50644
|
upstreamName: "listTool",
|
|
50635
|
-
description: "Return every note
|
|
50645
|
+
description: "Return a complete note-and-folder metadata inventory without note bodies. Set allVaults:true when the user asks for every note or folder they have across their whole Memory account; the result is grouped by vault and includes aggregate totals. Otherwise list one exact vault, defaulting to the active or first entitled vault. Never report a single-vault count as the account total. Use memory-get for exact full content, memory-search for ranked semantic recall, or memory-export only when explicitly asked for every full note. Requires read scope.",
|
|
50636
50646
|
input: {
|
|
50637
50647
|
vault: import_zod47.z.string().optional().describe(
|
|
50638
50648
|
"Vault to list. Optional; defaults to the session active vault, then the first vault the caller is entitled to."
|
|
50639
50649
|
),
|
|
50650
|
+
allVaults: import_zod47.z.boolean().optional().describe("Set true for one complete account-wide inventory across every entitled vault. Omit or set false for one vault. When true, vault is ignored and reads run sequentially to avoid backend contention."),
|
|
50640
50651
|
kind: import_zod47.z.enum(["note", "library", "capture", "decision"]).optional().describe("Filter to a single note kind. Optional; omit to list every kind in the vault."),
|
|
50641
50652
|
tags: import_zod47.z.array(import_zod47.z.string()).optional().describe("Filter to notes tagged with any of these tags (matches the note's tags primitive). Optional; omit to not filter by tag.")
|
|
50642
50653
|
},
|
|
50643
50654
|
output: {
|
|
50644
50655
|
ok: import_zod47.z.boolean().describe("True when the listing succeeded; false on an auth/scope/lookup error."),
|
|
50656
|
+
scope: import_zod47.z.enum(["vault", "account"]).optional().describe("Whether the result covers one logical vault or the whole entitled account."),
|
|
50657
|
+
partial: import_zod47.z.boolean().optional().describe("Account-wide mode only: true if one vault failed and vaultInventories contains only the completed prefix."),
|
|
50645
50658
|
vault: import_zod47.z.string().optional().describe("The vault that was actually listed (after defaulting)."),
|
|
50646
|
-
notes: import_zod47.z.array(
|
|
50647
|
-
import_zod47.z.object({
|
|
50648
|
-
path: import_zod47.z.string().describe("Vault-relative note path, e.g. projects/q3-plan."),
|
|
50649
|
-
title: import_zod47.z.string().describe("Human-readable note title."),
|
|
50650
|
-
kind: import_zod47.z.string().describe("Note kind: note, library, capture, or decision."),
|
|
50651
|
-
tags: import_zod47.z.array(import_zod47.z.string()).describe("The note's tags, if any."),
|
|
50652
|
-
updatedAt: import_zod47.z.string().describe("ISO-8601 timestamp of the note last update.")
|
|
50653
|
-
})
|
|
50654
|
-
).optional().describe("The notes in the vault (metadata only, no content). Present when ok is true."),
|
|
50659
|
+
notes: import_zod47.z.array(listNoteSchema).optional().describe("The notes in the vault (metadata only, no content). Present when ok is true."),
|
|
50655
50660
|
folders: import_zod47.z.array(import_zod47.z.string()).optional().describe("Sorted complete folder inventory derived from note paths, including represented nested parent folders. Present when ok is true."),
|
|
50656
50661
|
vaults: import_zod47.z.array(import_zod47.z.string()).optional().describe("All vaults the caller is entitled to, for choosing a different vault to list."),
|
|
50662
|
+
totalNotes: import_zod47.z.number().int().nonnegative().optional().describe("Account-wide mode only: total notes across every completed vault inventory."),
|
|
50663
|
+
totalFolders: import_zod47.z.number().int().nonnegative().optional().describe("Account-wide mode only: total represented folder instances across vaults."),
|
|
50664
|
+
vaultInventories: import_zod47.z.array(import_zod47.z.object({
|
|
50665
|
+
vault: import_zod47.z.string().describe("Exact vault handle for every note and folder in this group."),
|
|
50666
|
+
noteCount: import_zod47.z.number().int().nonnegative(),
|
|
50667
|
+
folderCount: import_zod47.z.number().int().nonnegative(),
|
|
50668
|
+
notes: import_zod47.z.array(listNoteSchema).describe("Every note metadata record in this vault."),
|
|
50669
|
+
folders: import_zod47.z.array(import_zod47.z.string()).describe("Every represented folder and nested parent folder in this vault.")
|
|
50670
|
+
})).optional().describe("Account-wide mode only: complete note and folder inventories grouped by vault so paths remain unambiguous."),
|
|
50657
50671
|
error: import_zod47.z.string().optional().describe("Human-readable failure reason when ok is false.")
|
|
50658
50672
|
},
|
|
50659
50673
|
annotations: {
|
|
@@ -51924,7 +51938,50 @@ function folderInventory(result) {
|
|
|
51924
51938
|
}
|
|
51925
51939
|
function enrichMemoryResult(toolName, result) {
|
|
51926
51940
|
if (toolName !== "listTool" || result.ok !== true) return result;
|
|
51927
|
-
|
|
51941
|
+
if (result.scope === "account") return result;
|
|
51942
|
+
return { ...result, scope: "vault", folders: folderInventory(result) };
|
|
51943
|
+
}
|
|
51944
|
+
async function buildAccountMemoryInventory(args, listOne) {
|
|
51945
|
+
const filters = { ...args };
|
|
51946
|
+
delete filters.allVaults;
|
|
51947
|
+
delete filters.vault;
|
|
51948
|
+
const initial = enrichMemoryResult("listTool", await listOne(filters));
|
|
51949
|
+
if (initial.ok !== true) return initial;
|
|
51950
|
+
const vaults = Array.isArray(initial.vaults) ? initial.vaults.filter((vault) => typeof vault === "string") : [];
|
|
51951
|
+
const initialVault = typeof initial.vault === "string" ? initial.vault : null;
|
|
51952
|
+
if (!vaults.length && initialVault) vaults.push(initialVault);
|
|
51953
|
+
const vaultInventories = [];
|
|
51954
|
+
for (const vault of vaults) {
|
|
51955
|
+
const listed = vault === initialVault ? initial : enrichMemoryResult("listTool", await listOne({ ...filters, vault }));
|
|
51956
|
+
if (listed.ok !== true) {
|
|
51957
|
+
return {
|
|
51958
|
+
ok: false,
|
|
51959
|
+
scope: "account",
|
|
51960
|
+
partial: true,
|
|
51961
|
+
vaults,
|
|
51962
|
+
vaultInventories,
|
|
51963
|
+
error: typeof listed.error === "string" ? `Could not list vault ${vault}: ${listed.error}` : `Could not list vault ${vault}`
|
|
51964
|
+
};
|
|
51965
|
+
}
|
|
51966
|
+
const notes = Array.isArray(listed.notes) ? listed.notes : [];
|
|
51967
|
+
const folders = Array.isArray(listed.folders) ? listed.folders : [];
|
|
51968
|
+
vaultInventories.push({
|
|
51969
|
+
vault,
|
|
51970
|
+
noteCount: notes.length,
|
|
51971
|
+
folderCount: folders.length,
|
|
51972
|
+
notes,
|
|
51973
|
+
folders
|
|
51974
|
+
});
|
|
51975
|
+
}
|
|
51976
|
+
return {
|
|
51977
|
+
ok: true,
|
|
51978
|
+
scope: "account",
|
|
51979
|
+
partial: false,
|
|
51980
|
+
vaults,
|
|
51981
|
+
totalNotes: vaultInventories.reduce((sum, inventory) => sum + Number(inventory.noteCount), 0),
|
|
51982
|
+
totalFolders: vaultInventories.reduce((sum, inventory) => sum + Number(inventory.folderCount), 0),
|
|
51983
|
+
vaultInventories
|
|
51984
|
+
};
|
|
51928
51985
|
}
|
|
51929
51986
|
var MemoryMcpToolExecutor;
|
|
51930
51987
|
var init_memory_mcp_tool_executor = __esm({
|
|
@@ -51939,22 +51996,25 @@ var init_memory_mcp_tool_executor = __esm({
|
|
|
51939
51996
|
}
|
|
51940
51997
|
async callMemoryTool(toolName, args) {
|
|
51941
51998
|
try {
|
|
51942
|
-
const
|
|
51943
|
-
|
|
51944
|
-
|
|
51945
|
-
|
|
51946
|
-
|
|
51947
|
-
|
|
51948
|
-
|
|
51949
|
-
|
|
51950
|
-
|
|
51951
|
-
|
|
51952
|
-
|
|
51953
|
-
|
|
51954
|
-
|
|
51999
|
+
const callOne = async (input) => {
|
|
52000
|
+
const res = await fetch(`${this.baseUrl}/memory/mcp-call`, {
|
|
52001
|
+
method: "POST",
|
|
52002
|
+
headers: {
|
|
52003
|
+
"content-type": "application/json",
|
|
52004
|
+
"x-api-key": this.apiKey
|
|
52005
|
+
},
|
|
52006
|
+
body: JSON.stringify({ toolName, args: input })
|
|
52007
|
+
});
|
|
52008
|
+
const data2 = await res.json().catch(() => null);
|
|
52009
|
+
if (!res.ok) {
|
|
52010
|
+
throw new Error(data2?.error ?? `memory ${toolName} failed (HTTP ${res.status})`);
|
|
52011
|
+
}
|
|
52012
|
+
return data2 ?? { ok: false, error: `memory ${toolName} returned no result` };
|
|
52013
|
+
};
|
|
52014
|
+
const data = toolName === "listTool" && args.allVaults === true ? await buildAccountMemoryInventory(args, callOne) : await callOne(args);
|
|
51955
52015
|
const result = enrichMemoryResult(
|
|
51956
52016
|
toolName,
|
|
51957
|
-
data
|
|
52017
|
+
data
|
|
51958
52018
|
);
|
|
51959
52019
|
return {
|
|
51960
52020
|
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
@@ -52157,8 +52217,9 @@ function registerReadCutovers() {
|
|
|
52157
52217
|
return { content: [{ type: "text", text: JSON.stringify(result ?? {}) }], structuredContent: result ?? {}, isError: false };
|
|
52158
52218
|
});
|
|
52159
52219
|
registerCutover("listTool", async (input, apiKey) => {
|
|
52160
|
-
const
|
|
52161
|
-
|
|
52220
|
+
const listOne = async (args) => await import_list.listTool.execute({ ...args, apiKey }, {}) ?? {};
|
|
52221
|
+
const result = input.allVaults === true ? await buildAccountMemoryInventory(input, listOne) : enrichMemoryResult("listTool", await listOne(input));
|
|
52222
|
+
return { content: [{ type: "text", text: JSON.stringify(result) }], structuredContent: result, isError: false };
|
|
52162
52223
|
});
|
|
52163
52224
|
registerCutover("searchTool", async (input, apiKey) => {
|
|
52164
52225
|
const result = await import_search.searchTool.execute({ ...input, apiKey }, {});
|
|
@@ -52254,6 +52315,7 @@ var init_reads = __esm({
|
|
|
52254
52315
|
"src/mcp/memory-cutover/reads.ts"() {
|
|
52255
52316
|
"use strict";
|
|
52256
52317
|
init_memory_inprocess_executor();
|
|
52318
|
+
init_memory_mcp_tool_executor();
|
|
52257
52319
|
import_list_approved_senders = require("mcpscraper-memory-tools/tools/access/list-approved-senders");
|
|
52258
52320
|
import_note_inbox = require("mcpscraper-memory-tools/tools/access/note-inbox");
|
|
52259
52321
|
import_get_message_note = require("mcpscraper-memory-tools/tools/channels/get-message-note");
|