Skip to main content
Glama

MCP PDF

by mcp-z

generate-resume-pdf

Convert JSON Resume format data into a professional PDF document with customizable styling options for layout, fonts, and formatting.

Instructions

Generate a professional resume PDF from JSON Resume format. Follows the standard JSON Resume schema (https://jsonresume.org/schema). Supports basics, work, education, projects, skills, awards, certificates, languages, and more. Includes customizable styling options.

Input Schema

NameRequiredDescriptionDefault
filenameNoOptional filename for the PDF (defaults to "resume.pdf"). SECURITY: Filenames are sanitized and written to a sandboxed directory: • Default: ~/.mcp-pdf/ • Override: Set PDF_OUTPUT_DIR environment variable • Path traversal attempts (.., /, etc) are blocked • Only alphanumeric, spaces, hyphens, underscores, and dots allowed • If file exists, timestamp is appended automatically
fontNoFont for the PDF. Defaults to "auto" (system font detection). Options: • Built-in: Helvetica, Times-Roman, Courier (+ Bold/Italic variants) • URL: https://cdn.../font.woff2 (for Unicode/emoji support) • Path: /System/Library/Fonts/Arial.ttf • "auto": Auto-detect Unicode-capable system font Built-in fonts only support ASCII. For Unicode, use a font URL or path. Find Unicode fonts at https://fontsource.org
resumeYesResume data in JSON Resume format
stylingNoOptional styling customization for the resume layout

Input Schema (JSON Schema)

{ "properties": { "filename": { "description": "Optional filename for the PDF (defaults to \"resume.pdf\").\n\nSECURITY: Filenames are sanitized and written to a sandboxed directory:\n• Default: ~/.mcp-pdf/\n• Override: Set PDF_OUTPUT_DIR environment variable\n• Path traversal attempts (.., /, etc) are blocked\n• Only alphanumeric, spaces, hyphens, underscores, and dots allowed\n• If file exists, timestamp is appended automatically", "type": "string" }, "font": { "description": "Font for the PDF. Defaults to \"auto\" (system font detection).\n\nOptions:\n• Built-in: Helvetica, Times-Roman, Courier (+ Bold/Italic variants)\n• URL: https://cdn.../font.woff2 (for Unicode/emoji support)\n• Path: /System/Library/Fonts/Arial.ttf\n• \"auto\": Auto-detect Unicode-capable system font\n\nBuilt-in fonts only support ASCII. For Unicode, use a font URL or path.\nFind Unicode fonts at https://fontsource.org", "type": "string" }, "resume": { "additionalProperties": false, "description": "Resume data in JSON Resume format", "properties": { "awards": { "items": { "additionalProperties": false, "properties": { "awarder": { "type": "string" }, "date": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "summary": { "type": "string" }, "title": { "type": "string" } }, "type": "object" }, "type": "array" }, "basics": { "additionalProperties": false, "properties": { "email": { "format": "email", "type": "string" }, "image": { "format": "uri", "type": "string" }, "label": { "type": "string" }, "location": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "city": { "type": "string" }, "countryCode": { "type": "string" }, "postalCode": { "type": "string" }, "region": { "type": "string" } }, "type": "object" }, "name": { "type": "string" }, "phone": { "type": "string" }, "profiles": { "items": { "additionalProperties": false, "properties": { "network": { "type": "string" }, "url": { "format": "uri", "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "type": "array" }, "summary": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "certificates": { "items": { "additionalProperties": false, "properties": { "date": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "issuer": { "type": "string" }, "name": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" }, "education": { "items": { "additionalProperties": false, "properties": { "area": { "type": "string" }, "courses": { "items": { "type": "string" }, "type": "array" }, "endDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "institution": { "type": "string" }, "score": { "type": "string" }, "startDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "studyType": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" }, "interests": { "items": { "additionalProperties": false, "properties": { "keywords": { "items": { "type": "string" }, "type": "array" }, "name": { "type": "string" } }, "type": "object" }, "type": "array" }, "languages": { "items": { "additionalProperties": false, "properties": { "fluency": { "type": "string" }, "language": { "type": "string" } }, "type": "object" }, "type": "array" }, "projects": { "items": { "additionalProperties": false, "properties": { "description": { "type": "string" }, "endDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "entity": { "type": "string" }, "highlights": { "items": { "type": "string" }, "type": "array" }, "keywords": { "items": { "type": "string" }, "type": "array" }, "name": { "type": "string" }, "roles": { "items": { "type": "string" }, "type": "array" }, "startDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "type": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" }, "publications": { "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "publisher": { "type": "string" }, "releaseDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "summary": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" }, "references": { "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "reference": { "type": "string" } }, "type": "object" }, "type": "array" }, "skills": { "items": { "additionalProperties": false, "properties": { "keywords": { "items": { "type": "string" }, "type": "array" }, "level": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "type": "array" }, "volunteer": { "items": { "additionalProperties": false, "properties": { "endDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "highlights": { "items": { "type": "string" }, "type": "array" }, "organization": { "type": "string" }, "position": { "type": "string" }, "startDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "summary": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" }, "work": { "items": { "additionalProperties": false, "properties": { "description": { "type": "string" }, "endDate": { "$ref": "#/properties/resume/properties/work/items/properties/startDate" }, "highlights": { "items": { "type": "string" }, "type": "array" }, "location": { "type": "string" }, "name": { "type": "string" }, "position": { "type": "string" }, "startDate": { "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$", "type": "string" }, "summary": { "type": "string" }, "url": { "format": "uri", "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "styling": { "additionalProperties": false, "description": "Optional styling customization for the resume layout", "properties": { "alignment": { "additionalProperties": false, "description": "Text alignment overrides", "properties": { "header": { "description": "Header alignment (default: center)", "enum": [ "left", "center", "right" ], "type": "string" } }, "type": "object" }, "fontSize": { "additionalProperties": false, "description": "Font size overrides for different text elements", "properties": { "body": { "description": "Body text font size (default: 10)", "type": "number" }, "contact": { "description": "Contact info font size (default: 10)", "type": "number" }, "heading": { "description": "Section heading font size (default: 18)", "type": "number" }, "label": { "description": "Job title/label font size (default: 12)", "type": "number" }, "name": { "description": "Name/title font size (default: 24)", "type": "number" }, "subheading": { "description": "Subsection heading font size (default: 14)", "type": "number" } }, "type": "object" }, "margins": { "additionalProperties": false, "description": "Page margin overrides", "properties": { "bottom": { "description": "Bottom margin in points (default: 50)", "type": "number" }, "left": { "description": "Left margin in points (default: 50)", "type": "number" }, "right": { "description": "Right margin in points (default: 50)", "type": "number" }, "top": { "description": "Top margin in points (default: 50)", "type": "number" } }, "type": "object" }, "spacing": { "additionalProperties": false, "description": "Spacing overrides (in moveDown units)", "properties": { "afterContact": { "description": "Space after contact info (default: 0.5)", "type": "number" }, "afterHeading": { "description": "Space after section headings (default: 0.5)", "type": "number" }, "afterLabel": { "description": "Space after label (default: 0.3)", "type": "number" }, "afterName": { "description": "Space after name (default: 0.3)", "type": "number" }, "afterSubheading": { "description": "Space after subsection headings (default: 0.3)", "type": "number" }, "afterText": { "description": "Space after body text (default: 0.3)", "type": "number" }, "betweenSections": { "description": "Space between major sections (default: 0.5)", "type": "number" } }, "type": "object" } }, "type": "object" } }, "required": [ "resume" ], "type": "object" }

Other Tools from MCP PDF

Related Tools

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcp-z/mcp-pdf'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server