MCP / Tools / Story Collaboration / agent_persona_run

agent_persona_run

orchestrationbetaauth: project:writeapproval: suggeststatus: v1

Run personas once to propose applyable changes to existing project material. Quote and obtain acceptance before Start; reuse billing IDs on retries.

When to use

  • Quote first; show the price, then Start with billing_quote_id and a fresh billing_request_id. Reuse both on retries.
  • Poll job_get, finalize by job_id, then apply the proposal_id only if has_actionable_changes.

When not to use

  • For critique or coverage use story_review_run analysis_wizard/room_review; for mentor conversations use chat.
  • For missing stage content use story_development_run; for exact edits use story_mutate or screenplay_snapshot_apply.

Examples

  • “Continuity and character revision pass.”

Anti-examples

  • General critique; a new outline; filling one treatment card.

Backend capabilities

agent_persona.run

Linked resources

Tool calls may return resource_links pointing at these resource families.

Input schema

agent_persona_run input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "phase",
    "project_id"
  ],
  "properties": {
    "phase": {
      "type": "string",
      "enum": [
        "quote",
        "start",
        "finalize",
        "apply"
      ]
    },
    "project_id": {
      "type": "integer"
    },
    "roles": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": [
          "writer",
          "reviewer",
          "character",
          "continuity",
          "planner",
          "producer",
          "dialogue",
          "theme",
          "format",
          "clarity"
        ]
      }
    },
    "direction": {
      "type": "string",
      "maxLength": 4000
    },
    "scope": {
      "type": "object",
      "properties": {
        "scene_id": {
          "type": "string"
        },
        "sequence_code": {
          "type": "string"
        },
        "act_code": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "job_id": {
      "type": "string"
    },
    "proposal_id": {
      "type": "string"
    },
    "billing_quote_id": {
      "type": "string",
      "format": "uuid"
    },
    "billing_request_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "phase": {
            "enum": [
              "quote",
              "start"
            ]
          }
        }
      },
      "then": {
        "required": [
          "roles"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "phase": {
            "const": "finalize"
          }
        }
      },
      "then": {
        "required": [
          "job_id"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "phase": {
            "const": "apply"
          }
        }
      },
      "then": {
        "required": [
          "proposal_id"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "phase": {
            "const": "start"
          }
        }
      },
      "then": {
        "required": [
          "billing_quote_id",
          "billing_request_id"
        ]
      },
      "else": {
        "not": {
          "anyOf": [
            {
              "required": [
                "billing_quote_id"
              ]
            },
            {
              "required": [
                "billing_request_id"
              ]
            }
          ]
        }
      }
    }
  ]
}

Output schema

agent_persona_run output
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "phase"
  ],
  "properties": {
    "phase": {
      "type": "string"
    },
    "proposal_id": {
      "type": "string"
    },
    "async": {
      "type": "boolean"
    },
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "poll_after_seconds": {
      "type": "integer"
    },
    "has_actionable_changes": {
      "type": "boolean"
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "summary": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "updates": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "creates": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "notes_patch": {
      "type": "object"
    },
    "screenplay_ops": {
      "type": [
        "object",
        "null"
      ]
    },
    "applied_summary": {
      "type": "object"
    },
    "snapshot_rev": {
      "type": "integer"
    },
    "credits_charged": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "credits_skipped_reason": {
      "type": "string"
    },
    "resource_links": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "quote": {
      "type": "object",
      "required": [
        "quote_id",
        "mode",
        "allowance",
        "expires_at"
      ],
      "properties": {
        "quote_id": {
          "type": "string",
          "format": "uuid"
        },
        "mode": {
          "enum": [
            "fixed",
            "usage"
          ]
        },
        "allowance": {
          "type": "integer",
          "minimum": 0
        },
        "expires_at": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "billing_operation_id": {
      "type": "string",
      "format": "uuid"
    },
    "billing_status": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
← All toolsv1 · workflow_runner