Skip to main content
Glama
ppt-generator
by haandol

prepare_outline

Prepares prompts and a JSON schema for generating a slide outline, normalizing inputs and saving presentation metadata before the client creates outline JSON.

Instructions

Prepares the prompt + JSON schema for the CLIENT to generate a slide outline.

This tool does NOT call an LLM. It normalizes inputs, creates/loads the project, saves the presentation metadata, and returns the system prompt, user prompt, and the JSON schema the outline must conform to. You (the client) then generate the outline JSON that follows response_schema, and pass it to ingest_outline.

Missing non-sensitive presentation conditions may use the defaults below or be inferred from the user's brief. Do not invent presenter identity.

Args: topic: Presentation topic (e.g., "2024 Cloud Computing Trends") purpose: Presentation purpose (empty = general presentation). audience_type: "general" | "technical" | "executive". presentation_minutes: 3~60 min. num_slides: Recommended number of slides (0 = auto-calculate from presentation time). presenter_name: Presenter's name (empty = omit presenter block). presenter_title: Presenter's job title. presenter_org: Presenter's organization. project_id: Project ID (auto-generated if not specified)

Returns: JSON string with: system_prompt, user_prompt, response_schema, project_id.

Next step: Generate the outline JSON matching response_schema, then call ingest_outline(project_id=<project_id>, outline_json=<your JSON>).

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": {
      "topic": "<topic>"
    },
    "name": "prepare_outline"
  }
}

Input Schema

NameRequiredDescriptionDefault
topicYes
purposeNo
num_slidesNo
project_idNo
audience_typeNogeneral
presenter_orgNo
presenter_nameNo
presenter_titleNo
presentation_minutesNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well: it discloses that no LLM is called, that inputs are normalized, that a project is created or loaded, and that presentation metadata is saved. It also states exactly what is returned and what the caller must do next.

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?

The description is well structured and front-loads the critical distinction that the client, not the tool, generates the outline. It is somewhat long, and the Returns section partly duplicates what the output schema should provide, but most content earns its place given the zero schema coverage.

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?

Given a nine-parameter tool with no annotations and no schema descriptions, the definition supplies the workflow, side effects, parameter meanings, return shape, and next step. An agent has everything needed to invoke it correctly in the prepare/ingest pipeline.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it documents all nine parameters in the Args section. It adds meaning beyond the schema with enum-like audience values, presentation-length and slide-count ranges, empty-string behavior, auto-generation notes, and the presenter-identity constraint.

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?

The description states a specific verb and artifact: it prepares the prompt and JSON schema for a slide outline, and explicitly says it does not call an LLM. It also distinguishes the tool from its downstream sibling by naming ingest_outline as the next step.

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 clearly explains the client-side workflow: generate outline JSON matching response_schema, then call ingest_outline with project_id. It also gives guidance on defaults and inference, including the constraint not to invent presenter identity. It does not explicitly contrast with load_outline for existing projects, so it falls short of a full when/when-not/alternatives statement.

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