Skip to main content
Glama

SEO Campaigns & Content

campaign_manage
Destructive

Read campaigns and stage page-scale, content-sweep, or bulk-edit campaigns and blog articles. All staging is proposal-based and approval-gated; nothing publishes without the user. Already scoped to the connected workspace and its site; no domain or site parameter is needed. Cost: list/get reads are FREE. Creating/approving a campaign bills AI credits per page only as the staged work actually executes; nothing is spent at staging time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNopropose_page_scale only (required): page kind, e.g. "location pages".
rowsNopropose_page_scale, rowSourceKind=user: one object per page. propose_location_pages (required): one object per location (name + the facts the user gave; enrich: pageUrl).
urlsNopropose_bulk_edit, selectorKind=urls: the pages.
briefNomanage+update_brief: replacement brief. Also propose_page_scale (template brief) and propose_content_sweep (shared direction).
titleNopropose_page_scale (required), propose_content_sweep (required), propose_bulk_edit and propose_location_pages (optional).
actionYesWhich operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (a set of pages on the site own page or own template); propose_location_pages (location pages on the site own layout (drafts), or existing ones improved); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging).
statusNolist only: filter campaigns by status.
topicsNopropose_content_sweep (required, up to 50) and write_articles (required, 2-50). One distinct article per topic.
confirmNomanage only, approve + abandon: must be true - attests the user explicitly asked for this (approve releases work + spend; abandon is irreversible).
maxPagesNopropose_bulk_edit only: cap the sweep size.
segmentsNopropose_bulk_edit: advanced mixed-template selectors (overrides selectorKind/instruction).
taskTypeNopropose_bulk_edit only (required): the sweep type, e.g. ctr_fix, schema, content_refresh.
projectIdNopropose_page_scale: the customer's own project whose fields hold their {{Column}} template. Needs projectId or exemplarUrl.
rowTargetNopropose_page_scale only: target number of rows/pages.
campaignIdNomanage only: the campaign to act on.
pathPrefixNopropose_bulk_edit, selectorKind=path_prefix: the prefix.
autoPublishNowrite_articles only: default true (articles that pass our checks publish on their own, with undo); false keeps them as drafts.
exemplarUrlNopropose_location_pages (create) and propose_page_scale: the customer's own page the new pages copy (layout, embeds, page type). propose_page_scale needs exemplarUrl or projectId.
instructionNopropose_bulk_edit only: shared per-page brief.
allowGenTextNopropose_page_scale only: allow per-row AI text (costs credits).
locationModeNopropose_location_pages only (required): create = new draft pages modelled on exemplarUrl; enrich = rewrite existing location pages (rows carry pageUrl).
manageActionNomanage only: what to do to the campaign. approve releases the campaign to execution (the USER must have explicitly said yes first).
selectorKindNopropose_bulk_edit only: how to select pages.
exemplarPlaceNopropose_location_pages, create: the place the model page is about, when its title does not say.
rowSourceKindNopropose_page_scale only: where page rows come from (required with exemplarUrl; with projectId defaults to the project dataset). No AI source: an invented row list is refused.
publishAsDraftNopropose_page_scale only: publish pages as drafts.
libraryDatasetIdNopropose_page_scale, rowSourceKind=library: dataset id to attach.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / user_intent
      Removed value: -{
      -  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
      -  "maxLength": 300,
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • changedInput schema / properties / autoPublish / description
      Previous value: -"write_articles only: default false (stage as drafts)."New value: +"write_articles only: default true (articles that pass our checks publish on their own, with undo); false keeps them as drafts."
  3. Changed7 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_location_pages (location pages on the site own layout (drafts), or existing ones improved); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging)."New value: +"Which operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (a set of pages on the site own page or own template); propose_location_pages (location pages on the site own layout (drafts), or existing ones improved); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging)."
    • changedInput schema / properties / exemplarUrl / description
      Previous value: -"propose_location_pages, create: the customer's page the new pages copy (layout, embeds, page type)."New value: +"propose_location_pages (create) and propose_page_scale: the customer's own page the new pages copy (layout, embeds, page type). propose_page_scale needs exemplarUrl or projectId."
    • removedInput schema / properties / pageTemplate
      Removed value: -{
      -  "description": "propose_page_scale only: built-in template id.",
      -  "type": "string"
      -}
    • addedInput schema / properties / projectId
      Added value: +{
      +  "description": "propose_page_scale: the customer's own project whose fields hold their {{Column}} template. Needs projectId or exemplarUrl.",
      +  "type": "string"
      +}
    • removedInput schema / properties / rowPrompt
      Removed value: -{
      -  "description": "propose_page_scale, rowSourceKind=ai: dataset to generate.",
      -  "type": "string"
      -}
    • changedInput schema / properties / rowSourceKind / description
      Previous value: -"propose_page_scale only (required): where page rows come from."New value: +"propose_page_scale only: where page rows come from (required with exemplarUrl; with projectId defaults to the project dataset). No AI source: an invented row list is refused."
    • changedInput schema / properties / rowSourceKind / enum
      Previous value: -[
      -  "ai",
      -  "user",
      -  "library",
      -  "gbp_locations"
      -]New value: +[
      +  "user",
      +  "library",
      +  "gbp_locations"
      +]
  4. Changed7 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging)."New value: +"Which operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_location_pages (location pages on the site own layout (drafts), or existing ones improved); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging)."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "manage",
      -  "propose_page_scale",
      -  "propose_content_sweep",
      -  "propose_bulk_edit",
      -  "write_articles"
      -]New value: +[
      +  "list",
      +  "manage",
      +  "propose_page_scale",
      +  "propose_location_pages",
      +  "propose_content_sweep",
      +  "propose_bulk_edit",
      +  "write_articles"
      +]
    • addedInput schema / properties / exemplarPlace
      Added value: +{
      +  "description": "propose_location_pages, create: the place the model page is about, when its title does not say.",
      +  "type": "string"
      +}
    • addedInput schema / properties / exemplarUrl
      Added value: +{
      +  "description": "propose_location_pages, create: the customer's page the new pages copy (layout, embeds, page type).",
      +  "type": "string"
      +}
    • addedInput schema / properties / locationMode
      Added value: +{
      +  "description": "propose_location_pages only (required): create = new draft pages modelled on exemplarUrl; enrich = rewrite existing location pages (rows carry pageUrl).",
      +  "enum": [
      +    "create",
      +    "enrich"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / rows / description
      Previous value: -"propose_page_scale, rowSourceKind=user: one object per page."New value: +"propose_page_scale, rowSourceKind=user: one object per page. propose_location_pages (required): one object per location (name + the facts the user gave; enrich: pageUrl)."
    • changedInput schema / properties / title / description
      Previous value: -"propose_page_scale (required), propose_content_sweep (required), propose_bulk_edit (optional)."New value: +"propose_page_scale (required), propose_content_sweep (required), propose_bulk_edit and propose_location_pages (optional)."
  5. Changed1 schema field changed
    • changedInput schema / properties / confirm / description
      Previous value: -"manage only, approve + abandon: must be true — attests the user explicitly asked for this (approve releases work + spend; abandon is irreversible)."New value: +"manage only, approve + abandon: must be true - attests the user explicitly asked for this (approve releases work + spend; abandon is irreversible)."
  6. Changed9 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging); save_article (save a full article draft (pass title/content/slug) for one-click publish)."New value: +"Which operation to run. list (campaigns with status + task counts); manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging)."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "manage",
      -  "propose_page_scale",
      -  "propose_content_sweep",
      -  "propose_bulk_edit",
      -  "write_articles",
      -  "save_article"
      -]New value: +[
      +  "list",
      +  "manage",
      +  "propose_page_scale",
      +  "propose_content_sweep",
      +  "propose_bulk_edit",
      +  "write_articles"
      +]
    • removedInput schema / properties / content
      Removed value: -{
      -  "description": "save_article only (required): full Markdown body.",
      -  "type": "string"
      -}
    • removedInput schema / properties / excerpt
      Removed value: -{
      -  "description": "save_article only (required): the excerpt.",
      -  "type": "string"
      -}
    • removedInput schema / properties / featuredImagePrompt
      Removed value: -{
      -  "description": "save_article only (required): image prompt.",
      -  "type": "string"
      -}
    • removedInput schema / properties / metaDescription
      Removed value: -{
      -  "description": "save_article only: meta description.",
      -  "type": "string"
      -}
    • removedInput schema / properties / metaTitle
      Removed value: -{
      -  "description": "save_article only: meta title.",
      -  "type": "string"
      -}
    • removedInput schema / properties / slug
      Removed value: -{
      -  "description": "save_article only (required): the URL slug.",
      -  "type": "string"
      -}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "list only: filter campaigns by status.",
      +  "enum": [
      +    "proposed",
      +    "approved",
      +    "active",
      +    "paused",
      +    "done",
      +    "abandoned"
      +  ],
      +  "type": "string"
      +}
  7. Changed3 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"manage + abandon only: must be true to confirm the irreversible action."New value: +"manage only, approve + abandon: must be true — attests the user explicitly asked for this (approve releases work + spend; abandon is irreversible)."
    • changedInput schema / properties / manageAction / description
      Previous value: -"manage only: what to do to the campaign."New value: +"manage only: what to do to the campaign. approve releases the campaign to execution (the USER must have explicitly said yes first)."
    • changedInput schema / properties / manageAction / enum
      Previous value: -[
      -  "pause",
      -  "resume",
      -  "abandon",
      -  "update_brief"
      -]New value: +[
      +  "approve",
      +  "pause",
      +  "resume",
      +  "abandon",
      +  "update_brief"
      +]
  8. Changed1 schema field changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. manage (pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging); save_article (save a full article draft (pass title/content/slug) for one-click publish)."New value: +"Which operation to run. manage (approve/pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging); save_article (save a full article draft (pass title/content/slug) for one-click publish)."
  9. Changed1 schema field changed
    • addedInput schema / properties / user_intent
      Added value: +{
      +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
      +  "maxLength": 300,
      +  "type": "string"
      +}
  10. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.