mcpField
P
pdf-report-generator

pdf-report-generator

Local
github.com/themoddedcubeProductivity0Updated 27w ago

About pdf-report-generator

pdf-report-generator is an MCP server for turning structured specifications or raw text into corporate PDF reports. It is aimed at people preparing research, analysis, or meeting notes, with report sections, tables, charts, and selectable themes.

Key features

  1. 01Generate PDFs from structured specs
  2. 02Convert text with detected headings
  3. 03Add covers and tables of contents
  4. 04Include tables and charts
  5. 05Choose from five color themes

Use cases

  1. 01Format research as a corporate report
  2. 02Turn meeting notes into a PDF
  3. 03Create reports with metric charts
  4. 04Check available report themes

MCP support

The MCP server provides tools to generate reports from structured specifications or text and to list available themes.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"themoddedcube-pdf-report-generator": {
"command": "npx",
"args": [
"-y",
"@ctalasila/pdf-report-generator"
]
}
}
}
Run commandnpx -y @ctalasila/pdf-report-generator

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@ctalasila/pdf-report-generator1.0.1

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
specobjectYes
spec.themeobjectNo
spec.theme.accent_colorarrayNo
spec.theme.primary_colorarrayNo
spec.theme.highlight_colorarrayNo
spec.chartsarrayNo
spec.imagesarrayNo
spec.tablesarrayNo
spec.metadataobjectYes
spec.metadata.datestringNo
spec.metadata.titlestringYes
spec.metadata.authorstringNo
spec.metadata.companystringNo
spec.metadata.subtitlestringNo
spec.metadata.logo_pathstringNo
spec.metadata.page_sizeenumNoletter | a4
spec.metadata.departmentstringNo
spec.metadata.document_idstringNo
spec.metadata.orientationenumNoportrait | landscape
spec.metadata.classificationstringNo
spec.sectionsarrayYes
spec.executive_summarystringNo

Details

From the project README

pdf-report-generator

An 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.

A sample output is at examples/sample_report.pdf.


Prerequisites

  • Node.js 18+
  • Python 3.8+

Install Python dependencies:

pip install reportlab matplotlib

Claude Desktop configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pdf-report": {
      "command": "npx",
      "args": ["-y", "pdf-report-generator"]
    }
  }
}

Available tools

generate_report

Generates a PDF from a full structured spec.

Minimal example input:

{
  "spec": {
    "metadata": {
      "title": "Q3 Performance Review",
      "author": "Engineering Team",
      "company": "Acme Corp",
      "classification": "INTERNAL"
    },
    "executive_summary": "Overall performance improved this quarter...",
    "sections": [
      {
        "heading": "Infrastructure",
        "body": "Uptime reached 99.94%...",
        "subsections": []
      }
    ],
    "tables": [],
    "charts": []
  }
}

generate_report_from_text

Converts raw text into a structured PDF report. Sections are auto-detected from headings.

{
  "text": "# Overview\nThis quarter...\n\n# Key Findings\n...",
  "title": "Q3 Summary",
  "author": "Data Team",
  "company": "Acme Corp",
  "classification": "INTERNAL",
  "theme_name": "navy"
}

list_themes

Returns available color themes: default, navy, charcoal, forest, burgundy.


JSON spec reference

metadata
  title*          string
  subtitle        string
  author          string
  date            string (YYYY-MM-DD; defaults to today)
  company         string
  department      string
  document_id     string  (e.g. RPT-2026-001)
  classification  string  (PUBLIC | INTERNAL | CONFIDENTIAL)
  logo_path       string  (absolute path to PNG/JPG)
  page_size       "letter" | "a4"

executive_summary  string

sections[]
  heading*        string
  body*           string  (\n\n = paragraph break)
  subsections[]
    heading*      string
    body*         string

tables[]
  title           string
  headers*        string[]
  rows*           string[][]
  after_section   int  (0-based section index; -1 = after exec summary)

charts[]
  title           string
  type            "bar" | "line" | "pie" | "horizontal_bar"
  labels*         string[]
  datasets*       [{label, values[]}]
  after_section   int

images[]
  path*           string  (absolute path)
  caption         string
  width_inches    number
  after_section   int

theme
  primary_color    [R, G, B]
  accent_color     [R, G, B]
  highlight_color  [R, G, B]

Example prompts

  • "Turn this analysis into a professional internal PDF report titled 'Q3 Infrastructure Review'"
  • "Generate a corporate report from this research, add a bar chart for the monthly metrics"
  • "Create a CONFIDENTIAL report called 'Security Audit Findings' from this text"
  • "List the available report themes"

Troubleshooting

Python not found — ensure python or python3 is on your PATH and is version 3.8+.

reportlab not installed — run pip install reportlab matplotlib.

Charts missing — matplotlib is required for charts. Install it with pip install matplotlib.

Large PDFs — complex specs with many charts can take 5–15 seconds. This is normal.


License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.