scrapewise_get_matcher_config_status
Tells whether a matching save may be made for the group now: whether a setup exists, the status of
the group's newest matcher job (QUEUED / INITIAL / RUNNING = a run is going; COMPLETED, FAILED,
PENDING = a stored draft), when it last matched, whether there is new scraped data since, and
whether the group is on the newer matching engine (where the owner saves drafts of the text settings and a
Scrapewise admin key may change everything).
Read-only; costs nothing. Check it before scrapewise_update_matcher_job, for every group whose
order matters (save the second group only after the first one has finished).
Args:
- id (string, path, required): the group's id.
- customerRef (string, query, optional): only for a Scrapewise admin key while the admin works in
another customer's account (Take Over): the customerUniqueRef of that customer. Required then
(409 TAKE_OVER_ACTIVE without it); leave it out otherwise.
Returns:
ConfigStatus: hasMatcherJob, status, lastMatchedAt, hasNewData, canConfigure, engineManaged (true / false,
null when it could not be checked), engineManagedCanEdit (on such a group: may THIS key save; false for
a read-only key), engineVersion (legacy | v2: the matcher rules version the group runs on; absent
when it could not be read),
scheduleDueAt (a scheduled run waiting to start), waitingReason (feeds-running | settling |
other-group | forced | none) and queueAhead (matcher jobs queued before this one). priceRefresh = what
the daily price refresh did on its LAST VISIT of this group: lastAt (when it visited), feedsRefreshed
(feeds with changed rows), rowsChecked, rowsWritten (rows whose prices changed), wideStaleSince (the
wide view / export shows older prices than match/data since then; null = in step) and skippedReason
(set = skipped or cut short, and why; rowsWritten still says what changed). priceRefresh is null when
price refresh is off or never visited the group. Not the delivery status of a run.
indexBuild = the group's search-data rebuild: state (NONE | QUEUED | BUILDING | DONE | FAILED |
CAP_REACHED), position (builds ahead), capKind (GROUP_CAP | CUSTOMER_CAP | null), capPerGroupPerDay,
capPerCustomerPerDay, usedGroupToday / usedCustomerToday (null = not known), usedAsOf, resetsAt and
lastEnd {result (DONE | FAILED | ABORTED | SUPERSEDED | CAP_GROUP | CAP_CUSTOMER), counted}.
runFeatures (absent = all off) = which run controls this group offers: keepsDelivered, runChoices
(autoMatches / manualMatches are used), runLedger, engineOpenEdits, engineReplaceRunning, restoreRun.
Examples:
- Use when: "is group {id} still matching?" before a save.
- Use when: "may this key change the matching of group {id}?" -> engineManagedCanEdit.
- Don't use when: you want the setup itself -> scrapewise_get_matcher_job.
Error Handling:
- 400 (CustomerError): no group with this id for this customer.
- 409 TAKE_OVER_ACTIVE: this key's admin works in another customer's account — end Take Over or
send customerRef=<that customer's ref>.
- 401 Unauthorized; 500 INTERNAL.[runtime hint] This tool returns JSON-as-text — its response shape is dynamic (per-scraper itemsConfig, file binary, etc.) so the MCP outputSchema is omitted. Do not rely on the presence of any specific field in the response; treat the result as a string-or-object blob and parse defensively.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "scrapewise_get_matcher_config_status"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| customerRef | No | Admin keys in Take Over only: the customerUniqueRef of the customer the admin works for. Required then; leave it out otherwise. |