Skip to main content
Glama

generate_pdfs_sync

Synchronously generates a ZIP of PDFs from a design with multiple parameter sets. Use get_design_parameters first to ensure all required parameters are provided by the user.

Instructions

複数のパラメータセットでPDFを一括同期生成し、ZIPファイルとして返します。生成完了後にZIPファイルのローカルパスを返します。outputDir を指定するとそのディレクトリに、未指定の場合はクライアントのワークスペース (Roots) または OS 一時ディレクトリに保存します。zipFileName で出力 ZIP のファイル名を指定可能 (デフォルト download.zip)。

【重要】呼び出し前に必ず get_design_parameters でデザインの必要パラメータ構造を確認し、ユーザーから必要な値を聞き出すこと。ユーザーが指定していないパラメータがある場合は、本ツールを呼ぶ前にユーザーに必ず確認すること。プレースホルダー値・架空の値を勝手に生成しないこと。パラメータが一切提供されていない場合も、まずユーザーに値を尋ねること。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionYesデザインバージョン番号
contentsYesPDF生成コンテンツの配列(複数ファイル)
outputDirNo出力先ディレクトリ (相対/絶対)。未指定時はクライアントのワークスペース (Roots) または現在の作業ディレクトリに保存。ユーザーが場所を指定した場合のみセットすること。
zipFileNameNo出力 ZIP のファイル名 (省略時は download.zip)
Behavior4/5

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

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description details synchronous generation, local path return, output directory logic, and shareType mapping. It also warns about not fabricating parameter values, adding behavioral context.

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?

The description is two paragraphs: first explains functionality and output, second is an important usage note. Every sentence adds value, no redundancy, key information is front-loaded.

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?

The description covers the tool's core purpose, requirements, output, and configuration options. It could mention potential limitations like file size or error handling, but for its complexity it is sufficiently complete.

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 100%, but the description adds value by explaining shareType codes and their response mapping, default output directory behavior, and that 'params' should be obtained via get_design_parameters. This goes beyond the raw schema definitions.

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 explicitly states the tool generates multiple PDFs synchronously from parameter sets and returns a ZIP file. It distinguishes from siblings like generate_pdf_sync (single) and generate_pdfs_async (async) by specifying '一括同期生成' (batch sync generation).

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?

The description provides clear prerequisites: always call get_design_parameters first and ask the user for missing values. It warns against using placeholder values. However, it does not explicitly contrast with async tools or state when NOT to use this tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/re-port-flow/reportflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server