remove_geo_audit_content_idea
remove_geo_audit_content_idea MCP tool: delete a custom content idea or remove a generated one from a GEO Audit or bulk campaign report.
Updated 2026-09-21
remove_geo_audit_content_idea removes a content idea from a report. A custom one (added via add_geo_audit_content_idea or by hand) is deleted. A generated one is frozen JSON, so it is removed from the report by hiding it, the same thing the app's own toggle does, and reversible. Works on a single GEO Audit and on a bulk campaign.
When to use
To drop an article angle you don't want in the report: a custom idea you added (pass its customIdeaId) or a generated one that missed the mark (pass its hash). Both come from list_geo_audit_content_ideas. Tenant-scoped write; requires a non read-only API key.
Input
| Field | Type | Description |
|---|---|---|
auditId |
string (CUID) | A single GEO Audit, or a bulk campaign target (which resolves to its campaign). Exactly one of auditId / bulkAuditId. |
bulkAuditId |
string (CUID) | A bulk campaign, from list_bulk_audits. Exactly one of auditId / bulkAuditId. |
customIdeaId |
string | The id of a custom idea (from custom[].id). Deletes it. |
hash |
string | The hash of a generated idea (from generated[].hash). Removes it from the report by hiding it. |
Response
Success
{ "success": true, "auditId": "clx_audit_42", "bulkAuditId": null, "removed": "generated_hidden" }
removed says what actually happened: custom_deleted (a custom idea was deleted) or generated_hidden (a generated idea was hidden).
Errors
{ "success": false, "error": "item_not_found", "message": "No item with this id or hash on this report. List the items first to get a valid one." }
{ "success": false, "error": "target_required", "message": "Pass exactly one of auditId (a GEO audit) or bulkAuditId (a bulk campaign)." }
{ "success": false, "error": "audit_not_found", "message": "No GEO audit with this id exists in your workspace. ..." }
{ "success": false, "error": "bulk_audit_not_found", "message": "No bulk campaign with this id exists in your workspace. ..." }
A reference matching neither a custom id nor a generated hash returns item_not_found rather than a silent no-op.
Tips and patterns
- List first.
list_geo_audit_content_ideasgives you both handles:custom[].idandgenerated[].hash. - Hiding is reversible.
set_geo_audit_content_idea_visibilitywithhidden: falseputs a generated idea back. A deleted custom one is gone for good: re-add it. - Read
removedinstead of assuming: it tells you whether you deleted a custom idea or hid a generated one.
Related tools
- list_geo_audit_content_ideas: find the id or hash.
- set_geo_audit_content_idea_visibility: undo a
generated_hiddenremoval. - remove_geo_audit_recommendation: the same thing for the report's recommendations.