Cover Letter
About
Generates professional PDF cover letters using LaTeX. Requires Docker for local execution.
Details
- Author
- andreacadonna
- Categories
- Productivity, Other
- Tags
- #document, #pdf, #content-creation
Jump to
Setup
Install Cover Letter in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/andreacadonna/cover-letter-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server that generates professional PDF cover letters using LaTeX. This server integrates seamlessly with Claude Desktop to create beautifully formatted cover letters with a clean, professional design and advanced folder management capabilities.
- π―Professional Design: Clean, modern layout matching professional resume standards
- πPDF Generation: High-quality PDF output using LaTeX
- π§Claude Desktop Integration: Works directly within Claude Desktop interface
- πAdvanced Folder Management: Create custom folders and organize cover letters by job, company, or category
- ποΈDirectory Navigation: List and browse your cover letter collection with built-in file explorer
- β‘Fast Generation: Dockerized environment for consistent, quick processing
- π‘οΈInput Sanitization: Automatic escaping of special characters for LaTeX safety
- πSecure Paths: Built-in path sanitization prevents security issues
- Docker: Make sure Docker Desktop is installed and running
- Claude Desktop: Latest version with MCP support
- Git: For cloning the repository
git clone https://github.com/YOUR_USERNAME/cover-letter-mcp.git cd cover-letter-mcp
Add the following configuration to your Claude Desktop config file:
- Windows:%APPDATA%\Claude\claude_desktop_config.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "cover-letter-generator": { "command": "docker", "args": [ "run", "--rm", "-i", "-v", "/path/to/your/cover-letter-mcp/downloads:/downloads", "cover-letter-mcp", "python", "server.py" ] } } }
Replace/path/to/your/cover-letter-mcp/downloadswith your actual path:
- Windows:"C:/Users/YourUsername/path/to/cover-letter-mcp/downloads:/downloads"
- macOS/Linux:"/Users/YourUsername/path/to/cover-letter-mcp/downloads:/downloads"
Restart Claude Desktop to load the new MCP server configuration.
Once configured, you can generate cover letters directly in Claude Desktop with advanced organization features:
Generate a cover letter for: - Name: John Smith - Company: Tech Innovations Inc - Position: Software Engineer - Body: I am writing to express my interest in the Software Engineer position at your company. With 5 years of experience in software development, I believe I would be a great fit for your team. My skills in JavaScript and Python align well with your requirements. I look forward to discussing this opportunity further.
Organized Cover Letter with Custom Folder
Generate a cover letter for Jane Doe applying to Google for a Senior Developer position and save it in the "FAANG-applications/google" folder
Create a cover letter for the Product Manager role at Netflix. Save it in "streaming-companies/netflix" with filename "pm-application-2024"
Create a folder structure for organizing my job applications: "job-search-2024/tech-companies" and "job-search-2024/startups"
Show me what cover letters I have in my "tech-companies" folder
- ποΈ Auto-Folder Creation- Folders are created automatically when generating cover letters
- π Custom Directory Structure- Organize by company, role type, industry, or any system that works for you
- π Directory Browser- List contents of any folder to see your cover letter collection
- π File Information- View file sizes, creation dates, and organize by metadata
- π‘οΈ Path Security- Built-in sanitization prevents directory traversal and invalid characters
- applications/google/
- applications/microsoft/
- applications/amazon/
- roles/software-engineer/
- roles/product-manager/
- roles/data-scientist/
- industries/fintech/
- industries/healthcare/
- industries/gaming/
- drafts/
- submitted/2024/
- archived/old-versions/
Generate a cover letter with filename "tech_innovations_application" for John Smith applying to Tech Innovations Inc and save it in the "applications/tech-startups" folder
I'm applying to several FAANG companies. Create cover letters for: 1. Google - Software Engineer role (save in "faang/google") 2. Meta - Frontend Developer role (save in "faang/meta") 3. Amazon - Backend Engineer role (save in "faang/amazon")
Generates a PDF cover letter from structured data with optional folder organization.
- name(string): Full name of the applicant
- company(string): Company name
- position(string): Position being applied for
- body(string): Main body text of the cover letter
- filename(string, optional): Custom filename (without .pdf extension)
- folderPath(string, optional): Custom folder path within downloads directory
{ "name": "John Smith", "company": "Tech Corp", "position": "Software Engineer", "body": "I am writing to express my strong interest...", "filename": "john-smith-tech-corp-application", "folderPath": "job-applications/tech-companies/tech-corp" }
Creates a new folder within the downloads directory.
- folderPath(string): Folder path to create (supports nested folders)
{ "folderPath": "applications/2024/q1" }
Lists all folders and files in the downloads directory.
- path(string, optional): Specific subdirectory to list
{ "path": "applications/tech-companies" }
cover-letter-mcp/ βββ server.py # Main MCP server with folder management βββ Dockerfile # Docker container configuration βββ requirements.txt # Python dependencies βββ downloads/ # Generated PDFs organized in folders β βββ applications/ β β βββ google/ β β β βββ john-smith-swe-2024.pdf β β β βββ jane-doe-pm-2024.pdf β β βββ microsoft/ β β βββ startups/ β βββ drafts/ β βββ templates/ βββ README.md # This file
The server uses a custom LaTeX template that creates:
- Clean, centered header with applicant name
- Professional spacing and typography
- Automatic date insertion
- Proper business letter formatting
- High-quality PDF output
- Input Sanitization: All user input is properly escaped for LaTeX
- Filename Safety: Generated filenames are sanitized to prevent path traversal
- Path Security: Folder paths are sanitized to prevent directory traversal attacks
- Isolated Environment: Docker container provides secure, isolated execution
- Character Filtering: Removes or replaces invalid filesystem characters
This server implements the Model Context Protocol specification:
- Tools:generate_cover_letter,create_folder,list_folders
- Resources: Lists and provides access to generated PDFs (including nested folders)
- Capabilities: Full read/write access to cover letter generation and folder management
- Ensure Docker Desktop is installed and running
- Verify Docker is in your system PATH
"Permission denied" on Windows
- Make sure Docker Desktop has access to your drive
- Try running PowerShell as Administrator
- Ensure the downloads folder has write permissions
- Rebuild the Docker image:docker build -t cover-letter-mcp .
- Check that the image name matches your configuration
- This usually indicates special characters in the input
- The server automatically escapes most characters, but some complex formatting may need adjustment
- Verify write permissions in the downloads directory
- Check that folder paths don't contain invalid characters
- Ensure Docker has access to the mounted volume
- Folder paths are automatically sanitized for security
- Invalid characters are replaced with underscores
- Directory traversal attempts (../) are automatically blocked
To see detailed logs from the MCP server, check the Claude Desktop developer console or run the Docker container manually:
docker run --rm -i -v "./downloads:/downloads" cover-letter-mcp python server.py
docker run --rm -i -v "./downloads:/downloads" -e DEBUG=1 cover-letter-mcp python server.py
# Ubuntu/Debian sudo apt-get install texlive-latex-base texlive-latex-recommended # macOS with Homebrew brew install --cask mactex # Windows # Download and install MiKTeX or TeX Live
- Path Validation: All folder paths are validated and sanitized
- Input Escaping: LaTeX special characters are properly escaped
- Container Isolation: Docker provides process and filesystem isolation
- Volume Mounting: Only the downloads directory is accessible to the container
- Fork the repository
- Create a feature branch:git checkout -b feature-name
- Make your changes
- Test thoroughly with various folder structures
- Submit a pull request
MIT License - see LICENSE file for details.
- Check thetroubleshooting section
- Review theClaude Desktop MCP documentation
- Open an issue on GitHub with:
- Your operating system
- Claude Desktop version
- Docker version
- Complete error messages
- Steps to reproduce
- β¨NEW:Custom folder organization within downloads directory
- β¨NEW:create_foldertool for creating organized directory structures
- β¨NEW:list_folderstool for browsing and managing cover letter collections
- β¨NEW:Enhancedgenerate_cover_letterwithfolderPathparameter
- π‘οΈNEW:Path sanitization and security features
- πNEW:File metadata display (size, date) in directory listings
- ποΈNEW:Auto-creation of folder paths when generating cover letters
- πNEW:Support for nested folder structures
- πNEW:Directory navigation and file organization tools
- πNEW:Enhanced security with Docker volume isolation
- Initial release
- Professional LaTeX cover letter generation
- Docker containerization
- Claude Desktop integration
- Basic PDF output to downloads folder
Made with β€οΈ for the Claude Desktop and MCP community
Create PDFs without leaving your workflow. Perfect for documentation, reports, and creative projects. Productive PDF generation with full Unicode and emoji support.
Generate PDF's such as invoices,receipts,documents, letters, proposals using natural language and get a link to view/edit/share your pdf.
Generates professional PDF resumes using LaTeX templates.
AI-powered reading triage MCP. 26 tools with a 24h burn timer. Read less, absorb more.
Universal document generation and conversion MCP. Generate PDF/DOCX/XLSX from templates+JSON (invoices, contracts, reports), batch generation, 100+ format conversions.
Create and manipulate PowerPoint presentations programmatically using JSON or Markdown.
An MCP server designed to assist with novel writing, configurable via JSON project files.
A server for reading and converting documents between PDF, DOCX, and Markdown formats using marker-pdf and pandoc.
Remote MCP server for Docsie video-to-docs automation and workspace knowledge search.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




