mcp-scraper 0.66.3 → 0.66.5
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/CHANGELOG.md +19 -1
- package/README.md +1 -1
- package/dist/bin/api-server.cjs +304 -28
- package/dist/bin/api-server.js +1 -1
- package/dist/bin/mcp-scraper-cli.cjs +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.js +2 -2
- package/dist/bin/mcp-stdio-server.cjs +22 -12
- package/dist/bin/mcp-stdio-server.js +3 -3
- package/dist/{chunk-LNLMOBP6.js → chunk-OJFWURGD.js} +21 -11
- package/dist/{chunk-JBFLOJGM.js → chunk-RSFMR7O7.js} +1 -1
- package/dist/{chunk-2XVDLF6H.js → chunk-TCOP5BT7.js} +1 -1
- package/dist/{server-D47PNEXR.js → server-LESUYFDI.js} +283 -18
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
// release-message.json
|
|
5
5
|
var release_message_default = {
|
|
6
|
-
message: "
|
|
6
|
+
message: "Local Sourcebook submissions now clearly distinguish processing from publication and return the exact live listing URL when complete."
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
// src/install-terminal.ts
|
|
@@ -112,7 +112,7 @@ function renderInstallTerminal(options) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
// src/version.ts
|
|
115
|
-
var PACKAGE_VERSION = "0.66.
|
|
115
|
+
var PACKAGE_VERSION = "0.66.5";
|
|
116
116
|
|
|
117
117
|
// bin/mcp-scraper-install.ts
|
|
118
118
|
var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
renderInstallTerminal
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-TCOP5BT7.js";
|
|
5
5
|
import {
|
|
6
6
|
PACKAGE_VERSION
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-RSFMR7O7.js";
|
|
8
8
|
|
|
9
9
|
// bin/mcp-scraper-install.ts
|
|
10
10
|
var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
|
|
@@ -1232,7 +1232,7 @@ render();
|
|
|
1232
1232
|
}
|
|
1233
1233
|
|
|
1234
1234
|
// src/version.ts
|
|
1235
|
-
var PACKAGE_VERSION = "0.66.
|
|
1235
|
+
var PACKAGE_VERSION = "0.66.5";
|
|
1236
1236
|
|
|
1237
1237
|
// src/mcp/input-field-descriptions.ts
|
|
1238
1238
|
var import_zod = require("zod");
|
|
@@ -8378,11 +8378,16 @@ Multi-step orchestrations \u2014 prefer these over hand-chaining primitives when
|
|
|
8378
8378
|
- A new capture costs 10 Credits total and includes broad website, exact Maps place, maximum-accessible review,
|
|
8379
8379
|
service-area, staff, and genuine-media acquisition. When compilation succeeds, that exact system-authored evidence revision
|
|
8380
8380
|
publishes automatically. Never supply owner-authored services, reviews, images, or other public claims.
|
|
8381
|
+
- An accepted capture is still processing, not complete. While its returned \`statusCheck.required\` is true,
|
|
8382
|
+
wait the suggested interval and call **local_sourcebook_submission_status** again before giving the user a
|
|
8383
|
+
final completion answer. When it publishes, say that the listing is live and include the exact clickable
|
|
8384
|
+
\`publicUrls.profileUrl\`; when it fails, report the returned failure message and cause.
|
|
8381
8385
|
- Read progress and the compiled record with **local_sourcebook_submission_status**. Use
|
|
8382
8386
|
**local_sourcebook_refresh** only when the owner intentionally wants to pay 2 Credits for a new acquisition pass.
|
|
8383
8387
|
Contract, tag, preparation, validation, and status tools are free; idempotent retries are not charged twice.
|
|
8384
|
-
- Capture and status responses return \`
|
|
8385
|
-
|
|
8388
|
+
- Capture and status responses return a plain-language \`message\`, a \`statusCheck\`, and exact public URLs. Do not
|
|
8389
|
+
describe a queued or enriching listing as complete, and do not report a listing as live without including its
|
|
8390
|
+
clickable \`publicUrls.profileUrl\`.
|
|
8386
8391
|
- The last published revision remains public during refresh. Administrators can reject or unpublish an
|
|
8387
8392
|
exceptional record, but routine subscriber publication does not require administrator review.
|
|
8388
8393
|
|
|
@@ -8408,10 +8413,10 @@ Multi-step orchestrations \u2014 prefer these over hand-chaining primitives when
|
|
|
8408
8413
|
artifact, call \`report_artifact_read\` with the returned artifactId and follow nextOffset until null. This
|
|
8409
8414
|
works through the authenticated MCP connection even when the client cannot open the signed download URL;
|
|
8410
8415
|
do not try curl or web_fetch. Use \`archive_read\` for ZIP archives.
|
|
8411
|
-
- Before using a connected account, call \`list_service_connections
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
which
|
|
8416
|
+
- Before using a connected account, call \`list_service_connections\`. Match an explicit \`userLabel\` first,
|
|
8417
|
+
then verified provider-side \`providerAccountEmail\`, \`providerAccountName\`, or \`providerAccountId\`; never
|
|
8418
|
+
treat the MCP Scraper login as external-provider identity. If identity is pending or unavailable and no
|
|
8419
|
+
distinct user label exists, ask the person which connection they mean instead of assuming.
|
|
8415
8420
|
- For Google Search Console, use \`export_connected_service_data\` with
|
|
8416
8421
|
\`dataset:"search_console_performance"\` when the person asks for a fresh JSONL download. When they
|
|
8417
8422
|
ask to schedule ingestion or repeatedly filter historical rows, create a \`connection_sync\` schedule,
|
|
@@ -12064,7 +12069,12 @@ var ListServiceConnectionsOutputSchema = {
|
|
|
12064
12069
|
connectionId: import_zod8.z.string(),
|
|
12065
12070
|
providerConfigKey: import_zod8.z.string(),
|
|
12066
12071
|
provider: import_zod8.z.string().nullable().optional(),
|
|
12067
|
-
label: import_zod8.z.string(),
|
|
12072
|
+
label: import_zod8.z.string().describe("Best available human-facing account label: a userLabel when set, otherwise verified provider identity, then a stable fallback."),
|
|
12073
|
+
userLabel: import_zod8.z.string().nullable().optional().describe("Optional tenant-owned name set in the dashboard to distinguish this connection. This is not asserted provider identity."),
|
|
12074
|
+
providerAccountId: import_zod8.z.string().nullable().optional().describe("Stable provider-side account, user, workspace, channel, or tenant identifier when the provider exposes one."),
|
|
12075
|
+
providerAccountEmail: import_zod8.z.string().email().nullable().optional().describe("Verified provider-side email when the provider exposes one. This is never inferred from the MCP Scraper login."),
|
|
12076
|
+
providerAccountName: import_zod8.z.string().nullable().optional().describe("Provider-side account, user, workspace, channel, or tenant name when the provider exposes one."),
|
|
12077
|
+
providerIdentityStatus: import_zod8.z.enum(["pending", "verified", "unavailable"]).optional().describe("Whether provider identity discovery is pending, returned at least one verified provider identifier, or completed without one."),
|
|
12068
12078
|
status: import_zod8.z.string(),
|
|
12069
12079
|
lifecycleStatus: import_zod8.z.enum(["pending", "connected", "needs_reauth", "disconnecting", "disconnected"]).optional().describe("Credential lifecycle. This is separate from current provider availability."),
|
|
12070
12080
|
operationalStatus: import_zod8.z.enum(["unknown", "available", "degraded", "unavailable"]).optional().describe("Last observed provider transport availability. Unavailable does not imply reconnect is required."),
|
|
@@ -14226,14 +14236,14 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
14226
14236
|
}, async (input) => executor.validateLocalSourcebookWrite(input));
|
|
14227
14237
|
server.registerTool("local-sourcebook-capture", {
|
|
14228
14238
|
title: "Capture Governed Local Sourcebook Listing",
|
|
14229
|
-
description: "Strict owner-scoped LocalBusiness write path after list, contract, prepare, and validate. Creating a listing costs 10 Credits total, including website, exact-place, review, service-area, staff, genuine-media, and structured-data compilation; preparation and validation are free, and idempotent retries are not charged twice. Capture registers canonical tags and the accepted Schema.org LocalBusiness subtype,
|
|
14239
|
+
description: "Strict owner-scoped LocalBusiness write path after list, contract, prepare, and validate. Creating a listing costs 10 Credits total, including website, exact-place, review, service-area, staff, genuine-media, and structured-data compilation; preparation and validation are free, and idempotent retries are not charged twice. Capture registers canonical tags and the accepted Schema.org LocalBusiness subtype, then queues acquisition; an accepted capture is not yet live. Poll local_sourcebook_submission_status using statusCheck until it is terminal. When published, tell the user the returned message and exact publicUrls.profileUrl. MCP Scraper generates the final JSON-LD from source-backed evidence and publishes a successful system-compiled revision automatically; owner-authored public claims and arbitrary JSON-LD are not accepted.",
|
|
14230
14240
|
inputSchema: LocalSourcebookCaptureInputSchema,
|
|
14231
14241
|
outputSchema: recordOutputSchema("local-sourcebook-capture", LocalSourcebookOutputSchema),
|
|
14232
14242
|
annotations: liveWebToolAnnotations("Capture Governed Local Sourcebook Listing")
|
|
14233
14243
|
}, async (input) => executor.localSourcebookCapture(input));
|
|
14234
14244
|
server.registerTool("local_sourcebook_submission_status", {
|
|
14235
14245
|
title: "Local Sourcebook Submission Status",
|
|
14236
|
-
description: "Read the caller\u2019s listing draft, enrichment coverage, revision number, publication state, and
|
|
14246
|
+
description: "Read the caller\u2019s listing draft, enrichment coverage, revision number, publication state, and LocalSourcebook.com profile and reviews URLs. While statusCheck.required is true, wait the returned interval and check again before giving the user a final completion answer. When published, present the returned message and exact clickable publicUrls.profileUrl. When failed, present the failure message and read acquisitionError before retrying, since a refresh repeats the same acquisition. Coverage counters are written only on success, so zeroed counters on a failed listing do not mean the crawl never ran.",
|
|
14237
14247
|
inputSchema: LocalSourcebookSubmissionStatusInputSchema,
|
|
14238
14248
|
outputSchema: recordOutputSchema("local_sourcebook_submission_status", LocalSourcebookOutputSchema),
|
|
14239
14249
|
annotations: localPlanningToolAnnotations("Local Sourcebook Submission Status")
|
|
@@ -14378,7 +14388,7 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
14378
14388
|
}, async (input) => formatCreditsInfo(await executor.creditsInfo(input), input));
|
|
14379
14389
|
server.registerTool("list_service_connections", {
|
|
14380
14390
|
title: "List Connected Services",
|
|
14381
|
-
description: "List every 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
|
|
14391
|
+
description: "List every 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; a tenant-owned userLabel; verified provider-side account ID, email, or name when available; 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. Managed 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.",
|
|
14382
14392
|
inputSchema: ListServiceConnectionsInputSchema,
|
|
14383
14393
|
outputSchema: recordOutputSchema("list_service_connections", ListServiceConnectionsOutputSchema),
|
|
14384
14394
|
annotations: { title: "List Connected Services", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
|
|
@@ -18655,7 +18665,7 @@ var HostedMemoryMcpToolExecutor = class {
|
|
|
18655
18665
|
|
|
18656
18666
|
// release-message.json
|
|
18657
18667
|
var release_message_default = {
|
|
18658
|
-
message: "
|
|
18668
|
+
message: "Local Sourcebook submissions now clearly distinguish processing from publication and return the exact live listing URL when complete."
|
|
18659
18669
|
};
|
|
18660
18670
|
|
|
18661
18671
|
// src/install-terminal.ts
|
|
@@ -13,18 +13,18 @@ import {
|
|
|
13
13
|
registerScheduledResultsMcpTools,
|
|
14
14
|
registerSerpIntelligenceCaptureTools,
|
|
15
15
|
resolveDeploymentProfile
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-OJFWURGD.js";
|
|
17
17
|
import "../chunk-PGJQDMC2.js";
|
|
18
18
|
import "../chunk-3EYALCYK.js";
|
|
19
19
|
import "../chunk-3TKKJQB4.js";
|
|
20
20
|
import {
|
|
21
21
|
renderInstallTerminal
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-TCOP5BT7.js";
|
|
23
23
|
import "../chunk-VXLU74YZ.js";
|
|
24
24
|
import "../chunk-GGZEC22A.js";
|
|
25
25
|
import {
|
|
26
26
|
PACKAGE_VERSION
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-RSFMR7O7.js";
|
|
28
28
|
import "../chunk-DNM65UCK.js";
|
|
29
29
|
import "../chunk-AYJHI2FK.js";
|
|
30
30
|
import "../chunk-55B3T5L2.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "./chunk-VXLU74YZ.js";
|
|
26
26
|
import {
|
|
27
27
|
PACKAGE_VERSION
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-RSFMR7O7.js";
|
|
29
29
|
import {
|
|
30
30
|
createPrivateArtifact,
|
|
31
31
|
privateArtifactOwnerId,
|
|
@@ -550,11 +550,16 @@ Multi-step orchestrations \u2014 prefer these over hand-chaining primitives when
|
|
|
550
550
|
- A new capture costs 10 Credits total and includes broad website, exact Maps place, maximum-accessible review,
|
|
551
551
|
service-area, staff, and genuine-media acquisition. When compilation succeeds, that exact system-authored evidence revision
|
|
552
552
|
publishes automatically. Never supply owner-authored services, reviews, images, or other public claims.
|
|
553
|
+
- An accepted capture is still processing, not complete. While its returned \`statusCheck.required\` is true,
|
|
554
|
+
wait the suggested interval and call **local_sourcebook_submission_status** again before giving the user a
|
|
555
|
+
final completion answer. When it publishes, say that the listing is live and include the exact clickable
|
|
556
|
+
\`publicUrls.profileUrl\`; when it fails, report the returned failure message and cause.
|
|
553
557
|
- Read progress and the compiled record with **local_sourcebook_submission_status**. Use
|
|
554
558
|
**local_sourcebook_refresh** only when the owner intentionally wants to pay 2 Credits for a new acquisition pass.
|
|
555
559
|
Contract, tag, preparation, validation, and status tools are free; idempotent retries are not charged twice.
|
|
556
|
-
- Capture and status responses return \`
|
|
557
|
-
|
|
560
|
+
- Capture and status responses return a plain-language \`message\`, a \`statusCheck\`, and exact public URLs. Do not
|
|
561
|
+
describe a queued or enriching listing as complete, and do not report a listing as live without including its
|
|
562
|
+
clickable \`publicUrls.profileUrl\`.
|
|
558
563
|
- The last published revision remains public during refresh. Administrators can reject or unpublish an
|
|
559
564
|
exceptional record, but routine subscriber publication does not require administrator review.
|
|
560
565
|
|
|
@@ -580,10 +585,10 @@ Multi-step orchestrations \u2014 prefer these over hand-chaining primitives when
|
|
|
580
585
|
artifact, call \`report_artifact_read\` with the returned artifactId and follow nextOffset until null. This
|
|
581
586
|
works through the authenticated MCP connection even when the client cannot open the signed download URL;
|
|
582
587
|
do not try curl or web_fetch. Use \`archive_read\` for ZIP archives.
|
|
583
|
-
- Before using a connected account, call \`list_service_connections
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
which
|
|
588
|
+
- Before using a connected account, call \`list_service_connections\`. Match an explicit \`userLabel\` first,
|
|
589
|
+
then verified provider-side \`providerAccountEmail\`, \`providerAccountName\`, or \`providerAccountId\`; never
|
|
590
|
+
treat the MCP Scraper login as external-provider identity. If identity is pending or unavailable and no
|
|
591
|
+
distinct user label exists, ask the person which connection they mean instead of assuming.
|
|
587
592
|
- For Google Search Console, use \`export_connected_service_data\` with
|
|
588
593
|
\`dataset:"search_console_performance"\` when the person asks for a fresh JSONL download. When they
|
|
589
594
|
ask to schedule ingestion or repeatedly filter historical rows, create a \`connection_sync\` schedule,
|
|
@@ -9442,7 +9447,12 @@ var ListServiceConnectionsOutputSchema = {
|
|
|
9442
9447
|
connectionId: z6.string(),
|
|
9443
9448
|
providerConfigKey: z6.string(),
|
|
9444
9449
|
provider: z6.string().nullable().optional(),
|
|
9445
|
-
label: z6.string(),
|
|
9450
|
+
label: z6.string().describe("Best available human-facing account label: a userLabel when set, otherwise verified provider identity, then a stable fallback."),
|
|
9451
|
+
userLabel: z6.string().nullable().optional().describe("Optional tenant-owned name set in the dashboard to distinguish this connection. This is not asserted provider identity."),
|
|
9452
|
+
providerAccountId: z6.string().nullable().optional().describe("Stable provider-side account, user, workspace, channel, or tenant identifier when the provider exposes one."),
|
|
9453
|
+
providerAccountEmail: z6.string().email().nullable().optional().describe("Verified provider-side email when the provider exposes one. This is never inferred from the MCP Scraper login."),
|
|
9454
|
+
providerAccountName: z6.string().nullable().optional().describe("Provider-side account, user, workspace, channel, or tenant name when the provider exposes one."),
|
|
9455
|
+
providerIdentityStatus: z6.enum(["pending", "verified", "unavailable"]).optional().describe("Whether provider identity discovery is pending, returned at least one verified provider identifier, or completed without one."),
|
|
9446
9456
|
status: z6.string(),
|
|
9447
9457
|
lifecycleStatus: z6.enum(["pending", "connected", "needs_reauth", "disconnecting", "disconnected"]).optional().describe("Credential lifecycle. This is separate from current provider availability."),
|
|
9448
9458
|
operationalStatus: z6.enum(["unknown", "available", "degraded", "unavailable"]).optional().describe("Last observed provider transport availability. Unavailable does not imply reconnect is required."),
|
|
@@ -11735,14 +11745,14 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
11735
11745
|
}, async (input) => executor.validateLocalSourcebookWrite(input));
|
|
11736
11746
|
server.registerTool("local-sourcebook-capture", {
|
|
11737
11747
|
title: "Capture Governed Local Sourcebook Listing",
|
|
11738
|
-
description: "Strict owner-scoped LocalBusiness write path after list, contract, prepare, and validate. Creating a listing costs 10 Credits total, including website, exact-place, review, service-area, staff, genuine-media, and structured-data compilation; preparation and validation are free, and idempotent retries are not charged twice. Capture registers canonical tags and the accepted Schema.org LocalBusiness subtype,
|
|
11748
|
+
description: "Strict owner-scoped LocalBusiness write path after list, contract, prepare, and validate. Creating a listing costs 10 Credits total, including website, exact-place, review, service-area, staff, genuine-media, and structured-data compilation; preparation and validation are free, and idempotent retries are not charged twice. Capture registers canonical tags and the accepted Schema.org LocalBusiness subtype, then queues acquisition; an accepted capture is not yet live. Poll local_sourcebook_submission_status using statusCheck until it is terminal. When published, tell the user the returned message and exact publicUrls.profileUrl. MCP Scraper generates the final JSON-LD from source-backed evidence and publishes a successful system-compiled revision automatically; owner-authored public claims and arbitrary JSON-LD are not accepted.",
|
|
11739
11749
|
inputSchema: LocalSourcebookCaptureInputSchema,
|
|
11740
11750
|
outputSchema: recordOutputSchema("local-sourcebook-capture", LocalSourcebookOutputSchema),
|
|
11741
11751
|
annotations: liveWebToolAnnotations("Capture Governed Local Sourcebook Listing")
|
|
11742
11752
|
}, async (input) => executor.localSourcebookCapture(input));
|
|
11743
11753
|
server.registerTool("local_sourcebook_submission_status", {
|
|
11744
11754
|
title: "Local Sourcebook Submission Status",
|
|
11745
|
-
description: "Read the caller\u2019s listing draft, enrichment coverage, revision number, publication state, and
|
|
11755
|
+
description: "Read the caller\u2019s listing draft, enrichment coverage, revision number, publication state, and LocalSourcebook.com profile and reviews URLs. While statusCheck.required is true, wait the returned interval and check again before giving the user a final completion answer. When published, present the returned message and exact clickable publicUrls.profileUrl. When failed, present the failure message and read acquisitionError before retrying, since a refresh repeats the same acquisition. Coverage counters are written only on success, so zeroed counters on a failed listing do not mean the crawl never ran.",
|
|
11746
11756
|
inputSchema: LocalSourcebookSubmissionStatusInputSchema,
|
|
11747
11757
|
outputSchema: recordOutputSchema("local_sourcebook_submission_status", LocalSourcebookOutputSchema),
|
|
11748
11758
|
annotations: localPlanningToolAnnotations("Local Sourcebook Submission Status")
|
|
@@ -11887,7 +11897,7 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
11887
11897
|
}, async (input) => formatCreditsInfo(await executor.creditsInfo(input), input));
|
|
11888
11898
|
server.registerTool("list_service_connections", {
|
|
11889
11899
|
title: "List Connected Services",
|
|
11890
|
-
description: "List every 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
|
|
11900
|
+
description: "List every 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; a tenant-owned userLabel; verified provider-side account ID, email, or name when available; 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. Managed 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.",
|
|
11891
11901
|
inputSchema: ListServiceConnectionsInputSchema,
|
|
11892
11902
|
outputSchema: recordOutputSchema("list_service_connections", ListServiceConnectionsOutputSchema),
|
|
11893
11903
|
annotations: { title: "List Connected Services", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// release-message.json
|
|
2
2
|
var release_message_default = {
|
|
3
|
-
message: "
|
|
3
|
+
message: "Local Sourcebook submissions now clearly distinguish processing from publication and return the exact live listing URL when complete."
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
// src/install-terminal.ts
|