Skip to main content
Glama

instantiate_playbook

Run a playbook: create one content plan per playbook item, in order, as a batch. Plans land in the Accepted stage with source "playbook" and INHERIT the playbook's visibility (team playbook → team plans; private playbook → private plans). Optionally anchor due dates to a date (each item's offset_days is applied to anchor_date; defaults to the playbook's saved anchor_date if it has one) and/or scope the batch to a project.

The response groups the plans under a new CYCLE — use run.link_url to hand the user "here's your cycle" and each plan's link_url for the individual pieces.

When to use: when the user wants to actually deploy / kick off / run a saved playbook into real content plans (e.g. "run my launch playbook", "instantiate this template anchored to next Monday"). This is a distinct bulk action — it does NOT create or edit the playbook itself.

**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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "playbook_id": "<playbook_id>"
    },
    "name": "instantiate_playbook"
  }
}

Input Schema

NameRequiredDescriptionDefault
project_idNoScope every created plan to this project (optional).
anchor_dateNoThe reference date every item's `offset_days` counts from: each plan's due_date = anchor_date + offset_days. Three distinct cases, so choose deliberately — OMIT the field to inherit the playbook's own saved anchor_date (due dates are only unset if the playbook has no saved anchor either); pass an explicit null (or empty string) to force NO anchor, which leaves every due date unset even when the playbook has a saved one; or pass a YYYY-MM-DD date to override with that date. Any other format is rejected. When the user names a date ("anchored to next Monday") send it explicitly; when they just say "run my playbook" omit the field so their saved anchor is honored.
assigned_toNoUser id to assign the created plans to. Defaults to the caller.
category_idNoOverride the content category for every created plan (optional).
playbook_idYesNumeric id of the saved playbook to run — the `id` from list_playbooks or the trailing number in its link_url, not a UUID. If you only have the playbook's name, call list_playbooks first to resolve the id. The playbook must contain at least one item; running an empty playbook fails.

Output Schema

NameRequiredDescriptionDefault
runNoThe created cycle: id, name (auto-named "<playbook> — <Mon YYYY>" unless you passed a name), anchor_date, and link_url (https://app.marcora.ai/runs/{run_id}) — share it to hand the user their new cycle.
plansNo
run_idNoID of the cycle (run) this instantiation created — the group its plans belong to.
playbook_idNo
created_countNoNumber of plans created (one per playbook item).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare non-read-only and non-idempotent, and the description adds real behavior beyond them: plans inherit the playbook's visibility, all land in Accepted with source 'playbook', an empty playbook fails, and the response groups everything under a new cycle. The link_url handling instruction is an extra operational constraint not captured anywhere in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and outcome, then cleanly sectioned into usage and link-handling rules. Slightly long, and the anchor_date prose in the body restates what the schema already spells out, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent bulk mutation with 5 params and an output schema, the description covers outcome state, visibility inheritance, failure mode, and how to present the returned links. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description still adds value: playbook_id should be resolved via list_playbooks or the trailing number in a link_url (not a UUID), and project_id scope is framed as batch-wide. Much of the anchor_date elaboration duplicates the schema's own detailed three-case explanation rather than extending it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run a playbook: create one content plan per playbook item') plus the resulting artifact state (Accepted stage, source 'playbook'). It explicitly separates itself from the sibling mutations create_playbook and update_playbook by saying it 'does NOT create or edit the playbook itself.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Has a dedicated 'When to use' block with concrete user phrasings ('run my launch playbook', 'instantiate this template anchored to next Monday') and an explicit exclusion for playbook creation/editing. The anchor_date field description also gives a decision rule for when to pass a date versus omit the field.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources