mcp-scraper 0.21.0 → 0.21.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 +4 -2
- package/dist/bin/api-server.cjs +368 -224
- package/dist/bin/api-server.cjs.map +1 -1
- package/dist/bin/api-server.js +2 -2
- 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 +12 -8
- package/dist/bin/mcp-stdio-server.cjs.map +1 -1
- package/dist/bin/mcp-stdio-server.js +4 -4
- package/dist/{chunk-HXGZMMW5.js → chunk-2FF4GBQ4.js} +1 -5
- package/dist/{chunk-HXGZMMW5.js.map → chunk-2FF4GBQ4.js.map} +1 -1
- package/dist/chunk-NBF4F4UT.js +7 -0
- package/dist/chunk-NBF4F4UT.js.map +1 -0
- package/dist/{chunk-TUSLATZY.js → chunk-X3NIXHHG.js} +2 -2
- package/dist/{chunk-Q44DN6T2.js → chunk-YNHPZU6B.js} +2 -2
- package/dist/{chunk-Q44DN6T2.js.map → chunk-YNHPZU6B.js.map} +1 -1
- package/dist/{chunk-XHJJQRNQ.js → chunk-ZNNYPE2U.js} +13 -9
- package/dist/{chunk-XHJJQRNQ.js.map → chunk-ZNNYPE2U.js.map} +1 -1
- package/dist/{server-PH3VJ74X.js → server-CHTX6YQA.js} +336 -207
- package/dist/server-CHTX6YQA.js.map +1 -0
- package/dist/{site-extract-repository-YNPXEZCB.js → site-extract-repository-5V5EEQ72.js} +3 -3
- package/dist/{worker-45WEWCMQ.js → worker-GE5JMHE6.js} +2 -2
- package/docs/mcp-tool-manifest.generated.json +28 -10
- package/docs/specs/google-drive-bulk-access-and-mcp-schema-passthrough-spec.md +16 -7
- package/docs/specs/unified-credit-and-scheduled-execution-billing-spec.md +96 -117
- package/package.json +2 -2
- package/dist/chunk-L4LMSXLO.js +0 -7
- package/dist/chunk-L4LMSXLO.js.map +0 -1
- package/dist/server-PH3VJ74X.js.map +0 -1
- /package/dist/{chunk-TUSLATZY.js.map → chunk-X3NIXHHG.js.map} +0 -0
- /package/dist/{site-extract-repository-YNPXEZCB.js.map → site-extract-repository-5V5EEQ72.js.map} +0 -0
- /package/dist/{worker-45WEWCMQ.js.map → worker-GE5JMHE6.js.map} +0 -0
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
saveExtractPages,
|
|
11
11
|
setExtractJobTotal,
|
|
12
12
|
settleExtractJob
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-X3NIXHHG.js";
|
|
14
|
+
import "./chunk-2FF4GBQ4.js";
|
|
15
15
|
import "./chunk-M2S27J6Z.js";
|
|
16
16
|
import "./chunk-DZBGULWW.js";
|
|
17
17
|
export {
|
|
@@ -27,4 +27,4 @@ export {
|
|
|
27
27
|
setExtractJobTotal,
|
|
28
28
|
settleExtractJob
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=site-extract-repository-
|
|
30
|
+
//# sourceMappingURL=site-extract-repository-5V5EEQ72.js.map
|
|
@@ -15,7 +15,7 @@ import "./chunk-K443GQY5.js";
|
|
|
15
15
|
import "./chunk-XGIPATLV.js";
|
|
16
16
|
import {
|
|
17
17
|
MC_COSTS
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-2FF4GBQ4.js";
|
|
19
19
|
import "./chunk-M2S27J6Z.js";
|
|
20
20
|
import {
|
|
21
21
|
claimPendingJob,
|
|
@@ -132,4 +132,4 @@ export {
|
|
|
132
132
|
startWorker,
|
|
133
133
|
tickOnce
|
|
134
134
|
};
|
|
135
|
-
//# sourceMappingURL=worker-
|
|
135
|
+
//# sourceMappingURL=worker-GE5JMHE6.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-07-
|
|
2
|
+
"generatedAt": "2026-07-14T18:52:04.281Z",
|
|
3
3
|
"generatedFrom": "dist/bin/mcp-stdio-server.js",
|
|
4
4
|
"serverInfo": {
|
|
5
5
|
"name": "mcp-scraper",
|
|
6
|
-
"version": "0.21.
|
|
6
|
+
"version": "0.21.2"
|
|
7
7
|
},
|
|
8
8
|
"counts": {
|
|
9
9
|
"unified_stdio": 159
|
|
@@ -4917,7 +4917,7 @@
|
|
|
4917
4917
|
{
|
|
4918
4918
|
"name": "create-scheduled-action",
|
|
4919
4919
|
"title": "Create Scheduled Action",
|
|
4920
|
-
"description": "Create a Credit-metered scheduled action in agent mode (default) or connection_sync mode. Each execution has a 75-Credit base charge; agent model usage is added at 1.5 times OpenRouter's actual reported cost. Agent mode follows the description and writes a result into the target vault. connection_sync deterministically runs approved read-only tools on bound service connections and ingests their data. Cadence 'once' runs a single time then completes permanently. Requires write access to the target vault.",
|
|
4920
|
+
"description": "Create a Credit-metered scheduled action for an active MCP Scraper Starter plan or higher, in agent mode (default) or connection_sync mode. Each execution has a 75-Credit base charge; agent model usage is added at 1.5 times OpenRouter's actual reported cost. Agent mode follows the description and writes a result into the target vault. connection_sync deterministically runs approved read-only tools on bound service connections and ingests their data. Cadence 'once' runs a single time then completes permanently. Requires write access to the target vault.",
|
|
4921
4921
|
"inputSchema": {
|
|
4922
4922
|
"type": "object",
|
|
4923
4923
|
"properties": {
|
|
@@ -8346,7 +8346,7 @@
|
|
|
8346
8346
|
{
|
|
8347
8347
|
"name": "get-schedule-link",
|
|
8348
8348
|
"title": "Get Schedule Link",
|
|
8349
|
-
"description": "Get your durable, bookmarkable link to the hosted Scheduled Actions page
|
|
8349
|
+
"description": "Get your durable, bookmarkable link to the hosted Scheduled Actions page. Requires an active MCP Scraper Starter plan or higher. The embedded secret is shown only once, on first call; it cannot be re-shown, only revoked and reissued via revoke-schedule-link.",
|
|
8350
8350
|
"inputSchema": {
|
|
8351
8351
|
"type": "object",
|
|
8352
8352
|
"properties": {},
|
|
@@ -8367,6 +8367,10 @@
|
|
|
8367
8367
|
"type": "boolean",
|
|
8368
8368
|
"description": "True when a link already exists and was NOT re-shown. Use revoke-schedule-link then call this again to get a fresh one."
|
|
8369
8369
|
},
|
|
8370
|
+
"code": {
|
|
8371
|
+
"type": "string",
|
|
8372
|
+
"description": "Machine-readable denial code when the link cannot be issued."
|
|
8373
|
+
},
|
|
8370
8374
|
"error": {
|
|
8371
8375
|
"type": "string",
|
|
8372
8376
|
"description": "Human-readable failure reason when ok is false."
|
|
@@ -8392,7 +8396,7 @@
|
|
|
8392
8396
|
{
|
|
8393
8397
|
"name": "get-schedule-status",
|
|
8394
8398
|
"title": "Get Schedule Status",
|
|
8395
|
-
"description": "Get the Credit-metered Scheduled Actions policy. Scheduling
|
|
8399
|
+
"description": "Get the Credit-metered Scheduled Actions access and billing policy. Scheduling requires an active MCP Scraper Starter plan or higher but has no separate subscription: each execution has a 75-Credit base charge, and agent model usage is billed at 1.5 times OpenRouter's actual reported cost.",
|
|
8396
8400
|
"inputSchema": {
|
|
8397
8401
|
"type": "object",
|
|
8398
8402
|
"properties": {},
|
|
@@ -8426,6 +8430,17 @@
|
|
|
8426
8430
|
"periodStart": {
|
|
8427
8431
|
"type": "string"
|
|
8428
8432
|
},
|
|
8433
|
+
"defaultTimezone": {
|
|
8434
|
+
"type": [
|
|
8435
|
+
"string",
|
|
8436
|
+
"null"
|
|
8437
|
+
],
|
|
8438
|
+
"description": "IANA timezone applied to new schedules that name a time without a zone; null means UTC."
|
|
8439
|
+
},
|
|
8440
|
+
"code": {
|
|
8441
|
+
"type": "string",
|
|
8442
|
+
"description": "Machine-readable reason scheduling is unavailable."
|
|
8443
|
+
},
|
|
8429
8444
|
"error": {
|
|
8430
8445
|
"type": "string"
|
|
8431
8446
|
}
|
|
@@ -16069,6 +16084,10 @@
|
|
|
16069
16084
|
"nextRunAt": {
|
|
16070
16085
|
"type": "string"
|
|
16071
16086
|
},
|
|
16087
|
+
"code": {
|
|
16088
|
+
"type": "string",
|
|
16089
|
+
"description": "Machine-readable denial code when the action cannot be resumed."
|
|
16090
|
+
},
|
|
16072
16091
|
"error": {
|
|
16073
16092
|
"type": "string"
|
|
16074
16093
|
}
|
|
@@ -16705,7 +16724,7 @@
|
|
|
16705
16724
|
{
|
|
16706
16725
|
"name": "set-schedule-entitlement",
|
|
16707
16726
|
"title": "Set Schedule Entitlement",
|
|
16708
|
-
"description": "
|
|
16727
|
+
"description": "Admin-only scheduled-action credential provisioning and historical-row recovery. Rotate the encrypted delegated MCP Scraper API key without changing legacy enabled/quota fields by omitting those fields. Legacy entitlement values are not runtime access controls; paid-plan access is checked against MCP Scraper directly.",
|
|
16709
16728
|
"inputSchema": {
|
|
16710
16729
|
"type": "object",
|
|
16711
16730
|
"properties": {
|
|
@@ -16716,11 +16735,11 @@
|
|
|
16716
16735
|
},
|
|
16717
16736
|
"enabled": {
|
|
16718
16737
|
"type": "boolean",
|
|
16719
|
-
"description": "
|
|
16738
|
+
"description": "Historical entitlement value for migration/recovery only. Omit to preserve the stored value."
|
|
16720
16739
|
},
|
|
16721
16740
|
"quotaPerPeriod": {
|
|
16722
16741
|
"type": "number",
|
|
16723
|
-
"description": "
|
|
16742
|
+
"description": "Historical monthly execution quota retained only for migration compatibility. Omit to preserve the stored value."
|
|
16724
16743
|
},
|
|
16725
16744
|
"mcpScraperApiKey": {
|
|
16726
16745
|
"type": "string",
|
|
@@ -16728,8 +16747,7 @@
|
|
|
16728
16747
|
}
|
|
16729
16748
|
},
|
|
16730
16749
|
"required": [
|
|
16731
|
-
"granteeIdentity"
|
|
16732
|
-
"enabled"
|
|
16750
|
+
"granteeIdentity"
|
|
16733
16751
|
],
|
|
16734
16752
|
"additionalProperties": false,
|
|
16735
16753
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
- Nango production has the exact source-controlled 12-function Drive inventory: ten bounded reads plus the additive `create-drive-folder` and `copy-drive-file` actions.
|
|
11
11
|
- The scheduler exposes the live-policy intersection as 10 reads and 2 actions, injects exact per-schedule grants into transient Mastra toolsets, and audits classified mutations without storing argument values.
|
|
12
12
|
- The current tenant-owned Drive connection is healthy. Its explicitly authorized action switch is on; newly connected accounts still default to actions off.
|
|
13
|
-
- The fixed public MCP now exposes a
|
|
13
|
+
- The fixed public MCP now exposes a 159-tool provider-neutral surface. `describe_service_connection_tool` returned live 64-character schema hashes for both a Drive read and action; `get-about` and a one-item `list-drive-files` page passed through production.
|
|
14
14
|
- This receipt covers interactive Phase 1 only. Deterministic `connection_sync`, background Proxy/Blob file transfer, native connection-scoped MCP `tools/list`, `upload-document`, broader mutations, and a reversible production write fixture are not shipped.
|
|
15
15
|
|
|
16
16
|
## Executive decision
|
|
@@ -868,7 +868,13 @@ Ad-hoc exports do not inherit the scheduled-occurrence billing implementation. B
|
|
|
868
868
|
|
|
869
869
|
Known-size jobs reserve bytes up front. Unknown-size native exports reserve a floor and extend the reservation before crossing it; failure to extend pauses or ends the job with `entitlement_limit_reached`, never an overage surprise. Completion/cancellation reconciles actual files/bytes/calls, settles credits, and releases the unused reservation. Download/renew routes enforce egress allowance and rate limits.
|
|
870
870
|
|
|
871
|
-
|
|
871
|
+
The **75-Credit scheduled-occurrence base** is MCP Scraper product billing: one
|
|
872
|
+
claimed schedule occurrence charges the base exactly once through the existing
|
|
873
|
+
`mem_connection_sync_runs` claim path. A linked export job or continuation slice
|
|
874
|
+
never charges another occurrence base. `googleQuotaUnits` is provider usage: one
|
|
875
|
+
occurrence can consume many units across `files.list`, `files.get`,
|
|
876
|
+
`files.download`, and `operations.get`. Store/report them separately and never
|
|
877
|
+
label Google quota units as scheduled-run Credits.
|
|
872
878
|
|
|
873
879
|
### Artifact retention and deduplication decision
|
|
874
880
|
|
|
@@ -985,7 +991,7 @@ Content transfer is an internal adapter capability checked separately; it is not
|
|
|
985
991
|
### Execution
|
|
986
992
|
|
|
987
993
|
1. Claim the unique `(identity, scheduleId, scheduledFor)` occurrence.
|
|
988
|
-
2.
|
|
994
|
+
2. Charge the 75-Credit scheduled-occurrence base atomically through the existing occurrence claim.
|
|
989
995
|
3. Acquire a per-connection advisory/lease lock.
|
|
990
996
|
4. Load and validate the Drive checkpoint.
|
|
991
997
|
5. Run a fair bounded slice within the existing 240-second sync budget and 300-second Vercel ceiling.
|
|
@@ -1022,7 +1028,10 @@ ALTER TABLE mem_scheduled_action_connections
|
|
|
1022
1028
|
|
|
1023
1029
|
`set_scheduled_action_connections` and the dashboard binding API accept a provider-discriminated config, validate it server-side, canonicalize/hash it, and return the resolved config. A selection/profile/content-policy change that invalidates an existing Drive checkpoint requires explicit confirmation, clears or archives the old checkpoint transactionally, and starts a new inventory cycle. Unknown config fields fail closed.
|
|
1024
1030
|
|
|
1025
|
-
The UI must state that one
|
|
1031
|
+
The UI must state that one started occurrence charges one 75-Credit base even
|
|
1032
|
+
when it performs many internal calls/Google quota units. Deterministic
|
|
1033
|
+
`connection_sync` adds no model charge; separately metered scraper/browser/media
|
|
1034
|
+
calls retain their normal rate-card charges.
|
|
1026
1035
|
|
|
1027
1036
|
## MCP-native connection tool projection
|
|
1028
1037
|
|
|
@@ -1304,7 +1313,7 @@ Record by provider, plan, and safe outcome class:
|
|
|
1304
1313
|
- files listed/eligible/skipped/downloaded/exported;
|
|
1305
1314
|
- bytes read/stored, multipart uploads, Range resumes;
|
|
1306
1315
|
- Drive/Nango status families, retry counts, rate-limit waits;
|
|
1307
|
-
- schedule occurrences,
|
|
1316
|
+
- schedule occurrences, 75-Credit occurrence-base charges, Google quota units, leased retries, checkpoint resumes;
|
|
1308
1317
|
- artifact renewals/expiry/cleanup.
|
|
1309
1318
|
|
|
1310
1319
|
### Safe structured logs
|
|
@@ -1521,7 +1530,7 @@ Update README, integrations guide, scheduler guide, hosted skill, `llms.txt`/`ll
|
|
|
1521
1530
|
- Changed-only content retrieval prevents repeated byte downloads.
|
|
1522
1531
|
- 240-second budget exits partial with a durable checkpoint.
|
|
1523
1532
|
- Fair connection slice prevents one Drive from starving other connections.
|
|
1524
|
-
- One scheduled occurrence
|
|
1533
|
+
- One started scheduled occurrence charges exactly one 75-Credit base while separately recording Google quota units.
|
|
1525
1534
|
- Lease retry of the same occurrence does not double charge.
|
|
1526
1535
|
- Concurrent occurrence/connection lock prevents overlapping Drive crawls.
|
|
1527
1536
|
- Run receipt totals reconcile with stored records/artifacts.
|
|
@@ -1605,7 +1614,7 @@ Using a dedicated test Drive/account:
|
|
|
1605
1614
|
- Drive deterministic `connection_sync` adapter enabled.
|
|
1606
1615
|
- UI exposes Drive schedule configuration.
|
|
1607
1616
|
- Initial and incremental runs produce receipts.
|
|
1608
|
-
- One occurrence/one
|
|
1617
|
+
- One occurrence/one 75-Credit base invariant is proven; Google quota units are separately reconciled.
|
|
1609
1618
|
|
|
1610
1619
|
### Gate 6 — writes
|
|
1611
1620
|
|