{
  "markdown": "# pdf-report-generator\n\nAn MCP server that generates professional corporate PDF reports from structured JSON specs or raw LLM text output. Drop it into Claude Desktop (or any MCP client) and ask Claude to turn analysis, research, or meeting notes into a polished multi-page report complete with cover page, table of contents, executive summary, section headings, tables, and charts.\n\nA sample output is at [`examples/sample_report.pdf`](examples/sample_report.pdf).\n\n---\n\n## Prerequisites\n\n- **Node.js 18+**\n- **Python 3.8+**\n\nInstall Python dependencies:\n\n```bash\npip install reportlab matplotlib\n```\n\n---\n\n## Claude Desktop configuration\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"pdf-report\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"pdf-report-generator\"]\n    }\n  }\n}\n```\n\n---\n\n## Available tools\n\n### `generate_report`\n\nGenerates a PDF from a full structured spec.\n\n**Minimal example input:**\n\n```json\n{\n  \"spec\": {\n    \"metadata\": {\n      \"title\": \"Q3 Performance Review\",\n      \"author\": \"Engineering Team\",\n      \"company\": \"Acme Corp\",\n      \"classification\": \"INTERNAL\"\n    },\n    \"executive_summary\": \"Overall performance improved this quarter...\",\n    \"sections\": [\n      {\n        \"heading\": \"Infrastructure\",\n        \"body\": \"Uptime reached 99.94%...\",\n        \"subsections\": []\n      }\n    ],\n    \"tables\": [],\n    \"charts\": []\n  }\n}\n```\n\n---\n\n### `generate_report_from_text`\n\nConverts raw text into a structured PDF report. Sections are auto-detected from headings.\n\n```json\n{\n  \"text\": \"# Overview\\nThis quarter...\\n\\n# Key Findings\\n...\",\n  \"title\": \"Q3 Summary\",\n  \"author\": \"Data Team\",\n  \"company\": \"Acme Corp\",\n  \"classification\": \"INTERNAL\",\n  \"theme_name\": \"navy\"\n}\n```\n\n---\n\n### `list_themes`\n\nReturns available color themes: `default`, `navy`, `charcoal`, `forest`, `burgundy`.\n\n---\n\n## JSON spec reference\n\n```\nmetadata\n  title*          string\n  subtitle        string\n  author          string\n  date            string (YYYY-MM-DD; defaults to today)\n  company         string\n  department      string\n  document_id     string  (e.g. RPT-2026-001)\n  classification  string  (PUBLIC | INTERNAL | CONFIDENTIAL)\n  logo_path       string  (absolute path to PNG/JPG)\n  page_size       \"letter\" | \"a4\"\n\nexecutive_summary  string\n\nsections[]\n  heading*        string\n  body*           string  (\\n\\n = paragraph break)\n  subsections[]\n    heading*      string\n    body*         string\n\ntables[]\n  title           string\n  headers*        string[]\n  rows*           string[][]\n  after_section   int  (0-based section index; -1 = after exec summary)\n\ncharts[]\n  title           string\n  type            \"bar\" | \"line\" | \"pie\" | \"horizontal_bar\"\n  labels*         string[]\n  datasets*       [{label, values[]}]\n  after_section   int\n\nimages[]\n  path*           string  (absolute path)\n  caption         string\n  width_inches    number\n  after_section   int\n\ntheme\n  primary_color    [R, G, B]\n  accent_color     [R, G, B]\n  highlight_color  [R, G, B]\n```\n\n---\n\n## Example prompts\n\n- \"Turn this analysis into a professional internal PDF report titled 'Q3 Infrastructure Review'\"\n- \"Generate a corporate report from this research, add a bar chart for the monthly metrics\"\n- \"Create a CONFIDENTIAL report called 'Security Audit Findings' from this text\"\n- \"List the available report themes\"\n\n---\n\n## Troubleshooting\n\n**Python not found** — ensure `python` or `python3` is on your PATH and is version 3.8+.\n\n**reportlab not installed** — run `pip install reportlab matplotlib`.\n\n**Charts missing** — matplotlib is required for charts. Install it with `pip install matplotlib`.\n\n**Large PDFs** — complex specs with many charts can take 5–15 seconds. This is normal.\n\n---\n\n## License\n\nMIT\n",
  "bytes": 3740,
  "sha": "ea20709679c9c204b8fcd822a04cb312b7ab62bc65ed0dfd2c8671ceb8653eed",
  "repo_slug": "themoddedcube/pdf-report-generator",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_themoddedcube_pdf_report_gener_eb41ee21/readme"
}