Re:port Flow MCP

io.github.re-port-flow由 GitHub 帳號 re-port-flow 發布v1.4.0更新於 Oct 24, 2026

Generate PDF reports from Re:port Flow templates via Claude and other AI agents.

發布方自己的服務:Port

已驗證Streamable HTTP可網頁執行效率與工作流檔案與儲存

概覽

AI 產生的概覽

把 Re:port Flow 範本變成 PDF 報告(發票、合約、對帳單),可在支援 MCP 的 AI 用戶端以自然語言觸發。

可以做什麼
  • 列出工作區設計並取得某個設計的參數結構,再產生單一 PDF 或批次產生並打包成 ZIP
  • 查詢非同步產生狀態,並下載完成的檔案或 ZIP(僅本機 stdio 模式)
  • 透過 MCP Sampling 把自然語言需求轉成參數值
  • 不需登入即可搜尋公開範本庫並查看範本詳細資料
  • 把範本庫中的範本複製到已授權的工作區,使其可用於產生 PDF
  • 以資源形式提供設計清單、參數結構、錯誤目錄與伺服器資訊,並提供斜線命令流程
適用情境
適合已在 Re:port Flow 設計好文件、希望助理依需求產生發票、合約或對帳單(包含依客戶清單批次產生)而不必離開聊天用戶端的情境。
執行需求
需要一個 Re:port Flow 帳號。遠端方式:支援自訂 HTTP 連接器的 MCP 用戶端,指向託管端點,並透過 OAuth 登入與選擇工作區。本機方式:透過 npx 使用 Node.js 22.x 系列 22.23.4 或更新版本,首次登入需要瀏覽器。選用環境變數可覆寫 API 基礎位址、驗證位址、OAuth 用戶端 ID 與權杖儲存方式。
安裝前請注意
每次工具呼叫都需要 OAuth 流程簽發的 Bearer 權杖,權杖存放於系統鑰匙圈或權限為 0600 的檔案。複製範本庫範本屬於寫入操作且不具冪等性,每次呼叫都會在權杖綁定的工作區建立新設計。產生的文件可能包含業務資料,passthrough 值會寫入 PDF 中繼資料。遠端同步產生超過 60 秒會逾時。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Re:port Flow MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.re-port-flow%2Freportflow-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "re-port-flow": {
      "type": "http",
      "url": "https://mcp.re-port-flow.com/mcp"
    }
  }
}

README

Re:port Flow MCP

[npm version] [License: MIT]

Official display name: Re:port Flow MCP. Package and implementation identifier: reportflow-mcp. Legacy search aliases: ReportFlow MCP Server and ReportFlow.

Overview

An MCP (Model Context Protocol) server that turns your Re:port Flow templates into PDF reports — invoices, contracts, statements, anything you've designed — straight from Claude or any other MCP-compatible AI agent.

Features

  • Generate PDFs from natural-language requests like "create an invoice for Acme Corp totalling $300"
  • Expose your Re:port Flow designs and their parameter schemas directly to the AI as MCP Resources
  • Bulk-generate many PDFs and download them as a single ZIP
  • Save outputs to whichever workspace folder the user is currently in (Claude Desktop / Claude Code / Cursor / VS Code all supported)

Agent Skill

Agents that should follow a procedure (not just read the protocol) use skills/re-port-flow/SKILL.md. Copy that directory into Claude Code / Codex .agents/skills or a Cursor project skill folder. PDF generation always goes to https://mcp.re-port-flow.com/mcp. The Hugging Face Space MCP (org card) is gallery-only — add it from the Space MCP badge → Add to MCP tools, not as a substitute for the product endpoint.

Setup

Re:port Flow MCP runs in two ways — pick whichever matches your client.

Remote server (claude.ai / web clients) — Streamable HTTP

Add Re:port Flow as a custom connector pointing at the hosted endpoint:

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

In Claude (claude.ai) go to Settings → Connectors → Add custom connector and paste the URL above. Authentication is handled in-app via OAuth (see Authentication) — nothing to install locally.

Local server (Claude Desktop / Claude Code / Cursor) — stdio via npx

Add the following to your config file (.mcp.json, claude_desktop_config.json, ~/.cursor/mcp.json, etc.):

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

That's the whole setup. No env vars, no API keys, no secrets to manage.

VS Code (MCP-enabled builds)

Same JSON in .vscode/mcp.json.

Requirements

  • Remote: an MCP client that supports custom HTTP connectors (e.g. claude.ai). No local install.
  • Local (stdio): Node.js 22.23.4 or later in the 22.x line (engines: ^22.23.4) and a browser available during the first login. Install a patched Node.js separately; npx downloads the MCP package. The minimum patch requirement includes the 2026-10-21 Node.js security fixes.
  • A Re:port Flow account (either way).

Supported protocol revisions

Both transports (stdio / Streamable HTTP) serve two MCP protocol generations from a single endpoint:

  • 2026-07-28 (current) — stateless per-request protocol. Modern clients discover it via server/discover; no session header, requests carry their protocol version in _meta.
  • 2025-era revisions (2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07) — classic initialize handshake, kept for backwards compatibility with existing clients (Claude Desktop, claude.ai custom connectors, Cursor, ChatGPT, n8n, …).

Version selection is automatic on both transports: modern clients probe with server/discover, legacy clients keep sending initialize — no configuration is required on either side, and existing connections keep working unchanged.

Either handshake also returns MCP instructions: a short brief telling the connected AI what Re:port Flow does and how to reach a first PDF (gallery search → copy → parameters → generate), so it can offer to create a document right after you connect instead of waiting to be asked. How closely a client follows those instructions is up to that client.

A2A (Agent2Agent)

The remote server also speaks A2A v1.0 over the JSON-RPC binding:

  • Agent Card: https://mcp.re-port-flow.com/.well-known/agent-card.json
  • Endpoint: POST https://mcp.re-port-flow.com/a2a (SendMessage)

Each A2A skill is one of the MCP tools above (the skill id is the tool name). Send a message with a data part {"skill": "<tool name>", "arguments": {...}}; the arguments follow that tool's input schema, and the call runs through the same authorization and workspace permissions as MCP. Authorize with the same OAuth flow (the MCP access token works as-is). Streaming, push notifications and task retrieval are not supported: every SendMessage returns a finished task.

Authentication

Remote (claude.ai)

When you add the connector, Claude runs the OAuth flow for you: Sign in → pick a workspace → consent. Tokens are held by the client — there's no local keychain or browser step to manage.

Local (stdio)

After reloading the MCP client, ask the AI:

Authenticate with Re:port Flow

A browser window opens. Sign in → pick a workspace → consent, and you're done. Tokens are stored in your OS keychain (macOS Keychain / Windows Credential Manager / Linux libsecret), with a chmod-0600 file fallback, and are refreshed automatically.

Usage examples

Each example below is a prompt you can paste as-is; the AI picks the right tools.

1. Generate a single PDF (list → schema → generate)

Using the invoice template, create a PDF for Acme Corp totalling $330.

The AI lists designs with list_templates, fetches the parameter schema with get_design_parameters, fills in the values, and calls generate_pdf_sync.

  • Remote: returns fileUrl — the output-history page of the Re:port Flow web app (sign-in required). It is not a direct file download link.
  • Synchronous generation times out after 60 seconds (the API returns 504); use generate_pdfs_async for anything that may take longer.
  • Local: also saves the file and returns its absolute path.

2. Batch-generate many PDFs

From the statement template, generate one PDF per customer (Acme $100, Globex $250, Initech $80) and give them to me together.

  • Local (stdio): generate_pdfs_sync writes a single ZIP to your workspace.
  • Remote: generate_pdfs_async runs the batch and returns a request id plus the output-history page URL (url). get_generation_status tells you when the batch has finished or failed.

3. Async generate, then download (local)

Kick off the contract PDF in the background, then download it once it's ready.

The AI calls generate_pdf_async (returns a requestId immediately), checks progress with get_generation_status, then calls download_file to save the finished PDF. The batch equivalent is generate_pdfs_async → download_zip. If a download is attempted while the file is still being generated, the tool reports FILE_NOT_READY with the number of seconds to wait instead of failing. These download tools are stdio-only; on the remote server the sync/async tools return the output-history page URL instead.

requestId, fileId and designId are short alphanumeric strings (for example 0eUDdgAjNXrrItA2), not UUIDs.

Tip — natural-language params: on a Sampling-capable client you can ask "draft the params for a $1,000 invoice to A社" and the AI will call suggest_params to turn the brief into a valid params object before generating.

4. Start from zero templates (gallery → copy → generate)

I don't have any templates yet — create an invoice PDF for Acme Corp.

When list_templates is empty, the AI searches the public template gallery with search_gallery_templates, shows you the candidates, copies your pick into your workspace with copy_gallery_template, and then proceeds with the normal flow (get_design_parameters → generate_pdf_sync). The copy always lands in the workspace you selected on the OAuth consent screen — the AI cannot target any other workspace.

If the search finds nothing, the result carries a templateSite link to the template gallery site, where you can browse the designs. Share the page URL of the one you like (/templates/{slug}) and the AI copies it by that slug.

Slash commands

CommandPurpose
/generate_pdfStep-by-step recipe for a single PDF
/generate_pdfsRecipe for batch PDF generation
/reportflow_helpQuick feature tour

Where files are saved (local mode)

Output location is resolved in this order:

  1. Explicit instruction from the user (e.g. "save to my Desktop")
  2. The currently-open workspace root (Claude Code / Cursor / VS Code)
  3. The OS temp directory as fallback

Build your own agent

The setup above assumes an MCP client that manages its own connection and login. If you are writing the agent yourself — Hugging Face Agents, a custom tool loop, or raw HTTP — the hosted endpoint is open to you directly:

https://mcp.re-port-flow.com/mcp
  • agents.md — the agent-facing guide: transport details, the ten HTTP tools, the OAuth flow, model selection, and the rules an agent has to follow (never invent business data; copy_gallery_template is not idempotent; passthrough values end up in the PDF's metadata).
  • examples/ — runnable Python, JavaScript and curl clients, plus a script that walks the OAuth flow and prints an access token.

initialize and tools/list work without credentials, so you can discover the toolset before wiring up authentication. Every tools/call needs a Bearer token.

Hugging Face

Re:port Flow is on the Hub at huggingface.co/reportflow. The Hugging Face SDKs have no MCP OAuth flow of their own, so fetch a token once with examples/oauth/get-token.sh and inject it as an Authorization header — see examples/python/hf_mcp_client.py and examples/javascript/hf-mcp-client.mjs.

Reference

Tools (called by the AI)

ToolPurpose
authenticateFirst-time / re-authentication
list_templatesList available designs
get_design_parametersFetch the parameter schema for a design
generate_pdf_sync / _asyncGenerate one PDF (sync returns path; async returns request ID)
generate_pdfs_sync / _asyncGenerate many PDFs (returns a ZIP)
get_generation_statusCheck an async request (requestId): processing / completed / failed, with the failure code and message
download_file / download_zipDownload artifacts produced by async tools (stdio only). Returns FILE_NOT_READY + seconds to wait while the file is still being generated
suggest_paramsTranslate a natural-language brief into a params JSON via MCP Sampling (requires a Sampling-capable client)
search / fetchChatGPT connector convention tools (single string argument), closed-world (openWorldHint: false) — they only read your own workspace's internal template catalog, never the web. search resolves templates by name; fetch returns a template's parameter schema by id. Thin wrappers over list_templates / get_design_parameters so ChatGPT (incl. Plus/Pro without Developer Mode) can discover and inspect templates.
search_gallery_templatesSearch the public template gallery (no auth needed) by keyword/category. Returns candidate templates that are not yet in your workspace — their slug cannot be used for PDF generation until copied.
get_gallery_templateFetch full details of one public gallery template by slug (no auth needed)
copy_gallery_templateWrite tool. Copy a gallery template into the workspace you authorized (the target workspace is fixed by your access token and cannot be passed as an argument). Returns designId + version ready for get_design_parameters / generate_pdf_sync. Each call creates a new design — it never reuses a previous copy.

Resources (attachable as AI context)

URIContents
reportflow://designsList of available designs
reportflow://designs/{designId}/parametersParameter schema for one design
reportflow://errorsCatalog of error messages from the Content Service
reportflow://server-infoServer feature overview

Prompts (slash-command recipe cards)

/generate_pdf, /generate_pdfs, /reportflow_help — pass arguments and the AI follows the prepared workflow.

Troubleshooting

SymptomFix
Error containing re-authentication requiredAsk the AI: "re-authenticate with Re:port Flow"
npx cannot find the packagenpm cache clean --force then retry
No keychain available on LinuxFalls back automatically to a chmod-0600 file under $XDG_STATE_HOME/reportflow-mcp/
Browser cannot open over SSH / remote shellAuthenticate once on a local machine; afterwards the cached token works on remote hosts

Privacy

Re:port Flow MCP is a thin client: it forwards your requests to your own Re:port Flow account and returns the generated PDFs. It does not sell or share your data with third parties. Authentication tokens are stored locally (OS keychain, or a chmod-0600 file fallback) and are sent only to Re:port Flow's own services — during the OAuth login, and as a Bearer credential on each authenticated API call (listing templates, generating or downloading PDFs). They are never shared with any third party.

For the full privacy policy — what is collected, how long it is retained, and how it is handled — see: lp.re-port-flow.com

Security

The hosted endpoint validates the Host header (DNS-rebinding protection) and rejects structurally invalid Origin headers with 403 Forbidden, per the MCP Streamable HTTP specification's Security requirements. Authentication is Bearer-token only — no cookies, and CORS never allows credentials. The full policy and its threat model are documented in docs/security.md (Japanese).

Support

Need help, found a bug, or have a directory-review question?

License

MIT — see LICENSE.

Links

來源:README.md,提交 e106694

工具

2

版本歷史

1
  1. v1.4.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Port 整合