Každé úložiště akumuluje strukturovaná data, která někdo nakonec potřebuje jako dokument: změny ve vydání, přispěvatelé roku, inventář API, seznam otevřených rizik. Data jsou již ve formátu JSON; chybějícím krokem je formátovaný PDF nebo Word soubor, který zákazník, auditor nebo manažer skutečně otevře. S GroupDocs.Assembly.Mcp běžícím lokálně vedle Claude Code (claude mcp add s dnx GroupDocs.Assembly.Mcp --yes), agent vyplní Word šablonu uloženou v repozitáři z JSON souboru v repozitáři a zapíše PDF, aniž by kdokoli formátoval tabulku:
Vygenerujte PDF poznámek k vydání 4.2.0 z data/release-4.2.0.json pomocí templates/release-notes.docx a certifikát o příspěvku pro každého přispěvatele v data/contributors-2026.json.
Verze krok za krokem s konfigurací a řešením problémů je v dokumentaci: Jak vygenerovat PDF nebo Word zprávu z JSON dat v repozitáři pomocí Claude Code.
Proč nechat kódovacího agenta psát dokument?
Coding agents jsou velmi dobří v produkci dat a poměrně špatní v tvorbě dokumentů. Požádejte je o „poznámky k vydání jako PDF“ a napíšou soubor Markdown, pak skript, který jej převádí, a pak ladí písma skriptu. Při dalším vydání to udělají znovu mírně odlišně. Výstup vypadá jako cokoliv, co výchozí nastavení konverzní knihovny poskytne, ne jako dokumenty, které vaše společnost posílá.
Šablona opraví vzhled a umístí jej pod správu verzí. templates/release-notes.docx je běžný Word soubor s logem, styly nadpisů a tabulkou, plus několik značek <<…>>. Kdo vlastní rozvržení, upravuje jej ve Wordu; agent se ho nikdy nedotkne. JSON je generován vaším nástrojem pro vydání, nebo agentem z git log, a to je část, ve které je kódovací agent dobrý.
Také to dělá práci přezkoumatelnou. Pull request, který mění data/release-4.2.0.json, ukazuje přesně, které změny se objeví v poznámkách k vydání, řádek po řádku, v diffu, který recenzent může přečíst za minutu. Pull request, který mění vygenerované PDF, vůbec nic neukazuje. Uchovávání dat a rozvržení jako samostatných, verzovaných souborů a zacházení s dokumentem jako s něčím, co z nich renderujete, je stejný nápad jako oddělení zdrojového kódu a výstupu sestavení, a platí pro dokumenty ze stejných důvodů.
Jak vypadá repozitář
repo/
data/
release-4.2.0.json {"release":{...}, "changes":[...4 items]}
contributors-2026.json {"contributors":[...3 items]}
templates/
release-notes.docx <<[release.Version]>>, <<foreach [c in
changes]>> table row, counts
certificate.docx <<[contributor.Name]>> ...
out/ GROUPDOCS_MCP_OUTPUT_PATH, in .gitignore
|
| Claude Code -> GroupDocs.Assembly MCP server (local, stdio)
v
release-notes-4.2.0.pdf pnair.pdf tvarga.pdf mrossi.pdf
Volání
Nejprve agent zkontroluje, co šablona očekává, aby vám mohl říct, jestli v JSON něco chybí:
-> get_template_fields {"template":{"filePath":
"repo/templates/release-notes.docx"}}
<- { "dataSourceNames": [ "release", "changes" ],
"fields": [ "release.Product", "release.Version", "release.Date",
"changes[].Type", "changes[].Title",
"changes[].PullRequest", "changes[].Author" ] }
Pak jedno volání ji vykreslí:
-> assemble_document {"template":{"filePath":
"repo/templates/release-notes.docx"},
"data":{"filePath":"repo/data/release-4.2.0.json"},
"format":"pdf","outputName":"release-notes-4.2.0.pdf"}
<- Assembled 'release-notes.docx' with 'release-4.2.0.json' (JSON
object) as PDF
Saved to: .../release-notes-4.2.0.pdf
Řádek tabulky šablony se opakuje jednou na změnu a její poslední řádek počítá změny a odlišné autory pomocí changes.Count() a changes.Select(c => c.Author).Distinct().Count(). Tato čísla pocházejí z dat v čase vykreslení, ne od agenta.
Certifikáty jsou rozvětvené: jedno PDF na prvek pole contributors, pojmenované podle přezdívky přispěvatele:
-> assemble_per_record {"template":{"filePath":
"repo/templates/certificate.docx"},
"data":{"filePath":"repo/data/contributors-2026.json"},
"recordsPath":"contributors","fileNameField":"Handle",
"format":"pdf"}
<- Assembled 3 of 3 document(s) from 'certificate.docx' with
'contributors-2026.json', one per record (each record as
'contributor'), as PDF.
Saved to:
.../pnair.pdf
.../tvarga.pdf
.../mrossi.pdf
recordsPath říká serveru, kde se pole nachází, když je JSON soubor objektem, což je obvyklý tvar reálných datových souborů.
Udělejte z toho zvyk, ne jen výzvu
Agenti dodržují projektové instrukce o tom, kdy použít nástroj. Několik řádků v CLAUDE.md nebo AGENTS.md to promění v konvenci:
Documents for people (release notes, reports, certificates) are generated
with the groupdocs-assembly MCP server from templates/*.docx and data/*.json.
Call get_template_fields first; never edit a template. Generated files land
in out/, which is in .gitignore. Dates in JSON as yyyy-MM-ddTHH:mm:ss.
Uchovávejte výstupy mimo git. Ve výchozím nastavení server zapisuje vedle své složky úložiště; nastavte GROUPDOCS_MCP_OUTPUT_PATH v registraci serveru na složku out/ repozitáře a přidejte tuto složku do .gitignore. JSON a šablona jsou zdroj; PDF je artefakt sestavení, regenerovaný během sekund, a jeho commitování jen vytváří diffy, které nikdo nemůže přezkoumat.
Upřímná omezení
- Režim hodnocení: každé PDF začíná “Evaluation Only. Created with GroupDocs.Assembly 26.7…”. V pořádku pro vyzkoušení; před tím, než něco opustí tým, server licencujte.
- Šablony jsou důvěryhodný vstup. Značky obrázků a dokumentů načítají cesty a URL, které vrací jejich výrazy, takže šablonu z pull requestu považujte za kód a serveru dejte jednu složku úložiště.
- Data: zapisujte je jako
2026-11-03T00:00:00a formátujte je v šabloně (<<[release.Date]:"d MMMM yyyy">>). Řetězec pouze s datem byl v našem testu posunut o den na stroji UTC+2; Docker image běží v UTC. - Generování po záznamu čte pouze JSON a
maxDocuments(výchozí 100) zastaví nečekaně velké pole dříve, než se něco zapíše. get_template_fieldsje statické: hodnoty vypočítané uvnitř projekcíSelectneboGroupBynejsou sledovány.
Často kladené otázky
Může Claude Code vygenerovat PDF z JSON ve svém repozitáři bez cloudové služby?
Ano. MCP server běží lokálně jako podproces Claude Code a čte šablonu a JSON ze složky, na kterou ukážete.
Může to běžet v CI?
Server je MCP server, takže potřebuje MCP klienta: Claude Code v režimu bez hlavy, nebo jakýkoli agent runner. Docker image (ghcr.io/groupdocs-assembly/assembly-net-mcp) je pohodlná forma pro pipeline.
Word nebo PDF?
Obojí. Vynechte format a výstup bude DOCX jako šablona; "format":"pdf" dává PDF. get_supported_formats vypisuje každý cíl pro šablonu.
Prohloubení
- Dokumentace, kanonický návod: Jak vygenerovat PDF nebo Word zprávu z JSON dat v repozitáři pomocí Claude Code
- Středisko dokumentace: GroupDocs.Assembly MCP Server
- Začněte zde: Nechte model vyplnit data, ne psát dokument
- Související: Sto personalizovaných PDF z jednoho promptu: hromadná korespondence s AI agentem
- Související: Co tato šablona potřebuje? Zeptejte se jí.
- Související: Graf pochází ze šablony, čísla z dat
- On-premise a bezpečnostní model: 3 architektury pro AI zpracování dokumentů a ta, která udržuje soubory uvnitř vaší sítě
- Otázky: GroupDocs Assembly forum
- Zdroj: GroupDocs.Assembly.Mcp na GitHubu