Skip to main content
Glama

List certified planning guides

soclo_host_plan_guides
Read-onlyIdempotent

Without input, list the certified whole-guide identities (free), one page at a time: the reply carries total and nextOffset (null on the last page). Read each selected full guide with soclo_host_plan_get_guide before authoring the plan. Cached hosts can also pass input or selectedInput with clientRequestId to receive the same planning packet as soclo_host_plan_prepare. Spends no customer credits.

Input Schema

NameRequiredDescriptionDefault
inputNo
limitNoWithout input: guides per page (default 100, at most 200).
formatNoMain-track film planning. Motion is available only on its separately admitted route.
offsetNoWithout input: index of the first guide to list (default 0). Use the returned nextOffset for the next page.
selectedInputNo
clientRequestIdNo
catalogueVersionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / clientRequestId / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / actors / items / properties / actorVersion / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / actors / items / properties / id / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / references / items / properties / id / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / voices / items / properties / actorVoice / properties / actorId / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / voices / items / properties / actorVoice / properties / actorVersion / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / voices / items / properties / actorVoice / properties / bindingVersion / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    • changedInput schema / properties / selectedInput / properties / voices / items / properties / actorVoice / properties / ownerId / pattern
      Previous value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"New value: +"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
  2. Changed3 schema fields changed
    • changedInput schema / properties / selectedInput / properties / actors / items / properties / referenceIds / description
      Previous value: -"Empty; MAIN resolves actor images itself."New value: +"Empty; Soclo finds the actor’s own photos itself."
    • changedInput schema / properties / selectedInput / properties / references / items / properties / mediaVersion / description
      Previous value: -"Exact current asset updated_at; MAIN checks version and reviewed evidence."New value: +"Exact current asset updated_at; Soclo checks it is still the current version."
    • changedInput schema / properties / selectedInput / properties / voices / description
      Previous value: -"Exact Soclo-hosted selection from soclo_hosted_voices_autoload after the owner hears its private audition and transcript. MAIN revalidates the original owner, actor and binding before new work."New value: +"Exact Soclo-hosted selection from soclo_hosted_voices_autoload after the owner hears its private audition and transcript. Soclo checks the owner, actor and voice again before new work."
  3. Changed55 schema fields changed
    • addedInput schema / definitions
      Added value: +{
      +  "s1": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "aspectRatio": {
      +        "description": "For example \"9:16\" or \"1:1\".",
      +        "type": "string"
      +      },
      +      "durationMode": {
      +        "description": "\"target\" requires a positive durationSeconds. Omitted keeps historical exact semantics.",
      +        "enum": [
      +          "target",
      +          "exact"
      +        ],
      +        "type": "string"
      +      },
      +      "durationSeconds": {
      +        "description": "Positive seconds, or null for no fixed length.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "exactLines": {
      +        "description": "Lines that must appear word-for-word in the spoken dialogue.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "language": {
      +        "type": "string"
      +      },
      +      "productionNotes": {
      +        "type": "string"
      +      },
      +      "resolution": {
      +        "description": "Leave unset to use the chosen model’s default resolution.",
      +        "enum": [
      +          "480p",
      +          "720p",
      +          "768p",
      +          "1080p",
      +          "2k",
      +          "4k"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "aspectRatio",
      +      "durationSeconds",
      +      "language",
      +      "exactLines",
      +      "productionNotes"
      +    ],
      +    "type": "object"
      +  },
      +  "s2": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "tileId": {
      +            "description": "The chosen look’s tile id, exactly as the catalogue spells it.",
      +            "maxLength": 120,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "tileVersion": {
      +            "description": "The tile version that id was chosen at.",
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "tileId",
      +          "tileVersion"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The owner-facing look to plan against. Null or omitted means no template."
      +  },
      +  "s3": {
      +    "additionalProperties": false,
      +    "description": "Read the connected brand with soclo_brand_get and carry it here; do not invent brand facts.",
      +    "properties": {
      +      "enabled": {
      +        "type": "boolean"
      +      },
      +      "facts": {
      +        "description": "Brand facts the plan may rely on. Empty is allowed.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "visualDirection": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "enabled",
      +      "name",
      +      "facts",
      +      "visualDirection"
      +    ],
      +    "type": "object"
      +  },
      +  "s4": {
      +    "anyOf": [
      +      {
      +        "enum": [
      +          "wan3prime",
      +          "seedance25",
      +          "minimaxh3max",
      +          "kling3",
      +          "kling3pro",
      +          "veo31fast",
      +          "veo31",
      +          "veo31lite",
      +          "veo31lite720"
      +        ],
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "A supported video model to preserve, or null/omitted for automatic model selection."
      +  },
      +  "s5": {
      +    "description": "\"advanced\" keeps an explicit modelId; when no model is named, either mode uses automatic selection.",
      +    "enum": [
      +      "easy",
      +      "advanced"
      +    ],
      +    "type": "string"
      +  },
      +  "s6": {
      +    "const": "manual",
      +    "description": "Always \"manual\" here. Autopilot is a server-owned source and is not importable by a host.",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / input / properties / brand / $ref
      Added value: +"#/definitions/s3"
    • removedInput schema / properties / input / properties / brand / additionalProperties
      Removed value: -false
    • removedInput schema / properties / input / properties / brand / description
      Removed value: -"Read the connected brand with soclo_brand_get and carry it here; do not invent brand facts."
    • removedInput schema / properties / input / properties / brand / properties
      Removed value: -{
      -  "enabled": {
      -    "type": "boolean"
      -  },
      -  "facts": {
      -    "description": "Brand facts the plan may rely on. Empty is allowed.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "visualDirection": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / input / properties / brand / required
      Removed value: -[
      -  "enabled",
      -  "name",
      -  "facts",
      -  "visualDirection"
      -]
    • removedInput schema / properties / input / properties / brand / type
      Removed value: -"object"
    • addedInput schema / properties / input / properties / constraints / $ref
      Added value: +"#/definitions/s1"
    • removedInput schema / properties / input / properties / constraints / additionalProperties
      Removed value: -false
    • removedInput schema / properties / input / properties / constraints / properties
      Removed value: -{
      -  "aspectRatio": {
      -    "description": "For example \"9:16\" or \"1:1\".",
      -    "type": "string"
      -  },
      -  "durationMode": {
      -    "description": "\"target\" requires a positive durationSeconds. Omitted keeps historical exact semantics.",
      -    "enum": [
      -      "target",
      -      "exact"
      -    ],
      -    "type": "string"
      -  },
      -  "durationSeconds": {
      -    "description": "Positive seconds, or null for no fixed length.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "exactLines": {
      -    "description": "Lines that must appear word-for-word in the spoken dialogue.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "language": {
      -    "type": "string"
      -  },
      -  "productionNotes": {
      -    "type": "string"
      -  },
      -  "resolution": {
      -    "description": "Leave unset to use the chosen model’s default resolution.",
      -    "enum": [
      -      "480p",
      -      "720p",
      -      "768p",
      -      "1080p",
      -      "2k",
      -      "4k"
      -    ],
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / input / properties / constraints / required
      Removed value: -[
      -  "aspectRatio",
      -  "durationSeconds",
      -  "language",
      -  "exactLines",
      -  "productionNotes"
      -]
    • removedInput schema / properties / input / properties / constraints / type
      Removed value: -"object"
    • addedInput schema / properties / input / properties / mode / $ref
      Added value: +"#/definitions/s5"
    • removedInput schema / properties / input / properties / mode / description
      Removed value: -"\"advanced\" keeps an explicit modelId; when no model is named, either mode uses automatic selection."
    • removedInput schema / properties / input / properties / mode / enum
      Removed value: -[
      -  "easy",
      -  "advanced"
      -]
    • removedInput schema / properties / input / properties / mode / type
      Removed value: -"string"
    • addedInput schema / properties / input / properties / modelId / $ref
      Added value: +"#/definitions/s4"
    • removedInput schema / properties / input / properties / modelId / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "wan3prime",
      -      "seedance25",
      -      "minimaxh3max",
      -      "kling3",
      -      "kling3pro",
      -      "veo31fast",
      -      "veo31",
      -      "veo31lite",
      -      "veo31lite720"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / input / properties / modelId / default
      Removed value: -null
    • removedInput schema / properties / input / properties / modelId / description
      Removed value: -"A supported video model to preserve, or null/omitted for automatic model selection."
    • addedInput schema / properties / input / properties / source / $ref
      Added value: +"#/definitions/s6"
    • removedInput schema / properties / input / properties / source / const
      Removed value: -"manual"
    • removedInput schema / properties / input / properties / source / description
      Removed value: -"Always \"manual\" here. Autopilot is a server-owned source and is not importable by a host."
    • removedInput schema / properties / input / properties / source / type
      Removed value: -"string"
    • addedInput schema / properties / input / properties / template / $ref
      Added value: +"#/definitions/s2"
    • removedInput schema / properties / input / properties / template / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "tileId": {
      -        "description": "The chosen look’s tile id, exactly as the catalogue spells it.",
      -        "maxLength": 120,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "tileVersion": {
      -        "description": "The tile version that id was chosen at.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "tileId",
      -      "tileVersion"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / input / properties / template / description
      Removed value: -"The owner-facing look to plan against. Null or omitted means no template."
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Without input: guides per page (default 100, at most 200).",
      +  "maximum": 200,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Without input: index of the first guide to list (default 0). Use the returned nextOffset for the next page.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / selectedInput / properties / brand / $ref
      Added value: +"#/definitions/s3"
    • removedInput schema / properties / selectedInput / properties / brand / additionalProperties
      Removed value: -false
    • removedInput schema / properties / selectedInput / properties / brand / description
      Removed value: -"Read the connected brand with soclo_brand_get and carry it here; do not invent brand facts."
    • removedInput schema / properties / selectedInput / properties / brand / properties
      Removed value: -{
      -  "enabled": {
      -    "type": "boolean"
      -  },
      -  "facts": {
      -    "description": "Brand facts the plan may rely on. Empty is allowed.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "name": {
      -    "type": "string"
      -  },
      -  "visualDirection": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / selectedInput / properties / brand / required
      Removed value: -[
      -  "enabled",
      -  "name",
      -  "facts",
      -  "visualDirection"
      -]
    • removedInput schema / properties / selectedInput / properties / brand / type
      Removed value: -"object"
    • addedInput schema / properties / selectedInput / properties / constraints / $ref
      Added value: +"#/definitions/s1"
    • removedInput schema / properties / selectedInput / properties / constraints / additionalProperties
      Removed value: -false
    • removedInput schema / properties / selectedInput / properties / constraints / properties
      Removed value: -{
      -  "aspectRatio": {
      -    "description": "For example \"9:16\" or \"1:1\".",
      -    "type": "string"
      -  },
      -  "durationMode": {
      -    "description": "\"target\" requires a positive durationSeconds. Omitted keeps historical exact semantics.",
      -    "enum": [
      -      "target",
      -      "exact"
      -    ],
      -    "type": "string"
      -  },
      -  "durationSeconds": {
      -    "description": "Positive seconds, or null for no fixed length.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "exactLines": {
      -    "description": "Lines that must appear word-for-word in the spoken dialogue.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "language": {
      -    "type": "string"
      -  },
      -  "productionNotes": {
      -    "type": "string"
      -  },
      -  "resolution": {
      -    "description": "Leave unset to use the chosen model’s default resolution.",
      -    "enum": [
      -      "480p",
      -      "720p",
      -      "768p",
      -      "1080p",
      -      "2k",
      -      "4k"
      -    ],
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / selectedInput / properties / constraints / required
      Removed value: -[
      -  "aspectRatio",
      -  "durationSeconds",
      -  "language",
      -  "exactLines",
      -  "productionNotes"
      -]
    • removedInput schema / properties / selectedInput / properties / constraints / type
      Removed value: -"object"
    • addedInput schema / properties / selectedInput / properties / mode / $ref
      Added value: +"#/definitions/s5"
    • removedInput schema / properties / selectedInput / properties / mode / description
      Removed value: -"\"advanced\" keeps an explicit modelId; when no model is named, either mode uses automatic selection."
    • removedInput schema / properties / selectedInput / properties / mode / enum
      Removed value: -[
      -  "easy",
      -  "advanced"
      -]
    • removedInput schema / properties / selectedInput / properties / mode / type
      Removed value: -"string"
    • addedInput schema / properties / selectedInput / properties / modelId / $ref
      Added value: +"#/definitions/s4"
    • removedInput schema / properties / selectedInput / properties / modelId / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "wan3prime",
      -      "seedance25",
      -      "minimaxh3max",
      -      "kling3",
      -      "kling3pro",
      -      "veo31fast",
      -      "veo31",
      -      "veo31lite",
      -      "veo31lite720"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / selectedInput / properties / modelId / default
      Removed value: -null
    • removedInput schema / properties / selectedInput / properties / modelId / description
      Removed value: -"A supported video model to preserve, or null/omitted for automatic model selection."
    • addedInput schema / properties / selectedInput / properties / source / $ref
      Added value: +"#/definitions/s6"
    • removedInput schema / properties / selectedInput / properties / source / const
      Removed value: -"manual"
    • removedInput schema / properties / selectedInput / properties / source / description
      Removed value: -"Always \"manual\" here. Autopilot is a server-owned source and is not importable by a host."
    • removedInput schema / properties / selectedInput / properties / source / type
      Removed value: -"string"
    • addedInput schema / properties / selectedInput / properties / template / $ref
      Added value: +"#/definitions/s2"
    • removedInput schema / properties / selectedInput / properties / template / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "tileId": {
      -        "description": "The chosen look’s tile id, exactly as the catalogue spells it.",
      -        "maxLength": 120,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "tileVersion": {
      -        "description": "The tile version that id was chosen at.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "tileId",
      -      "tileVersion"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / selectedInput / properties / template / description
      Removed value: -"The owner-facing look to plan against. Null or omitted means no template."
  4. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly and idempotent, so the safety bar is low. The description still adds real behavior: no customer credits spent, paged responses with total and nextOffset (null on last page), and that input/selectedInput with clientRequestId returns the identical planning packet as prepare. That's meaningful beyond the annotations.

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?

Four sentences, front-loaded with the primary no-input listing behavior, then the follow-up, then the alternate packet mode, then the cost note. No filler. Language is dense with internal terms but each sentence does work.

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

Completeness4/5

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

For a nested-object, 7-param, no-output-schema tool, the description covers the two calling modes, the pagination contract, the follow-up workflow, and the cost profile. An agent can invoke it correctly. The remaining gap is the role of format/catalogueVersion, which is minor for choosing the call.

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

Parameters3/5

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

Schema coverage is 43% with 7 params including heavy nested objects. The description explains the input/selectedInput dual path and implies limit/offset paging, and the limit/offset schema descriptions themselves are good. But format, catalogueVersion, and modelId semantics are not addressed in the description, so it only partly compensates for the coverage gap.

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

Purpose4/5

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

The description states a specific verb and resource (list certified whole-guide identities) and distinguishes the two modes: the plain paged listing versus the planning-packet mode from cached hosts. 'Whole-guide identities' is jargon but usable, and it clearly separates this from soclo_host_plan_get_guide, which it names as the follow-up.

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

Usage Guidelines4/5

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

It says to read each selected full guide with soclo_host_plan_get_guide before authoring, and it names soclo_host_plan_prepare as the equivalent return path for cached hosts. That covers when-to-use and the main alternative. There's no explicit when-not, but the routing is actionable.

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