Skip to main content
Glama
ppt-generator
by haandol

prepare_visual_qa_fix

Prepare a visual fix task for a slide with detected issues, returning the prompt, response schema, and screenshot so you can generate a minimal patch JSON.

Instructions

Prepares the fix task for a slide with detected issues. No LLM call.

Returns the fix prompt, response_schema, and images (the screenshot). Generate the minimal visual patch JSON, then call ingest_visual_qa_fix.

Args: project_id: Target project ID (required). slide_index: 1-based slide position. analysis_context: Opaque context returned by ingest_visual_qa_analysis. iteration: Iteration counter matching the capture (default 0).

Returns: JSON with system_prompt, user_prompt, response_schema, images, project_id, slide_index.

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": {
      "project_id": "<project_id>",
      "slide_index": "<slide_index>",
      "analysis_context": "<analysis_context>"
    },
    "name": "prepare_visual_qa_fix"
  }
}

Input Schema

NameRequiredDescriptionDefault
iterationNo
project_idYes
slide_indexYes
analysis_contextYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.8.2
    • addedInput schema / properties / analysis_context
      Added value: +{
      +  "title": "Analysis Context",
      +  "type": "string"
      +}
    • removedInput schema / properties / issues_json
      Removed value: -{
      -  "title": "Issues Json",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "project_id",
      -  "slide_index",
      -  "issues_json"
      -]New value: +[
      +  "project_id",
      +  "slide_index",
      +  "analysis_context"
      +]
  2. First observedv0.7.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key trait that this is a non-LLM prep step ('No LLM call') plus exactly what is returned (fix prompt, response_schema, screenshot images). It does not state whether the call is side-effect-free/idempotent or what happens if the slide has no detected issues.

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

Conciseness5/5

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

Front-loaded one-line purpose, then the next-action instruction, then compact Args/Returns blocks. No filler; the Returns block mildly overlaps the output schema but is short and useful for wiring the follow-up call.

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?

Covers the full prepare→generate→ingest loop, the cross-call dependency on analysis_context, and the return payload, which is sufficient for a 4-parameter tool with an output schema. It omits failure/no-issue behavior, the only meaningful gap.

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 does: it documents all four parameters, adds non-obvious semantics the schema lacks (slide_index is 1-based, analysis_context is opaque and originates from ingest_visual_qa_analysis, iteration must match the capture), and marks which are required.

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 ('Prepares the fix task for a slide with detected issues') and immediately distinguishes itself from its sibling by noting the caller must then call ingest_visual_qa_fix. The prepare/ingest pairing makes its role unambiguous among the many siblings.

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?

Gives the prerequisite chain explicitly ('analysis_context: Opaque context returned by ingest_visual_qa_analysis') and the required next step ('Generate the minimal visual patch JSON, then call ingest_visual_qa_fix'), which is strong workflow guidance. It stops short of stating when NOT to use it, e.g. what to do if no issues are detected.

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