MCP Tools
Content

get_generation_status

Check the status of an asynchronous content generation started by create_content (with a blueprint or Multi-model), produce_plan, ask_content_assistant or apply_grounding_fix. Poll it with the generation_id until the run completes; once finished it returns the current document and the Content Assistant reply that run produced.

Parameters

NameTypeRequiredDefaultDescription
generation_idstringYes—The generation ID returned by `create_content` (with `blueprint_uuid` or `generation_mode: "multi_model"`), `produce_plan`, `ask_content_assistant` or `apply_grounding_fix`.

Input Schema

{
  "type": "object",
  "required": [
    "generation_id"
  ],
  "properties": {
    "generation_id": {
      "type": "string",
      "description": "The generation ID returned by `create_content` (with `blueprint_uuid` or `generation_mode: \"multi_model\"`), `produce_plan`, `ask_content_assistant` or `apply_grounding_fix`."
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Status of THIS generation_id. Terminal is \"completed\" for document generation (blueprint or document flow), \"complete\" for Content Assistant runs; \"failed\" on error."
    },
    "content": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Document name."
        },
        "link_url": {
          "type": "string",
          "format": "uri",
          "description": "Direct URL to view/open the document in Marcora."
        },
        "content_id": {
          "type": "string",
          "format": "uuid",
          "description": "The document UUID (blueprint or document generation, or Content Assistant flow)."
        },
        "blueprint_id": {
          "type": "integer",
          "description": "Blueprint runs only: the blueprint used."
        },
        "current_content": {
          "type": [
            "string",
            "null"
          ],
          "description": "Content Assistant flow only: the document's CURRENT markdown (may include the user's own later edits)."
        },
        "document_updated": {
          "type": "boolean",
          "description": "Content Assistant flow only: whether the turn this run produced changed the document body."
        },
        "assistant_summary": {
          "type": [
            "string",
            "null"
          ],
          "description": "Content Assistant flow only: the assistant reply this run produced, as the sidebar thread shows it. Null if the run has written no reply, or it was written before runs were tracked; a reply that used sources the caller cannot open comes back as a notice."
        }
      },
      "description": "Null until the run completes. For ai_assistant, the current_content is the live document, while assistant_summary and document_updated describe the turn this run produced (the document is not a frozen snapshot). Shape depends on flow_type."
    },
    "flow_type": {
      "type": "string",
      "description": "Which flow produced this generation: \"blueprint\" (generated from a blueprint), \"document\" (generated without a blueprint, e.g. Multi-model create_content or produce_plan without a blueprint) or \"ai_assistant\" (ask_content_assistant)."
    },
    "generation_id": {
      "type": "string",
      "description": "The generation ID being checked (UUID)."
    },
    "generation_mode": {
      "enum": [
        "quick",
        "multi_model"
      ],
      "type": "string",
      "description": "How the document was written: quick (one model) or multi_model (two drafts and a synthesis). Omitted when not recorded."
    }
  }
}

Instructions

Poll the status of an async generation by generation_id. These flows produce a generation_id you can check here:

  • create_content with a blueprint_uuid or generation_mode: "multi_model" (document generation), and produce_plan
  • ask_content_assistant (the in-document Content Assistant)
  • apply_grounding_fix (each job in jobs[] carries a generation_id, but jobs whose fixes land in the same document share one, because they are applied together in one run; poll each distinct generation_id once. It runs as a Content Assistant flow, so read document_updated; for a shared generation_id it covers every finding in that run)

The response always includes status, generation_id, and flow_type, plus generation_mode (quick or multi_model) when known. content is null until the run finishes.

Parameters

Parameter Type Required Description
generation_id string (uuid) Yes The generation ID returned by create_content (with blueprint_uuid or generation_mode: "multi_model"), produce_plan, ask_content_assistant or apply_grounding_fix

Output

Field Type Description
generation_id string (uuid) The generation ID being checked
status string Status of this run. Document generation (blueprint or document flow) terminates at completed; Content Assistant flow terminates at complete; failed on error. Intermediate: pending, processing, streaming
flow_type string blueprint (generated from a blueprint), document (generated without a blueprint, e.g. Multi-model create_content or produce_plan without a blueprint) or ai_assistant (ask_content_assistant)
generation_mode string quick or multi_model. Omitted when not recorded
content object | null null until the run completes. Shape depends on flow_type (below)

content — document generation (flow_type blueprint or document)

Field Type Description
content_id string (uuid) The generated document's ID. Pass to get_content if you need the body
name string Document name
blueprint_id integer Blueprint used to generate (blueprint runs only)
link_url string Direct URL to view/open in Marcora

content — Content Assistant flow (flow_type = ai_assistant)

status is per-run, but content is the current state: the live document (which may include edits the user made themselves afterward) while assistant_summary and document_updated describe the Content Assistant turn this run produced, as you are allowed to see it. The document is intentionally not a frozen snapshot — a stale snapshot isn't useful, the current version is.

Field Type Description
content_id string (uuid) The content document the assistant acted on
name string | null Document name
assistant_summary string | null The assistant reply this run produced, as the sidebar thread shows it. null if the run has written no reply, or it was written before runs were tracked; a reply that used sources you cannot open comes back as a notice
document_updated boolean Whether the turn this run produced changed the document body (false for a reply-only / chat-only response)
current_content string | null The document's current markdown
link_url string Direct URL to view/open in Marcora

Example prompts

  • "Check on my content generation"
  • "Is my blog post done yet?"
  • "Did the assistant finish editing my document?"

Links: present link_url to the user exactly as returned — copy it character for character. Never retype, shorten, or rebuild a link or the IDs inside it.

Scroll to Top