mcp-scraper 0.9.0 → 0.11.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 +4 -4
- package/dist/bin/api-server.cjs +180 -9
- 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 +2 -2
- package/dist/bin/mcp-scraper-install.cjs.map +1 -1
- package/dist/bin/mcp-scraper-install.js +2 -2
- package/dist/bin/mcp-stdio-server.cjs +98 -6
- package/dist/bin/mcp-stdio-server.cjs.map +1 -1
- package/dist/bin/mcp-stdio-server.js +3 -3
- package/dist/{chunk-5HNHYUJ5.js → chunk-D3AJWXA2.js} +2 -2
- package/dist/{chunk-5HNHYUJ5.js.map → chunk-D3AJWXA2.js.map} +1 -1
- package/dist/chunk-P2WZLJKQ.js +7 -0
- package/dist/chunk-P2WZLJKQ.js.map +1 -0
- package/dist/{chunk-FZG427QD.js → chunk-QJBWER2Q.js} +98 -6
- package/dist/chunk-QJBWER2Q.js.map +1 -0
- package/dist/{server-E34MNLI3.js → server-LRWHUBUN.js} +85 -6
- package/dist/server-LRWHUBUN.js.map +1 -0
- package/docs/mcp-tool-manifest.generated.json +11339 -1479
- package/docs/oauth-legal-review.md +38 -0
- package/package.json +1 -1
- package/dist/chunk-FZG427QD.js.map +0 -1
- package/dist/chunk-RD5JOAWS.js +0 -7
- package/dist/chunk-RD5JOAWS.js.map +0 -1
- package/dist/server-E34MNLI3.js.map +0 -1
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
registerSerpIntelligenceCaptureTools,
|
|
35
35
|
sanitizeAttempts,
|
|
36
36
|
sanitizeHarvestResult
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-QJBWER2Q.js";
|
|
38
38
|
import {
|
|
39
39
|
auditImages,
|
|
40
40
|
buildLinkReport,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
RawMapsOverviewSchema,
|
|
71
71
|
RawMapsReviewStatsSchema
|
|
72
72
|
} from "./chunk-XGIPATLV.js";
|
|
73
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-P2WZLJKQ.js";
|
|
74
74
|
import {
|
|
75
75
|
completeExtractJob,
|
|
76
76
|
countSuccessfulPages,
|
|
@@ -20534,6 +20534,14 @@ async function getNangoCatalog() {
|
|
|
20534
20534
|
const safeDefaultAllowedTools = cleanTools(
|
|
20535
20535
|
row.safeDefaultAllowedTools ?? row.safe_default_allowed_tools ?? row.defaultAllowedTools ?? row.default_allowed_tools ?? row.allowedTools ?? row.allowed_tools
|
|
20536
20536
|
).filter((tool) => !disabledTools?.has(tool));
|
|
20537
|
+
const platformSetupStatus = firstString(row, [
|
|
20538
|
+
"platformSetupStatus",
|
|
20539
|
+
"platform_setup_status",
|
|
20540
|
+
"setupStatus",
|
|
20541
|
+
"setup_status"
|
|
20542
|
+
], 100);
|
|
20543
|
+
const appReviewStatus = row.appReviewLimited === true || row.app_review_limited === true ? "limited" : firstString(row, ["appReviewStatus", "app_review_status", "reviewStatus", "review_status"], 100);
|
|
20544
|
+
const appReviewNote = firstString(row, ["appReviewNote", "app_review_note", "reviewNote", "review_note"], 500);
|
|
20537
20545
|
result.push({
|
|
20538
20546
|
providerConfigKey,
|
|
20539
20547
|
provider,
|
|
@@ -20543,7 +20551,10 @@ async function getNangoCatalog() {
|
|
|
20543
20551
|
docsUrl,
|
|
20544
20552
|
authMode,
|
|
20545
20553
|
categories,
|
|
20546
|
-
safeDefaultAllowedTools
|
|
20554
|
+
safeDefaultAllowedTools,
|
|
20555
|
+
platformSetupStatus,
|
|
20556
|
+
appReviewStatus,
|
|
20557
|
+
appReviewNote
|
|
20547
20558
|
});
|
|
20548
20559
|
}
|
|
20549
20560
|
return result;
|
|
@@ -20570,6 +20581,10 @@ async function getNangoConnections(identity) {
|
|
|
20570
20581
|
status: reconnectRequired ? "needs_reauth" : "connected",
|
|
20571
20582
|
reconnectRequired,
|
|
20572
20583
|
actionsEnabled: row.actionsEnabled === true || row.actions_enabled === true,
|
|
20584
|
+
readTools: cleanTools(row.readTools ?? row.read_tools),
|
|
20585
|
+
actionTools: cleanTools(row.actionTools ?? row.action_tools ?? row.writeTools ?? row.write_tools),
|
|
20586
|
+
vaultName: firstString(row, ["vaultName", "vault_name"], 100),
|
|
20587
|
+
tableName: firstString(row, ["tableName", "table_name"], 100),
|
|
20573
20588
|
createdAt: firstString(row, ["createdAt", "created_at"], 100),
|
|
20574
20589
|
updatedAt: firstString(row, ["updatedAt", "updated_at"], 100)
|
|
20575
20590
|
});
|
|
@@ -20684,10 +20699,18 @@ async function setScheduleConnectionActionsEnabled(identity, connectionId, enabl
|
|
|
20684
20699
|
if (!isRecord(data) || !isRecord(data.connection)) return enabled;
|
|
20685
20700
|
return data.connection.actionsEnabled === true;
|
|
20686
20701
|
}
|
|
20687
|
-
async function callScheduleConnectionAction(identity, connectionId, input) {
|
|
20702
|
+
async function callScheduleConnectionAction(identity, connectionId, input, tool) {
|
|
20688
20703
|
const body = await controlRequest("/api/internal/nango/connections/actions/call", {
|
|
20689
20704
|
method: "POST",
|
|
20690
|
-
body: JSON.stringify({ identity, connectionId, input })
|
|
20705
|
+
body: JSON.stringify({ identity, connectionId, ...tool ? { tool } : {}, input })
|
|
20706
|
+
});
|
|
20707
|
+
const data = unwrapData(body);
|
|
20708
|
+
return isRecord(data) ? data.result ?? data : data;
|
|
20709
|
+
}
|
|
20710
|
+
async function callScheduleConnectionRead(identity, connectionId, tool, args) {
|
|
20711
|
+
const body = await controlRequest("/api/internal/nango/connections/actions/read", {
|
|
20712
|
+
method: "POST",
|
|
20713
|
+
body: JSON.stringify({ identity, connectionId, tool, args: args ?? {} })
|
|
20691
20714
|
});
|
|
20692
20715
|
const data = unwrapData(body);
|
|
20693
20716
|
return isRecord(data) ? data.result ?? data : data;
|
|
@@ -21429,6 +21452,62 @@ app.post("/schedule-connections/actions/google-calendar/create-event", auth2, as
|
|
|
21429
21452
|
return scheduleConnectionError(c, err, "Unable to create the calendar event.");
|
|
21430
21453
|
}
|
|
21431
21454
|
});
|
|
21455
|
+
app.post("/schedule-connections/actions/zoom/create-meeting", auth2, async (c) => {
|
|
21456
|
+
const user = c.get("user");
|
|
21457
|
+
const body = await c.req.json().catch(() => ({}));
|
|
21458
|
+
const connectionId = providerConfigKeyFrom(body.connectionId);
|
|
21459
|
+
if (!connectionId || typeof body.topic !== "string" || typeof body.startDateTime !== "string") {
|
|
21460
|
+
return c.json({ ok: false, error: "connectionId, topic, and startDateTime are required." }, 400);
|
|
21461
|
+
}
|
|
21462
|
+
try {
|
|
21463
|
+
const result = await callScheduleConnectionAction(user.email, connectionId, {
|
|
21464
|
+
topic: body.topic,
|
|
21465
|
+
startDateTime: body.startDateTime,
|
|
21466
|
+
durationMinutes: typeof body.durationMinutes === "number" ? body.durationMinutes : 30,
|
|
21467
|
+
timezone: typeof body.timezone === "string" ? body.timezone : void 0,
|
|
21468
|
+
agenda: typeof body.agenda === "string" ? body.agenda : void 0
|
|
21469
|
+
});
|
|
21470
|
+
return c.json({ ok: true, result });
|
|
21471
|
+
} catch (err) {
|
|
21472
|
+
return scheduleConnectionError(c, err, "Unable to create the Zoom meeting.");
|
|
21473
|
+
}
|
|
21474
|
+
});
|
|
21475
|
+
app.post("/schedule-connections/actions/read", auth2, async (c) => {
|
|
21476
|
+
const user = c.get("user");
|
|
21477
|
+
const body = await c.req.json().catch(() => ({}));
|
|
21478
|
+
const connectionId = providerConfigKeyFrom(body.connectionId);
|
|
21479
|
+
const tool = providerConfigKeyFrom(body.tool);
|
|
21480
|
+
if (!connectionId || !tool) {
|
|
21481
|
+
return c.json({ ok: false, error: "connectionId and tool are required." }, 400);
|
|
21482
|
+
}
|
|
21483
|
+
const args = body.args && typeof body.args === "object" && !Array.isArray(body.args) ? body.args : {};
|
|
21484
|
+
try {
|
|
21485
|
+
const result = await callScheduleConnectionRead(user.email, connectionId, tool, args);
|
|
21486
|
+
return c.json({ ok: true, result });
|
|
21487
|
+
} catch (err) {
|
|
21488
|
+
return scheduleConnectionError(c, err, "Unable to read from this connection.");
|
|
21489
|
+
}
|
|
21490
|
+
});
|
|
21491
|
+
app.post("/schedule-connections/actions/call", auth2, async (c) => {
|
|
21492
|
+
const user = c.get("user");
|
|
21493
|
+
const body = await c.req.json().catch(() => ({}));
|
|
21494
|
+
const connectionId = providerConfigKeyFrom(body.connectionId);
|
|
21495
|
+
const tool = providerConfigKeyFrom(body.tool);
|
|
21496
|
+
if (!connectionId || !tool || !body.args || typeof body.args !== "object" || Array.isArray(body.args)) {
|
|
21497
|
+
return c.json({ ok: false, error: "connectionId, tool, and an args object are required." }, 400);
|
|
21498
|
+
}
|
|
21499
|
+
try {
|
|
21500
|
+
const result = await callScheduleConnectionAction(
|
|
21501
|
+
user.email,
|
|
21502
|
+
connectionId,
|
|
21503
|
+
body.args,
|
|
21504
|
+
tool
|
|
21505
|
+
);
|
|
21506
|
+
return c.json({ ok: true, result });
|
|
21507
|
+
} catch (err) {
|
|
21508
|
+
return scheduleConnectionError(c, err, "Unable to run this connection action.");
|
|
21509
|
+
}
|
|
21510
|
+
});
|
|
21432
21511
|
app.post("/schedule-link", auth2, async (c) => {
|
|
21433
21512
|
try {
|
|
21434
21513
|
const user = c.get("user");
|
|
@@ -22615,4 +22694,4 @@ app.get("/blog/:slug/", (c) => {
|
|
|
22615
22694
|
export {
|
|
22616
22695
|
app
|
|
22617
22696
|
};
|
|
22618
|
-
//# sourceMappingURL=server-
|
|
22697
|
+
//# sourceMappingURL=server-LRWHUBUN.js.map
|