bulk_update_competitor_status

bulk_update_competitor_status MCP tool: confirm, reject or reset suggested competitors in bulk (up to 50 per call). Per-item errors, member role required.

Updated 2026-04-26

bulk_update_competitor_status

bulk_update_competitor_status is the only write tool in this set. It updates the status of one or more competitors in a single call, up to 50 per batch. Use it to act on the auto-detection queue surfaced by list_competitors: confirm real competitors, reject noise, or reset previously dismissed entries to SUGGESTED.

When to use

Use it when the user gives a moderation instruction such as "confirm all the competitors I see here", "reject these three brand-name false positives", or "reset Otterly back to suggested for re-review". It is the right tool for any agent that triages the suggestion queue automatically based on rules. Pair with list_competitors (filter status: ["SUGGESTED"]) to fetch the candidates first.

Requires member role minimum, customer role rejected.

Input

Field Type Description
projectId string (CUID) Project to update.
updates array 1 to 50 entries.
updates[].competitorId string (CUID) Competitor to update.
updates[].status enum CONFIRMED, REJECTED, SUGGESTED.

Response

The response carries updated/failed counts and a per-item results array. Per-item errors do not block the rest of the batch: valid updates still apply, and success flips to false only to flag that at least one item failed.

{
  "success": true,
  "updated": 2,
  "failed": 0,
  "results": [
    {
      "competitorId": "clxcomp001",
      "status": "success",
      "competitor": {
        "id": "clxcomp001",
        "canonicalName": "Otterly",
        "status": "CONFIRMED",
        "updatedAt": "2026-04-26T10:15:00.000Z"
      }
    },
    {
      "competitorId": "clxcomp002",
      "status": "success",
      "competitor": {
        "id": "clxcomp002",
        "canonicalName": "Profound",
        "status": "REJECTED",
        "updatedAt": "2026-04-26T10:15:00.000Z"
      }
    }
  ]
}

If a competitor ID is invalid or belongs to another project, the entry returns status: "error" with a message and success is set to false for the whole batch. Other valid updates still apply.

Tips and patterns

  • Always read success and the per-item results[].status to detect partial failures.
  • Batch up to the 50-item limit to minimise round trips. If the list is bigger, paginate.
  • Confirm a customer user gracefully: catch the role-rejection error and route the request to a higher-privileged member.
  • Resetting to SUGGESTED re-injects the competitor into the moderation queue; do not use it as a soft-delete.

Related tools