mcp-scraper 0.45.0 → 0.46.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 +6 -2
- package/dist/bin/api-server.cjs +695 -64
- 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 +3 -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 +103 -2
- package/dist/bin/mcp-stdio-server.cjs.map +1 -1
- package/dist/bin/mcp-stdio-server.js +3 -3
- package/dist/{chunk-FQIICRR4.js → chunk-BP2IUIAH.js} +106 -2
- package/dist/chunk-BP2IUIAH.js.map +1 -0
- package/dist/{chunk-GRODXRUY.js → chunk-QSUGPYGQ.js} +3 -2
- package/dist/chunk-QSUGPYGQ.js.map +1 -0
- package/dist/chunk-TQKQK7OV.js +7 -0
- package/dist/chunk-TQKQK7OV.js.map +1 -0
- package/dist/{server-7B75SDNG.js → server-SMEHT3OU.js} +565 -41
- package/dist/server-SMEHT3OU.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-CEZ3NFBP.js +0 -7
- package/dist/chunk-CEZ3NFBP.js.map +0 -1
- package/dist/chunk-FQIICRR4.js.map +0 -1
- package/dist/chunk-GRODXRUY.js.map +0 -1
- package/dist/server-7B75SDNG.js.map +0 -1
|
@@ -12,16 +12,16 @@ import {
|
|
|
12
12
|
registerScheduledResultsMcpTools,
|
|
13
13
|
registerSerpIntelligenceCaptureTools,
|
|
14
14
|
resolveDeploymentProfile
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-BP2IUIAH.js";
|
|
16
16
|
import "../chunk-2K74LVV7.js";
|
|
17
17
|
import "../chunk-BBI7RGOT.js";
|
|
18
18
|
import "../chunk-T5AFM4G5.js";
|
|
19
19
|
import {
|
|
20
20
|
renderInstallTerminal
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-QSUGPYGQ.js";
|
|
22
22
|
import {
|
|
23
23
|
PACKAGE_VERSION
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-TQKQK7OV.js";
|
|
25
25
|
import "../chunk-SOEYDWJU.js";
|
|
26
26
|
import "../chunk-5UN33CGU.js";
|
|
27
27
|
import "../chunk-5X7CJEK3.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-T5AFM4G5.js";
|
|
22
22
|
import {
|
|
23
23
|
PACKAGE_VERSION
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-TQKQK7OV.js";
|
|
25
25
|
import {
|
|
26
26
|
MC_PER_CREDIT
|
|
27
27
|
} from "./chunk-SOEYDWJU.js";
|
|
@@ -385,6 +385,18 @@ seam is noted so you can chain them.
|
|
|
385
385
|
Use saved filters when a person wants their MCP to operate inside a reading room, trail, source scope,
|
|
386
386
|
category, tag bundle, media constraint, or other personalized subset of the shared Commons graph.
|
|
387
387
|
|
|
388
|
+
## Transparent Commons user publications
|
|
389
|
+
- A user-owned editorial publication is separate from the neutral public wiki. Start with
|
|
390
|
+
**commons_prepare_publication** to normalize the requested subdomain, check availability, and read the live
|
|
391
|
+
ownership contract. Then call **commons_validate_publication** with operation \`claim\` before
|
|
392
|
+
**commons_claim_publication**.
|
|
393
|
+
- Each account may claim one stable name at \`https://{name}.transparent-commons.cc\`. Claims require an
|
|
394
|
+
idempotency key and never publish content by themselves.
|
|
395
|
+
- To publish, use **editorial_reading_room_guide** when needed, research and author the complete source-grounded
|
|
396
|
+
edition, validate it with **commons_validate_publication** operation \`publish\`, then call
|
|
397
|
+
**commons_publish_editorial**. The publish result returns the permanent publication, archive, and edition URLs.
|
|
398
|
+
- Use **commons_get_publication** to recover the caller's publication and current edition revisions. Existing
|
|
399
|
+
edition edits require the returned baseRevision. Only the account that claimed the subdomain can publish to it.
|
|
388
400
|
|
|
389
401
|
## Google Maps
|
|
390
402
|
- Find multiple places/competitors/prospects -> **maps_search** (returns \`results[]\` with name,
|
|
@@ -5253,6 +5265,37 @@ var RenewEditorialReadingRoomDownloadOutputSchema = {
|
|
|
5253
5265
|
downloadUrlExpiresAt: z4.string(),
|
|
5254
5266
|
expiresAt: z4.string()
|
|
5255
5267
|
};
|
|
5268
|
+
var CommonsPublicationSubdomainSchema = z4.string().trim().min(3).max(50).describe("Requested publication name under transparent-commons.cc. The server normalizes spaces to hyphens, rejects reserved names, and enforces one globally unique name per account.");
|
|
5269
|
+
var CommonsPreparePublicationInputSchema = {
|
|
5270
|
+
requestedSubdomain: CommonsPublicationSubdomainSchema,
|
|
5271
|
+
title: z4.string().trim().min(1).max(140).optional().describe("Reader-facing publication title. Omit to derive it from the chosen subdomain."),
|
|
5272
|
+
description: z4.string().trim().max(500).optional().describe("Short description used on the publication archive and discovery surfaces.")
|
|
5273
|
+
};
|
|
5274
|
+
var CommonsValidatePublicationInputSchema = {
|
|
5275
|
+
operation: z4.enum(["claim", "publish"]).describe("Validate either a new name claim or a finished editorial edition without writing."),
|
|
5276
|
+
requestedSubdomain: CommonsPublicationSubdomainSchema.optional().describe("Publication name to validate when operation is claim."),
|
|
5277
|
+
publicationSubdomain: CommonsPublicationSubdomainSchema.optional().describe("Already claimed publication name to validate when operation is publish."),
|
|
5278
|
+
title: z4.string().trim().min(1).max(140).optional(),
|
|
5279
|
+
description: z4.string().trim().max(500).optional(),
|
|
5280
|
+
edition: z4.object(CreateEditorialReadingRoomInputSchema).strict().optional().describe("Complete source-grounded reading-room payload to validate when operation is publish."),
|
|
5281
|
+
editionSlug: z4.string().trim().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(80).optional().describe("Stable public edition slug. Defaults to edition.site.slug."),
|
|
5282
|
+
baseRevision: z4.number().int().positive().optional().describe("Current edition revision when validating an edit.")
|
|
5283
|
+
};
|
|
5284
|
+
var CommonsClaimPublicationInputSchema = {
|
|
5285
|
+
...CommonsPreparePublicationInputSchema,
|
|
5286
|
+
idempotencyKey: z4.string().trim().min(8).max(200).describe("Unique key for this intended claim. Reuse it only when retrying the same claim.")
|
|
5287
|
+
};
|
|
5288
|
+
var CommonsPublishEditorialInputSchema = {
|
|
5289
|
+
publicationSubdomain: CommonsPublicationSubdomainSchema.describe("Publication owned by the authenticated account."),
|
|
5290
|
+
editionSlug: z4.string().trim().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(80).optional().describe("Stable public edition slug. Defaults to site.slug."),
|
|
5291
|
+
idempotencyKey: z4.string().trim().min(8).max(200).describe("Unique key for this intended publish. Reuse it only when retrying the same revision."),
|
|
5292
|
+
baseRevision: z4.number().int().positive().optional().describe("Required when revising an existing edition; use the current revision from commons_get_publication."),
|
|
5293
|
+
...CreateEditorialReadingRoomInputSchema
|
|
5294
|
+
};
|
|
5295
|
+
var CommonsGetPublicationInputSchema = {
|
|
5296
|
+
subdomain: CommonsPublicationSubdomainSchema.optional().describe("Public publication name to inspect. Omit to return the publication owned by the authenticated account."),
|
|
5297
|
+
includeEditions: z4.boolean().default(true).describe("Include the latest revision of every published edition.")
|
|
5298
|
+
};
|
|
5256
5299
|
var RankTrackerModeSchema = z4.enum(["maps", "organic", "ai_overview", "paa"]);
|
|
5257
5300
|
var RankTrackerBlueprintInputSchema = {
|
|
5258
5301
|
projectName: z4.string().min(1).optional().describe("Optional name for the rank tracker project, client, or campaign."),
|
|
@@ -8029,6 +8072,41 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
8029
8072
|
openWorldHint: false
|
|
8030
8073
|
}
|
|
8031
8074
|
}, async (input) => executor.commonsListFilters(input));
|
|
8075
|
+
server.registerTool("commons_prepare_publication", {
|
|
8076
|
+
title: "Prepare Transparent Commons Publication",
|
|
8077
|
+
description: "Check and normalize a subscriber-chosen Transparent Commons publication name before any write. Returns name availability, the caller's existing publication, permanent URL shape, ownership rules, and the required validate/claim/publish workflow. This is for a user-owned editorial publication, not a neutral /wiki/ entity.",
|
|
8078
|
+
inputSchema: CommonsPreparePublicationInputSchema,
|
|
8079
|
+
outputSchema: recordOutputSchema("commons_prepare_publication", CommonsGenericOutputSchema),
|
|
8080
|
+
annotations: { title: "Prepare Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
|
|
8081
|
+
}, async (input) => executor.commonsPreparePublication(input));
|
|
8082
|
+
server.registerTool("commons_validate_publication", {
|
|
8083
|
+
title: "Validate Transparent Commons Publication",
|
|
8084
|
+
description: "Validate a publication name claim or a complete source-grounded editorial edition without writing. Use operation claim before commons_claim_publication and operation publish before commons_publish_editorial. This uses the editorial reading-room contract and checks ownership plus revision conflicts.",
|
|
8085
|
+
inputSchema: CommonsValidatePublicationInputSchema,
|
|
8086
|
+
outputSchema: recordOutputSchema("commons_validate_publication", CommonsGenericOutputSchema),
|
|
8087
|
+
annotations: { title: "Validate Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
|
|
8088
|
+
}, async (input) => executor.commonsValidatePublication(input));
|
|
8089
|
+
server.registerTool("commons_claim_publication", {
|
|
8090
|
+
title: "Claim Transparent Commons Publication",
|
|
8091
|
+
description: "Permanently claim one globally unique publication subdomain for the authenticated MCP Scraper account. Call commons_prepare_publication and commons_validate_publication first. This creates public identity state but does not publish an edition. Requires an idempotencyKey; retries with the same intended claim are safe.",
|
|
8092
|
+
inputSchema: CommonsClaimPublicationInputSchema,
|
|
8093
|
+
outputSchema: recordOutputSchema("commons_claim_publication", CommonsGenericOutputSchema),
|
|
8094
|
+
annotations: { title: "Claim Transparent Commons Publication", readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true }
|
|
8095
|
+
}, async (input) => executor.commonsClaimPublication(input));
|
|
8096
|
+
server.registerTool("commons_publish_editorial", {
|
|
8097
|
+
title: "Publish Transparent Commons Editorial Edition",
|
|
8098
|
+
description: "Publish a fully authored editorial reading-room edition to the caller-owned Transparent Commons subdomain and return permanent root, archive, and edition URLs. The calling AI must research and author the source-grounded edition first; this tool validates, renders, and persists it. For an existing edition, pass its current baseRevision. Requires an idempotencyKey; this is not the neutral wiki write tool.",
|
|
8099
|
+
inputSchema: CommonsPublishEditorialInputSchema,
|
|
8100
|
+
outputSchema: recordOutputSchema("commons_publish_editorial", CommonsGenericOutputSchema),
|
|
8101
|
+
annotations: { title: "Publish Transparent Commons Editorial Edition", readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true }
|
|
8102
|
+
}, async (input) => executor.commonsPublishEditorial(input));
|
|
8103
|
+
server.registerTool("commons_get_publication", {
|
|
8104
|
+
title: "Get Transparent Commons Publication",
|
|
8105
|
+
description: "Read a Transparent Commons publication and its latest edition revisions. Omit subdomain to inspect the caller-owned publication; pass a name to inspect a public publication. Returns the permanent public and archive URLs needed for sharing or later edits.",
|
|
8106
|
+
inputSchema: CommonsGetPublicationInputSchema,
|
|
8107
|
+
outputSchema: recordOutputSchema("commons_get_publication", CommonsGenericOutputSchema),
|
|
8108
|
+
annotations: { title: "Get Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
|
|
8109
|
+
}, async (input) => executor.commonsGetPublication(input));
|
|
8032
8110
|
server.registerTool("directory_workflow", {
|
|
8033
8111
|
title: "Directory Workflow: Markets + Maps",
|
|
8034
8112
|
description: `Start a durable directory/prospecting job: selects US city markets from versioned hosted Census-place data, optionally joins the active hosted ZIP dataset, then runs Google Maps business searches per city. Pass a new idempotencyKey for each intended job and reuse it only when retrying that call. Production does not read server-local location CSVs. Always returns a background jobId; poll with directory_workflow_status. ${fileBehavior("Saves a CSV of results per city.", "Completed jobs return an owner-scoped CSV artifact.")}`,
|
|
@@ -8864,6 +8942,28 @@ var HttpMcpToolExecutor = class {
|
|
|
8864
8942
|
commonsListNeedsLinks(input) {
|
|
8865
8943
|
return this.call("/commons/needs-links/search", input);
|
|
8866
8944
|
}
|
|
8945
|
+
commonsPreparePublication(input) {
|
|
8946
|
+
return this.call("/commons/publications/prepare", input);
|
|
8947
|
+
}
|
|
8948
|
+
commonsValidatePublication(input) {
|
|
8949
|
+
return this.call("/commons/publications/validate", input);
|
|
8950
|
+
}
|
|
8951
|
+
commonsClaimPublication(input) {
|
|
8952
|
+
const { idempotencyKey, ...body } = input;
|
|
8953
|
+
return this.call("/commons/publications/claim", { ...body, idempotencyKey }, this.timeoutMs, "POST", {
|
|
8954
|
+
"Idempotency-Key": `commons-publication-claim-${createHash4("sha256").update(idempotencyKey).digest("hex")}`
|
|
8955
|
+
});
|
|
8956
|
+
}
|
|
8957
|
+
commonsPublishEditorial(input) {
|
|
8958
|
+
const { idempotencyKey, ...body } = input;
|
|
8959
|
+
return this.call("/commons/publications/publish", { ...body, idempotencyKey }, this.timeoutMs, "POST", {
|
|
8960
|
+
"Idempotency-Key": `commons-publication-publish-${createHash4("sha256").update(idempotencyKey).digest("hex")}`
|
|
8961
|
+
});
|
|
8962
|
+
}
|
|
8963
|
+
commonsGetPublication(input) {
|
|
8964
|
+
const query = new URLSearchParams({ includeEditions: String(input.includeEditions ?? true) });
|
|
8965
|
+
return this.getJson(input.subdomain ? `/commons/publications/${encodeURIComponent(input.subdomain)}?${query}` : `/commons/publications/me?${query}`);
|
|
8966
|
+
}
|
|
8867
8967
|
async captureSerpSnapshot(input) {
|
|
8868
8968
|
const fingerprint = createHash4("sha256").update(JSON.stringify(input)).digest("hex");
|
|
8869
8969
|
const now = Date.now();
|
|
@@ -13330,6 +13430,10 @@ export {
|
|
|
13330
13430
|
SCHEDULED_ARTIFACT_TEMPLATE_PRESET,
|
|
13331
13431
|
CreateEditorialReadingRoomInputSchema,
|
|
13332
13432
|
RenewEditorialReadingRoomDownloadInputSchema,
|
|
13433
|
+
CommonsPreparePublicationInputSchema,
|
|
13434
|
+
CommonsValidatePublicationInputSchema,
|
|
13435
|
+
CommonsClaimPublicationInputSchema,
|
|
13436
|
+
CommonsPublishEditorialInputSchema,
|
|
13333
13437
|
resolveDeploymentProfile,
|
|
13334
13438
|
isLoopbackBaseUrl,
|
|
13335
13439
|
permitsLocalNetworkAccess,
|
|
@@ -13346,4 +13450,4 @@ export {
|
|
|
13346
13450
|
ScheduledResultsMcpExecutor,
|
|
13347
13451
|
registerScheduledResultsMcpTools
|
|
13348
13452
|
};
|
|
13349
|
-
//# sourceMappingURL=chunk-
|
|
13453
|
+
//# sourceMappingURL=chunk-BP2IUIAH.js.map
|