Skip to main content
Glama

Re:port Flow MCP

npm version License: MIT

官方显示名称:Re:port Flow MCP。包和实现标识符:reportflow-mcp。旧版搜索别名:ReportFlow MCP Server 和 ReportFlow。

概述

一个 MCP(模型上下文协议)服务器,可将您的 Re:port Flow 模板转换为 PDF 报告 — 发票、合同、对账单,以及您设计的任何内容 — 直接通过 Claude 或任何其他兼容 MCP 的 AI 智能体生成。

Related MCP server: PDF Tools AI MCP

功能

  • 根据自然语言请求生成 PDF,例如 "为 Acme Corp 创建一张总计 300 美元的发票"

  • 将您的 Re:port Flow 设计和其参数模式直接作为 MCP 资源 暴露给 AI

  • 批量生成多个 PDF 并作为单个 ZIP 下载

  • 将输出保存到用户当前所在的任何工作区文件夹(支持 Claude Desktop / Claude Code / Cursor / VS Code)

设置

Re:port Flow MCP 以两种方式运行 — 选择适合您客户端的一种。

远程服务器(claude.ai / Web 客户端)— Streamable HTTP

将 Re:port Flow 添加为指向托管端点的自定义连接器:

https://mcp.re-port-flow.com/mcp

在 Claude (claude.ai) 中,转至 设置 → 连接器 → 添加自定义连接器,然后粘贴上面的 URL。身份验证通过应用内 OAuth 处理(请参阅 身份验证)— 无需在本地安装任何内容。

本地服务器(Claude Desktop / Claude Code / Cursor)— 通过 npx 使用 stdio

将以下内容添加到您的配置文件中(.mcp.json、claude_desktop_config.json、~/.cursor/mcp.json 等):

{
  "mcpServers": {
    "reportflow": {
      "command": "npx",
      "args": ["-y", "reportflow-mcp"]
    }
  }
}

这就是全部设置。无需管理环境变量、API 密钥或机密。

VS Code(支持 MCP 的版本)

在 .vscode/mcp.json 中使用相同的 JSON。

要求

  • 远程:支持自定义 HTTP 连接器的 MCP 客户端(例如 claude.ai)。无需本地安装。

  • 本地 (stdio):Node.js 22+(由 npx 自动获取),并且首次登录期间需要有可用的浏览器。

  • 一个 Re:port Flow 帐户(无论哪种方式)。

支持的协议修订版本

两种传输方式(stdio / Streamable HTTP)均从单个端点提供两代 MCP 协议:

  • 2026-07-28(当前)— 无状态的按请求协议。现代客户端通过 server/discover 发现它;没有会话标头,请求在 _meta 中携带其协议版本。

  • 2025 时代的修订版(2025-11-25、2025-06-18、2025-03-26、2024-11-05、2024-10-07)— 经典的 initialize 握手,保留用于与现有客户端(Claude Desktop、claude.ai 自定义连接器、Cursor、ChatGPT、n8n 等)向后兼容。

版本选择在两种传输方式上都是自动的:现代客户端使用 server/discover 探测,旧客户端继续发送 initialize — 双方均无需配置,现有连接将保持不变地继续工作。

身份验证

远程(claude.ai)

当您添加连接器时,Claude 会为您运行 OAuth 流程:登录 → 选择工作区 → 同意。令牌由客户端持有 — 无需管理本地钥匙串或浏览器步骤。

本地 (stdio)

重新加载 MCP 客户端后,向 AI 发出请求:

使用 Re:port Flow 进行身份验证

浏览器窗口将打开。登录 → 选择工作区 → 同意,然后就可以了。令牌存储在您的操作系统钥匙串中(macOS 钥匙串 / Windows 凭据管理器 / Linux libsecret),并提供 chmod-0600 文件回退,并且会自动刷新。

使用示例

下面的每个示例都是您可以原样粘贴的提示;AI 会选择正确的工具。

1. 生成单个 PDF(列表 → 模式 → 生成)

使用发票模板,为 Acme Corp 创建一份总计 330 美元的 PDF。

AI 使用 list_templates 列出设计,使用 get_design_parameters 获取参数模式,填写数值,并调用 generate_pdf_sync。

  • 远程:返回下载 URL(fileUrl)。

  • 本地:还会保存文件并返回其绝对路径。

2. 批量生成多个 PDF

从对账单模板中,为每位客户生成一份 PDF (Acme 100 美元、Globex 250 美元、Initech 80 美元),然后将它们一起给我。

  • 本地 (stdio):generate_pdfs_sync 将单个 ZIP 写入您的工作区。

  • 远程:generate_pdfs_async 运行批次并返回请求 ID 以及下载 URL。

3. 异步生成,然后下载(本地)

在后台启动合同 PDF,然后在其就绪后下载。

AI 调用 generate_pdf_async(立即返回 requestId),然后调用 download_file 保存完成的 PDF。批次对应的是 generate_pdfs_async → download_zip。这些下载工具仅适用于 stdio;在远程服务器上,同步/异步工具已经返回 fileUrl。

提示 — 自然语言参数: 在支持 Sampling 的客户端上,您可以要求 "为开给 A社 的 1,000 美元发票草拟参数",AI 将调用 suggest_params,在生成之前将简要说明转换为有效的 params 对象。

4. 从零模板开始(模板库 → 复制 → 生成)

我还没有任何模板 — 为 Acme Corp 创建一张发票 PDF。

当 list_templates 为空时,AI 使用 search_gallery_templates 搜索公共模板库,向您展示候选模板,使用 copy_gallery_template 将您选择的模板复制到您的工作区,然后继续正常流程(get_design_parameters → generate_pdf_sync)。复制的内容始终会放入您在 OAuth 同意屏幕上选择的工作区 — AI 无法定位到任何其他工作区。

斜杠命令

命令

用途

/generate_pdf

单个 PDF 的分步指南

/generate_pdfs

批量 PDF 生成指南

/reportflow_help

快速功能导览

文件保存位置(本地模式)

输出位置按以下顺序解析:

  1. 用户的明确指示(例如 "保存到我的桌面")

  2. 当前打开的工作区根目录(Claude Code / Cursor / VS Code)

  3. 作为备用的操作系统临时目录

参考

工具(由 AI 调用)

工具

用途

authenticate

首次 / 重新认证

list_templates

列出可用设计

get_design_parameters

获取设计的参数模式

generate_pdf_sync / _async

生成一个 PDF(同步返回路径;异步返回请求 ID)

generate_pdfs_sync / _async

生成多个 PDF(返回 ZIP 文件)

download_file / download_zip

下载异步工具生成的文件

suggest_params

通过 MCP Sampling 将自然语言简报转换为 params JSON(需要支持 Sampling 的客户端)

search / fetch

ChatGPT 连接器约定工具(单个字符串参数),封闭世界(openWorldHint: false)——它们只读取你自己工作区内部的模板目录,绝不访问网络。search 按名称解析模板;fetch 按 id 返回模板的参数模式。它们是 list_templates / get_design_parameters 的轻量封装,使 ChatGPT(包括未开启开发者模式的 Plus/Pro)能够发现和检视模板。

search_gallery_templates

按关键词/类别搜索公共模板库(无需认证)。返回尚不在你工作区中的候选模板——在复制之前,它们的 slug 不能用于 PDF 生成。

get_gallery_template

按 slug 获取一个公共模板库模板的完整详情(无需认证)

copy_gallery_template

写入工具。 将公共模板库中的模板复制到你已授权的工作区(目标工作区由你的访问令牌固定,不能作为参数传递)。返回 designId + version,可直接用于 get_design_parameters / generate_pdf_sync。每次调用都会创建新设计——绝不会重复使用之前的副本。

资源(可作为 AI 上下文附加)

URI

内容

reportflow://designs

可用设计列表

reportflow://designs/{designId}/parameters

单个设计的参数模式

reportflow://errors

内容服务错误消息目录

reportflow://server-info

服务器功能概览

提示词(斜杠命令配方卡)

/generate_pdf、/generate_pdfs、/reportflow_help — 传递参数后,AI 会遵循预定的工作流程。

故障排除

症状

修复

包含 re-authentication required 的错误

询问 AI:"使用 Re:port Flow 重新认证"

npx 找不到包

运行 npm cache clean --force 然后重试

Linux 上无可用钥匙串

自动回退到 $XDG_STATE_HOME/reportflow-mcp/ 下的 chmod-0600 文件

浏览器无法通过 SSH / 远程 shell 打开

在本地机器上认证一次;之后缓存的令牌可在远程主机上使用

隐私

Re:port Flow MCP 是一个轻量客户端:它将你的请求转发到你自己的 Re:port Flow 账户,并返回生成的 PDF。它不会向第三方出售或共享你的数据。认证令牌存储在本地(操作系统钥匙串,或 chmod-0600 文件的回退方案),并且只发送给 Re:port Flow 自己的服务——在 OAuth 登录期间,以及作为每次认证 API 调用(列出模板、生成或下载 PDF)的 Bearer 凭据。它们绝不会与任何第三方共享。

有关完整隐私政策——收集哪些信息、保留多长时间以及如何处理——请参阅:lp.re-port-flow.com

安全性

托管端点根据 MCP Streamable HTTP 规范的安全要求验证 Host 头(DNS 重新绑定保护),并以 403 Forbidden 拒绝结构无效的 Origin 头。认证仅使用 Bearer 令牌——不使用 Cookie,并且 CORS 从不允许凭据。完整策略及其威胁模型记录在 docs/security.md(日语)中。

支持

需要帮助、发现 Bug,或对目录审查有疑问?

许可证

MIT — 参见 LICENSE。

链接

Available Tools

10 tools
authenticateAInspect

ReportFlow への OAuth2 認証を行います。ブラウザが起動し、ログイン・ワークスペース選択・consent を経てトークンを keychain (または XDG file) に保存します。他のツールが認証エラーを返したら、まずこのツールを呼んでください。force=true で既存トークンを破棄して再認証します。

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo既存トークンを破棄して再認証する場合 true

TDQS

A4.7/5.0
Behavior5/5

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

Describes the full authentication flow (browser launch, login, workspace selection, consent, token storage) and aligns with annotations (destructiveHint=false, openWorldHint=true). Adds valuable behavioral context beyond annotations.

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?

Two concise sentences front-loading the main action, with no wasted words. Efficiently structured.

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 simple one-parameter tool with no output schema, the description fully covers the authentication process, usage context, and parameter behavior. Complete and sufficient.

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 description coverage is 100%, and the description's mention of force parameter essentially paraphrases the schema's description. Minimal additional value beyond what schema provides.

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?

Description clearly states the tool performs OAuth2 authentication to ReportFlow, including browser launch, token storage, and distinct action from siblings which handle downloads and PDF generation.

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?

Explicitly instructs to call this tool first when other tools return authentication errors, and explains when to use force=true for re-authentication. Provides clear context for usage.

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

download_fileA
Idempotent
Inspect

generate_pdf_asyncで生成した単一PDFファイルをダウンロードします。requestIdとfileIdを指定し、ローカルファイルパスを返します。outputDir を指定するとそのディレクトリに、未指定の場合は現在の作業ディレクトリに保存します。

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesgenerate_pdf_asyncで返されたrequestId(UUID)
fileIdYesgenerate_pdf_asyncのfiles[].fileId
fileNameNo保存ファイル名(省略時はfileId.pdf)
outputDirNo出力先ディレクトリ (相対/絶対)。未指定時はクライアントのワークスペース (Roots) または現在の作業ディレクトリに保存。ユーザーが場所を指定した場合のみセットすること。

TDQS

A4.6/5.0
Behavior4/5

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

The description discloses that files are saved locally, returns the file path, and handles directory selection. Annotations already indicate idempotency, and the description adds context about default behavior. No contradictions.

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?

Two sentences, front-loaded with the action, no extraneous information. Efficient and complete.

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?

The description covers the prerequisite, parameters, output, and directory behavior. No output schema needed; the return value is explained. Complete given the tool's complexity.

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 coverage is 100%, but the description adds value by explaining the default directory behavior (current working directory) not present in schema. All 4 parameters are well-covered.

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 clearly states the tool downloads a single PDF file generated by generate_pdf_async, specifying the required parameters and return value. It distinguishes from the sibling download_zip.

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 explains that this tool is used after generate_pdf_async and describes the optional outputDir. It does not explicitly exclude cases where download_zip might be preferred, but provides clear context.

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

download_zipA
Idempotent
Inspect

generate_pdfs_asyncで生成したZIPファイルをダウンロードします。requestIdを指定し、ローカルのZIPファイルパスを返します。outputDir を指定するとそのディレクトリに、未指定の場合は現在の作業ディレクトリに保存します。

ParametersJSON Schema
NameRequiredDescriptionDefault
requestIdYesgenerate_pdfs_asyncで返されたrequestId(UUID)
fileNameNo保存ファイル名(省略時はrequestId.zip)
outputDirNo出力先ディレクトリ (相対/絶対)。未指定時はクライアントのワークスペース (Roots) または現在の作業ディレクトリに保存。ユーザーが場所を指定した場合のみセットすること。

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true and non-destructive nature. The description adds that it saves to a directory and returns a local path, which is useful but not extensive. No contradictions.

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?

Two sentences, front-loaded with the action, no unnecessary words. Every sentence adds value.

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 simple download tool, the description covers how to use it, what to specify, and what it returns. No output schema, but the return is implied. Could mention that it overwrites existing files, but not essential.

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 context beyond schema: it explains the behavior of outputDir (saves to current directory if unspecified). This adds value, though fileName is not mentioned.

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 clearly states the tool downloads a ZIP file generated by generate_pdfs_async, specifies requestId, and returns a local path. This distinguishes it from siblings like download_file.

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 ties the tool to a specific prior tool (generate_pdfs_async), giving clear context. However, it does not explicitly mention when not to use or list alternatives beyond that association.

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

generate_pdf_asyncAInspect

デザインIDとパラメータを指定してPDFを非同期生成します。即座にrequestIdとfiles情報を返します。ファイルのダウンロードはdownload_fileツールを使用してください。

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

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionYesデザインバージョン番号
contentYesPDF生成コンテンツ

TDQS

A4.1/5.0
Behavior3/5

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

Annotations are minimal (readOnlyHint false, etc.). Description adds that it's async and returns immediately, but lacks details on side effects, idempotency, or error behavior.

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?

Two efficient paragraphs: first states purpose, second gives critical usage guidelines. No redundancy, front-loaded with key info.

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

Completeness3/5

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

Returns requestId and files info are mentioned but not detailed. No output schema, so description could elaborate further on response format or error handling. Links to download_file and get_design_parameters partially compensates.

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 covers all parameters with detailed descriptions. Description adds crucial guidance to check parameter structure with get_design_parameters, adding value beyond schema.

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?

Description clearly states the tool asynchronously generates PDF with design ID and parameters, returns requestId and files info, and distinguishes from sibling tools like download_file and synchronous variants.

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?

Provides explicit pre-conditions: must call get_design_parameters, ask user for missing values, avoid placeholder values. Does not mention alternative generation tools (synchronous, batch) that could be compared.

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

generate_pdfs_asyncAInspect

複数のパラメータセットでPDFを一括非同期生成します。即座にrequestIdとfiles情報を返します。ZIPダウンロードはdownload_zipツールを使用してください。

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

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionYesデザインバージョン番号
contentsYesPDF生成コンテンツの配列(複数ファイル)

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds behavioral context: 'Immediately returns requestId and files information,' clarifying the async nature and immediate response. It does not contradict annotations.

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 concise, front-loaded with the primary function, and contains no unnecessary words. The important warning section is separate and clearly marked. Every sentence adds value.

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?

Given the tool's complexity (multiple PDFs async), the description covers key aspects: async behavior, immediate return, prerequisite steps, and referral to another tool for ZIP. It lacks detail on the response structure beyond 'requestId and files information,' but this is adequate given no output schema. Annotations and schema fill remaining gaps.

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%, so baseline is 3. The description adds value beyond the schema by explaining that the 'params' field should be structured based on get_design_parameters, and it highlights the required 'fileName' and 'params' fields. This guidance is crucial for correct parameter usage.

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 clearly states the tool's purpose: 'Generates multiple PDFs asynchronously with multiple parameter sets.' It specifies the verb 'generate', the resource 'multiple PDFs', and the asynchronous mode. It also distinguishes from siblings by explicitly mentioning the download_zip tool for ZIP downloads and implying sync versions exist.

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?

The description provides explicit usage guidelines: before calling, use get_design_parameters to check required parameters, ask the user for missing values, and never generate placeholders. It also directs the user to download_zip for ZIP downloads, offering clear when-to-use versus alternative tools.

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

generate_pdfs_syncAInspect

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

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

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

TDQS

A4.4/5.0
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.

generate_pdf_syncAInspect

デザインIDとパラメータを指定してPDFを生成します。応答にダウンロード URL が含まれるため、本ツール 1 回の呼び出しで結果提示が完結します (別途ダウンロード用ツールを呼ぶ必要はありません)。

  • stdio モード (Claude Desktop / Code): ローカルに保存し絶対パスも返します。outputDir で保存先を指定できます (未指定時はクライアントのワークスペース Roots または OS 一時ディレクトリ)。

  • HTTP モード (claude.ai / n8n 等): サーバー側には保存しません。includePreview=true を指定すると inline preview 用のバイナリも併せて返します (claude.ai が PDF preview をサポートしていない現状ではデフォルト false 推奨)。

【重要】呼び出し前に必ず get_design_parameters でデザインの必要パラメータ構造を確認し、ユーザーから必要な値を聞き出すこと。プレースホルダー値・架空の値を勝手に生成しないこと。

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionYesデザインバージョン番号
contentYesPDF生成コンテンツ
outputDirNo出力先ディレクトリ (相対/絶対)。未指定時はクライアントのワークスペース (Roots) または現在の作業ディレクトリに保存。ユーザーが場所を指定した場合のみセットすること。
includePreviewNotrue 指定時のみ EmbeddedResource (application/pdf, base64 blob) を応答に含める。claude.ai は現状 PDF resource を inline 表示しないため、通常は省略 (false) で fileUrl のみを利用するのが効率的。

TDQS

A4.8/5.0
Behavior5/5

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

Description adds significant behavioral context beyond annotations: synchronous generation, download URL in response, local save for stdio, no server save for HTTP, optional inline preview. No contradictions with annotations (readOnlyHint=false, destructiveHint=false).

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?

Well-structured with bullet points for modes and warnings. Front-loaded key info. Slightly verbose but each part adds value. Could be marginally shorter but still effective.

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?

Covers all aspects: pre-condition (check parameters), post-condition (download URL, local save), mode-specific details, parameter constraints. No output schema, but response description is sufficient. Comprehensive for a complex tool with nested object.

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 description adds critical context: outputDir default behavior, includePreview only when needed, params must come from get_design_parameters, shareType codes mapping. Enhances understanding beyond schema.

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 clearly states the tool generates a PDF synchronously with a download URL. It distinguishes from async siblings and download tools, and explains mode-specific behavior (stdio vs HTTP). The purpose is unambiguous.

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?

Explicitly instructs to call get_design_parameters first, ask user for values, and avoid placeholder/fake data. Also provides when to use includePreview and outputDir. Differentiates from async tools and download tools.

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

get_design_parametersA
Read-onlyIdempotent
Inspect

デザインテンプレートのパラメータ構造を取得します。帳票生成に必要なパラメータの型・構造を確認できます。

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionNoバージョン番号(省略時は最新版)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint, so the description adds context about what specific information is retrieved (types/structures). No additional behavioral traits beyond annotations.

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?

Two concise sentences with front-loaded key information. No extraneous words.

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 simple read-only tool with two parameters and comprehensive annotations, the description fully covers necessary context. No output schema needed as return is straightforward.

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 100% with clear descriptions for both parameters. Description does not add meaning beyond what the schema provides, so baseline of 3 is appropriate.

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?

Description clearly states the tool retrieves parameter structure of design templates. It specifically uses verb 'get' and resource 'design template parameters', distinguishing it from sibling tools like generate_pdf_* or list_templates.

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

Usage Guidelines3/5

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

Implies usage for inspecting parameter structure before form generation, but does not explicitly state when to use or alternatives. No exclusions or when-not-to-use guidance.

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

list_templatesA
Read-onlyIdempotent
Inspect

ワークスペース内のデザイン一覧を取得します。各デザインのID・名称・最新バージョン・サムネイルURLを返します。取得したidをdesignIdとしてPDF生成ツールやget_design_parametersに使用します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint true, indicating safe, idempotent behavior. The description adds value by specifying the exact return fields (ID, name, version, thumbnail URL) and the purpose of the output, which is not covered by annotations.

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?

Description is extremely concise: two sentences, no filler. First sentence states the core function and output, second sentence provides usage guidance. Perfectly front-loaded and efficient.

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 no parameters and no output schema, the description fully covers what the tool does, what it returns, and how to use the result. No missing information for an agent to correctly invoke and utilize the tool.

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?

Tool has zero parameters, so schema coverage is 100%. Baseline score of 4 applies as the description does not need to add parameter information.

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?

Description clearly states the tool retrieves a list of designs in the workspace and specifies the returned fields (ID, name, version, thumbnail URL). It also explains how to use the IDs with downstream tools, differentiating its purpose from 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?

Description explains that the obtained ID should be used as designId for PDF generation and get_design_parameters. It provides clear context for when to use the tool, though it does not explicitly list when not to use it or mention alternatives.

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

suggest_paramsA
Read-only
Inspect

自然文の要件と designId からクライアント AI(Sampling)を使って generate_pdf_sync の params JSON を組み立てます。サーバー側 API キー不要。Sampling 未対応クライアントでは利用不可です。生成された params は内容確認のうえユーザーの承認を得てから generate_pdf_sync に渡してください。

ParametersJSON Schema
NameRequiredDescriptionDefault
designIdYesデザインID(UUID形式)
versionNoバージョン番号(省略時は最新版)
descriptionYes帳票の内容を自然文で記述(例: "請求書、宛先A社、合計1万円")

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true. The description adds context about client-side AI (Sampling), no server API key needed, and the need for user approval, enhancing transparency beyond 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?

The description is a single paragraph that conveys essential information efficiently, though it could be slightly more structured for easier parsing.

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?

Given no output schema, the description explains the output purpose. It covers prerequisites (Sampling), workflow (user approval), and usage context, making it fairly complete for a utility tool.

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 covers all parameters with descriptions. The description does not add significant new semantics beyond implying description is natural language, so baseline score applies.

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 clearly states the tool assembles params JSON for generate_pdf_sync using natural language and designId via Sampling. It distinguishes from sibling tools like generate_pdf_sync and is specific about its role.

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?

The description explicitly states it is not usable on clients without Sampling support and instructs to get user approval before passing to generate_pdf_sync, providing clear usage context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.1.0
    • First observedauthenticate
    • First observeddownload_file
    • First observeddownload_zip
    • First observedgenerate_pdf_async
    • First observedgenerate_pdf_sync
    • First observedgenerate_pdfs_async
    • First observedgenerate_pdfs_sync
    • First observedget_design_parameters
    • First observedlist_templates
    • First observedsuggest_params

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool has a clear, distinct purpose. Authentication is separate, sync vs async generators are clearly labeled, download tools are paired with async generators, and the helper tools (list_templates, get_design_parameters, suggest_params) are unique. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case. Variations like generate_pdf_async vs generate_pdf_sync are systematic and predictable, making it easy to understand the tool's function from its name.

Tool Count5/5

10 tools is an ideal size for this domain. It covers authentication, template exploration, parameter retrieval, PDF generation (sync/async, single/batch), downloading results, and smart param suggestion—all essential without unnecessary bloat.

Completeness5/5

The tool set provides a complete workflow for generating PDFs from templates: authenticate, list templates, get parameters, generate (sync or async, single or batch), and download. The inclusion of suggest_params adds convenience. No obvious gaps for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers