Resume MCP Agent
Enables AI clients to manage resumes, match job descriptions, and generate tailored PDF resumes.
README
Resume MCP Agent
🤖 What is Resume MCP Agent?
Resume MCP Agent is an intelligent resume assistant based on MCP (Model Context Protocol) that allows you to directly manage and optimize your resume within AI clients like Claude Desktop and ChatGPT.
🎯 What can it do for you?
📝 Smart Resume Management
- Automatically read and analyze your resume content
- Support multiple resume versions for easy switching and comparison
- Real-time preview with instant results
🎯 Precise Job Matching
- Upload job descriptions and automatically analyze key requirements
- Intelligent recommendations for resume optimization
- One-click generation of tailored resumes for specific positions
📄 Professional PDF Output
- Automatically generate beautiful PDF resumes
- Support custom templates and formats
- Ensure proper formatting suitable for direct submission
🔄 Seamless AI Integration
- Direct operation within Claude Desktop
- Support for ChatGPT Developer Mode
- Complete all operations through natural language commands
💡 Typical Use Cases
- Job Preparation: Create customized resume versions for different companies
- Resume Optimization: Adjust content and keywords based on job requirements
- Format Conversion: Convert from Word/PDF to structured data for easy management
- Batch Processing: Quickly generate multiple resume versions
🚀 Quick Start
Option 1: Docker Deployment (Recommended)
For the easiest setup, use Docker to get started in minutes:
# Build the image
docker build -t resume-mcp:latest .
# Run with automatic Cloudflare tunnel (recommended with data persistence)
docker run --rm -p 8000:8000 \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/templates:/app/templates" \
--env-file ./.env \
resume-mcp:latest
The container will automatically create a public URL for ChatGPT integration. See Docker Guide for detailed instructions.
Option 2: Local Setup
-
Clone and setup environment
git clone <repository-url> cd resume_mcp ./setupenv.sh -
Configure environment variables
cp sample.env .env # Edit .env with your API keys -
Configure external compile service (for PDF generation)
- Set
LATEX_COMPILE_API_URLin.env - Default service:
https://latex-compile.k.0x1f0c.dev - See API details in LaTeX Compile API
- Set
-
Start the MCP server
For Claude Desktop (STDIO mode):
uv run python scripts/start_mcp_server.py --transport stdioFor HTTP mode (testing/ChatGPT):
uv run python scripts/start_mcp_server.py --transport http --port 8000 -
Expose via Cloudflare Tunnel (optional, for ChatGPT)
If using HTTP mode and want to access from ChatGPT:
# In another terminal, start Cloudflare tunnel cloudflared tunnel --url http://localhost:8000Cloudflare will return a URL like
https://xxx.trycloudflare.comChatGPT client configuration:
- Server URL: use the HTTPS URL from Cloudflare
- Authentication: None
- Protocol: HTTP/HTTPS
📚 Documentation
- MCP Setup Guide - Detailed MCP server configuration and client connection
- User Manual - Tool usage guide and typical workflows
- Docker Guide - Docker deployment and cloud access configuration
- Resume Version Management - Resume version management
🛠️ Development
Testing
# Run all tests
uv run python scripts/run_all_tests.py
# Run specific test
uv run pytest tests/test_resume_rendering.py
CLI Tools
# Generate LaTeX
uv run python scripts/render_resume_cli.py resume
# Generate PDF
uv run python scripts/render_resume_cli.py resume --tex build/resume.tex --pdf build/resume.pdf --compile
Error Log Query API (HTTP mode)
When running the MCP server in HTTP transport, failed tool calls are also written to
logs/mcp_error_events.jsonl (or /tmp/resume_mcp/logs/mcp_error_events.jsonl fallback).
# Query recent failed tool calls
curl "http://localhost:8000/error-logs"
# Query with filters and pagination
curl "http://localhost:8000/error-logs?tool_name=update_resume_section&failure_kind=exception&limit=20&offset=0"
Supported query params:
limit:1-500, default50offset:>=0, default0tool_name: exact tool name filterfailure_kind:exceptionorerror_response
📋 Requirements
- Python 3.12+
- UV package manager
- External LaTeX compile service (
LATEX_COMPILE_API_URL)
🚀 Ready to Start
Whether you're a job seeker, HR professional, or developer, you can get started quickly:
- Regular users: Use Docker for one-click deployment in 5 minutes
- Developers: Set up local environment for full control and customization
For detailed setup instructions and troubleshooting, see the MCP Setup Guide.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.