mcp-scraper 0.25.0 → 0.26.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.
Files changed (37) hide show
  1. package/README.md +3 -3
  2. package/dist/bin/api-server.cjs +4980 -2927
  3. package/dist/bin/api-server.cjs.map +1 -1
  4. package/dist/bin/api-server.js +2 -2
  5. package/dist/bin/mcp-scraper-cli.cjs +1 -1
  6. package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
  7. package/dist/bin/mcp-scraper-cli.js +1 -1
  8. package/dist/bin/mcp-scraper-install.cjs +2 -2
  9. package/dist/bin/mcp-scraper-install.cjs.map +1 -1
  10. package/dist/bin/mcp-scraper-install.js +2 -2
  11. package/dist/bin/mcp-stdio-server.cjs +52 -4
  12. package/dist/bin/mcp-stdio-server.cjs.map +1 -1
  13. package/dist/bin/mcp-stdio-server.js +4 -4
  14. package/dist/{chunk-PNBYYAEK.js → chunk-3ZZOLQ6A.js} +2 -2
  15. package/dist/{chunk-JHI373VB.js → chunk-4767BA2O.js} +85 -3
  16. package/dist/chunk-4767BA2O.js.map +1 -0
  17. package/dist/chunk-FQQC5OZJ.js +7 -0
  18. package/dist/chunk-FQQC5OZJ.js.map +1 -0
  19. package/dist/{chunk-YNHPZU6B.js → chunk-TBRX7VOP.js} +2 -2
  20. package/dist/{chunk-YNHPZU6B.js.map → chunk-TBRX7VOP.js.map} +1 -1
  21. package/dist/{chunk-NC37L5RW.js → chunk-YMEPX46N.js} +47 -5
  22. package/dist/chunk-YMEPX46N.js.map +1 -0
  23. package/dist/{server-PILR3U5E.js → server-UHDJ5TH5.js} +2484 -580
  24. package/dist/server-UHDJ5TH5.js.map +1 -0
  25. package/dist/{site-extract-repository-2QQSL2QC.js → site-extract-repository-O36SIFI2.js} +3 -3
  26. package/dist/{worker-RV2TYXE3.js → worker-E3KHQH2F.js} +2 -2
  27. package/docs/mcp-tool-manifest.generated.json +164 -5
  28. package/docs/specs/main-mcp-integration-ownership-spec.md +1164 -0
  29. package/package.json +5 -1
  30. package/dist/chunk-JHI373VB.js.map +0 -1
  31. package/dist/chunk-NC37L5RW.js.map +0 -1
  32. package/dist/chunk-UELJZCUC.js +0 -7
  33. package/dist/chunk-UELJZCUC.js.map +0 -1
  34. package/dist/server-PILR3U5E.js.map +0 -1
  35. /package/dist/{chunk-PNBYYAEK.js.map → chunk-3ZZOLQ6A.js.map} +0 -0
  36. /package/dist/{site-extract-repository-2QQSL2QC.js.map → site-extract-repository-O36SIFI2.js.map} +0 -0
  37. /package/dist/{worker-RV2TYXE3.js.map → worker-E3KHQH2F.js.map} +0 -0
@@ -10,8 +10,8 @@ import {
10
10
  saveExtractPages,
11
11
  setExtractJobTotal,
12
12
  settleExtractJob
13
- } from "./chunk-PNBYYAEK.js";
14
- import "./chunk-JHI373VB.js";
13
+ } from "./chunk-3ZZOLQ6A.js";
14
+ import "./chunk-4767BA2O.js";
15
15
  import "./chunk-M2S27J6Z.js";
16
16
  import "./chunk-ICT7DDHL.js";
17
17
  export {
@@ -27,4 +27,4 @@ export {
27
27
  setExtractJobTotal,
28
28
  settleExtractJob
29
29
  };
30
- //# sourceMappingURL=site-extract-repository-2QQSL2QC.js.map
30
+ //# sourceMappingURL=site-extract-repository-O36SIFI2.js.map
@@ -16,7 +16,7 @@ import "./chunk-XGIPATLV.js";
16
16
  import {
17
17
  MC_COSTS,
18
18
  serpActualCostMc
19
- } from "./chunk-JHI373VB.js";
19
+ } from "./chunk-4767BA2O.js";
20
20
  import "./chunk-M2S27J6Z.js";
21
21
  import {
22
22
  claimPendingJob,
@@ -139,4 +139,4 @@ export {
139
139
  startWorker,
140
140
  tickOnce
141
141
  };
142
- //# sourceMappingURL=worker-RV2TYXE3.js.map
142
+ //# sourceMappingURL=worker-E3KHQH2F.js.map
@@ -1,12 +1,12 @@
1
1
  {
2
- "generatedAt": "2026-07-16T22:35:30.875Z",
2
+ "generatedAt": "2026-07-17T00:51:33.183Z",
3
3
  "generatedFrom": "dist/bin/mcp-stdio-server.js",
4
4
  "serverInfo": {
5
5
  "name": "mcp-scraper",
6
- "version": "0.25.0"
6
+ "version": "0.26.1"
7
7
  },
8
8
  "counts": {
9
- "unified_stdio": 162
9
+ "unified_stdio": 163
10
10
  },
11
11
  "surfaces": {
12
12
  "unified_stdio": [
@@ -156,6 +156,7 @@
156
156
  "table-list",
157
157
  "table-query",
158
158
  "temporal-recall",
159
+ "test_service_connection",
159
160
  "trustpilot_reviews",
160
161
  "upsert-memory-tag",
161
162
  "validate-memory-write",
@@ -10835,7 +10836,7 @@
10835
10836
  {
10836
10837
  "name": "list_service_connections",
10837
10838
  "title": "List Connected Services",
10838
- "description": "List every third-party service connection this MCP Scraper account has authorized, including Resend, GitHub, Google Analytics, Google Search Console, YouTube, Facebook Pages, LinkedIn, X, Meta Marketing, Slack, Gmail, Calendar, Google Drive, Zoom, Xero, and others. Returns the tenant-scoped connectionId, credential transport, exact live readTools and gated actionTools, permission-aware toolCapabilities with missing OAuth-grant or provider-app-feature blockers, permanently blocked administrative tools, and schema-discovery metadata. Get a connectionId and exact tool name here before calling describe_service_connection_tool, read_service_connection, or call_service_connection_action. Nango OAuth and official remote MCP connections use the same provider-neutral bridges; mutations still require the account action switch and an exact allowed action. A scheduled Search Console connection_sync creates a typed tenant-owned performance table; after it runs, use the returned tableName with table-describe and table-query instead of repeatedly calling Google for historical filtering.",
10839
+ "description": "List every third-party service connection this MCP Scraper account has authorized, including Resend, GitHub, Google Analytics, Google Search Console, YouTube, Facebook Pages, LinkedIn, X, Meta Marketing, Slack, Gmail, Calendar, Google Drive, Zoom, Xero, and others. Returns the tenant-scoped connectionId; verified providerAccountEmail/providerAccountName identity when the provider exposes it; credential transport; exact live readTools and gated actionTools; permission-aware toolCapabilities with missing OAuth-grant or provider-app-feature blockers; permanently blocked administrative tools; and schema-discovery metadata. The provider identity is distinct from the MCP Scraper login: use it to choose the intended account before any read, export, schedule binding, or gated action. Get a connectionId and exact tool name here before calling describe_service_connection_tool, read_service_connection, or call_service_connection_action. Nango OAuth and official remote MCP connections use the same provider-neutral bridges; mutations still require the account action switch and an exact allowed action. A scheduled Search Console connection_sync creates a typed tenant-owned performance table; after it runs, use the returned tableName with table-describe and table-query instead of repeatedly calling Google for historical filtering.",
10839
10840
  "inputSchema": {
10840
10841
  "type": "object",
10841
10842
  "properties": {},
@@ -10862,11 +10863,63 @@
10862
10863
  ]
10863
10864
  },
10864
10865
  "label": {
10865
- "type": "string"
10866
+ "type": "string",
10867
+ "description": "Best verified provider-side account label. This is never derived from the MCP Scraper login email."
10868
+ },
10869
+ "providerAccountId": {
10870
+ "type": [
10871
+ "string",
10872
+ "null"
10873
+ ],
10874
+ "description": "Provider-side account or principal identifier when safely discoverable. This is not the MCP Scraper user id."
10875
+ },
10876
+ "providerAccountEmail": {
10877
+ "type": [
10878
+ "string",
10879
+ "null"
10880
+ ],
10881
+ "description": "Actual provider-side email for the authorized account when the provider exposes and verifies it. Null for organization-only accounts or unavailable identity scopes."
10882
+ },
10883
+ "providerAccountName": {
10884
+ "type": [
10885
+ "string",
10886
+ "null"
10887
+ ],
10888
+ "description": "Actual provider-side person, workspace, channel, or organization name when available."
10889
+ },
10890
+ "providerIdentityStatus": {
10891
+ "type": "string",
10892
+ "enum": [
10893
+ "pending",
10894
+ "verified",
10895
+ "unavailable"
10896
+ ],
10897
+ "description": "Whether provider-side account identity discovery is pending, verified, or unavailable under the current OAuth grant. Reconnect when unavailable after identity scopes were added."
10866
10898
  },
10867
10899
  "status": {
10868
10900
  "type": "string"
10869
10901
  },
10902
+ "lifecycleStatus": {
10903
+ "type": "string",
10904
+ "enum": [
10905
+ "pending",
10906
+ "connected",
10907
+ "needs_reauth",
10908
+ "disconnecting",
10909
+ "disconnected"
10910
+ ],
10911
+ "description": "Credential lifecycle. This is separate from current provider availability."
10912
+ },
10913
+ "operationalStatus": {
10914
+ "type": "string",
10915
+ "enum": [
10916
+ "unknown",
10917
+ "available",
10918
+ "degraded",
10919
+ "unavailable"
10920
+ ],
10921
+ "description": "Last observed provider transport availability. Unavailable does not imply reconnect is required."
10922
+ },
10870
10923
  "reconnectRequired": {
10871
10924
  "type": "boolean"
10872
10925
  },
@@ -11031,6 +11084,36 @@
11031
11084
  ],
11032
11085
  "description": "Opaque revision of the resolved live tool catalog, when available. It changes when provider tools or policy change."
11033
11086
  },
11087
+ "lastCheckedAt": {
11088
+ "type": [
11089
+ "string",
11090
+ "null"
11091
+ ]
11092
+ },
11093
+ "lastSuccessfulCallAt": {
11094
+ "type": [
11095
+ "string",
11096
+ "null"
11097
+ ]
11098
+ },
11099
+ "lastFailureAt": {
11100
+ "type": [
11101
+ "string",
11102
+ "null"
11103
+ ]
11104
+ },
11105
+ "lastFailureCode": {
11106
+ "type": [
11107
+ "string",
11108
+ "null"
11109
+ ]
11110
+ },
11111
+ "lastFailureRetryable": {
11112
+ "type": [
11113
+ "boolean",
11114
+ "null"
11115
+ ]
11116
+ },
11034
11117
  "vaultName": {
11035
11118
  "type": [
11036
11119
  "string",
@@ -11050,6 +11133,10 @@
11050
11133
  "connectionId",
11051
11134
  "providerConfigKey",
11052
11135
  "label",
11136
+ "providerAccountId",
11137
+ "providerAccountEmail",
11138
+ "providerAccountName",
11139
+ "providerIdentityStatus",
11053
11140
  "status",
11054
11141
  "transport",
11055
11142
  "actionsEnabled",
@@ -18450,6 +18537,78 @@
18450
18537
  "taskSupport": "forbidden"
18451
18538
  }
18452
18539
  },
18540
+ {
18541
+ "name": "test_service_connection",
18542
+ "title": "Test Connected Service",
18543
+ "description": "Test the current provider transport for one tenant-owned connection without changing its OAuth lifecycle. Call this when a connected account appears unavailable before recommending reconnect. Reconnect is appropriate only when reconnectRequired is true.",
18544
+ "inputSchema": {
18545
+ "type": "object",
18546
+ "properties": {
18547
+ "connectionId": {
18548
+ "type": "string",
18549
+ "minLength": 1,
18550
+ "description": "A tenant-owned connectionId from list_service_connections."
18551
+ },
18552
+ "providerConfigKey": {
18553
+ "type": "string",
18554
+ "minLength": 1,
18555
+ "description": "Optional provider hint from list_service_connections."
18556
+ }
18557
+ },
18558
+ "required": [
18559
+ "connectionId"
18560
+ ],
18561
+ "additionalProperties": false,
18562
+ "$schema": "http://json-schema.org/draft-07/schema#"
18563
+ },
18564
+ "outputSchema": {
18565
+ "type": "object",
18566
+ "properties": {
18567
+ "ok": {
18568
+ "type": "boolean"
18569
+ },
18570
+ "operationalStatus": {
18571
+ "type": "string",
18572
+ "enum": [
18573
+ "available",
18574
+ "unavailable"
18575
+ ]
18576
+ },
18577
+ "checkedAt": {
18578
+ "type": "string"
18579
+ },
18580
+ "toolCount": {
18581
+ "type": "integer",
18582
+ "minimum": 0
18583
+ },
18584
+ "code": {
18585
+ "type": "string"
18586
+ },
18587
+ "error": {
18588
+ "type": [
18589
+ "string",
18590
+ "null"
18591
+ ]
18592
+ }
18593
+ },
18594
+ "required": [
18595
+ "ok",
18596
+ "error"
18597
+ ],
18598
+ "additionalProperties": false,
18599
+ "$schema": "http://json-schema.org/draft-07/schema#"
18600
+ },
18601
+ "annotations": {
18602
+ "title": "Test Connected Service",
18603
+ "readOnlyHint": true,
18604
+ "destructiveHint": false,
18605
+ "idempotentHint": true,
18606
+ "openWorldHint": true
18607
+ },
18608
+ "execution": {
18609
+ "taskSupport": "forbidden"
18610
+ }
18611
+ },
18453
18612
  {
18454
18613
  "name": "trustpilot_reviews",
18455
18614
  "title": "Trustpilot Review Harvest",