CV Resume Builder MCP

CV Resume Builder MCP

Automatically generates and updates CVs/resumes by aggregating data from git commits, Jira tickets, Credly certifications, and existing PDF resumes, with LaTeX formatting support.

Category
Visit Server

README

CV Resume Builder MCP

AI-powered CV and resume builder using Model Context Protocol (MCP)

Automatically generate and update your CV/resume from git commits, Jira tickets, Credly certifications, and LinkedIn. Built for professionals who want their CV to stay current without manual updates. Generates ATS-compliant LaTeX CVs that pass Applicant Tracking Systems.

MCP Python License: MIT

Features

  • šŸ“Š Git commits - Track your code contributions automatically āœ…
  • šŸŽ« Jira tickets - Pull completed projects and tasks āš ļø (requires testing)
  • šŸ† Credly badges - Sync certifications and achievements āœ…
  • šŸ’¼ LinkedIn profile - Not implemented yet 🚧 (authentication required)
  • šŸ“„ PDF parsing - Extract content from existing CVs āœ…
  • šŸš€ Enhanced CV generation - Combine all data sources āœ…
  • šŸ“ LaTeX support - Generate professional, ATS-compliant CVs āœ…
  • šŸ¤– ATS-friendly - Clean formatting that passes Applicant Tracking Systems āœ…

Quick Start

Prerequisites

  • Python 3.10+
  • uv installed (for uvx): curl -LsSf https://astral.sh/uv/install.sh | sh
  • An MCP-compatible AI assistant (Claude Desktop, Kiro, etc.)

Installation

Using uvx (recommended - no installation needed!):

Just configure your MCP client and uvx handles the rest.

Or install with pip:

pip install cv-resume-builder-mcp

Note: The configurations below use uvx which automatically downloads and runs the latest version from PyPI. If you're developing locally or want to test unreleased features, see TESTING.md for local development setup.

Configuration

For Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cv-resume-builder": {
      "command": "uvx",
      "args": ["cv-resume-builder-mcp"],
      "env": {
        "AUTHOR_NAME": "your-git-username",
        "REPOS": "default:/absolute/path/to/your-repo"
      }
    }
  }
}

For multiple repositories: Change REPOS to: "CompanyA:/path1,CompanyB:/path2,Personal:/path3"

For Kiro IDE

Edit ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "cv-resume-builder": {
      "command": "uvx",
      "args": ["cv-resume-builder-mcp"],
      "env": {
        "AUTHOR_NAME": "your-git-username",
        "REPOS": "default:/absolute/path/to/your-repo"
      }
    }
  }
}

For multiple repositories: Change REPOS to: "CompanyA:/path1,CompanyB:/path2,Personal:/path3"

Important: Use absolute paths (no ~). Get it with pwd in your repo directory.

Restart Your AI Assistant

After configuration, restart Claude Desktop or Kiro to load the MCP server.

Test It

"List available MCP tools"

You should see tools like get_git_log, read_cv, parse_cv_pdf, etc.

Usage Examples

"Get my git commits from the last 6 months and suggest CV updates"

With multiple repositories:

"List all my configured repositories"
"Get my commits from CompanyA for the last 3 months"
"Show me all my work across all repositories in the last year"

Parse existing CV

"Parse my CV at ~/Documents/resume.pdf"

Generate enhanced CV

"Generate an enhanced CV using my existing resume.pdf and recent work from the last 3 months"

Get certifications

"Get my Credly badges and add them to my CV"

Analyze commit impact (NEW!)

"Analyze my commits from the last month and show me what I actually built"
"Get detailed code changes for commit abc123 to understand the impact"
"Show me the stats for my recent commits to highlight achievements"

Career guidance

"Based on my commits, Jira tickets, and certifications, what seniority level am I at?"
"Analyze my work and suggest what skills I need for senior/staff/principal level"
"Review my achievements and help me position myself for a promotion"
"What's missing from my profile to reach the next level?"

Optional Integrations

Add these to your MCP configuration's env section:

Jira (āš ļø Requires Testing)

"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token",
"JIRA_USER": "your-email@example.com"

Get API token: https://id.atlassian.com/manage-profile/security/api-tokens

Note: Jira integration is functional but requires more testing across different Jira configurations. Please report any issues!

Credly (āœ… Fully Tested)

"CREDLY_USER_ID": "your-credly-username"

Find your username in your Credly profile URL: https://www.credly.com/users/YOUR-USERNAME

LinkedIn (🚧 Not Implemented)

"LINKEDIN_PROFILE_URL": "https://www.linkedin.com/in/yourprofile"

Note: LinkedIn integration is not yet implemented due to authentication requirements. The tool currently only returns your profile URL. For now, manually copy your LinkedIn achievements to wins.md file. Contributions welcome!

CV Formatting

"MAX_BULLETS_PER_EXPERIENCE": "5"

Available Tools

Tool Description
get_git_log Get your git commits from default repo (excludes merge commits)
list_repos List all configured repositories
get_git_log_by_repo Get commits from a specific repository
get_git_log_all_repos Get commits from all repos, grouped by project
get_commit_details NEW! Get detailed commit info including code changes (diff) for impact analysis
analyze_commits_impact NEW! Analyze multiple commits with stats to understand actual work done
read_cv Read your current LaTeX CV
read_wins Read your wins.md achievements file
get_jira_tickets Get completed Jira tickets
get_credly_badges Get your certifications from Credly
get_linkedin_profile Read your LinkedIn profile summary
parse_cv_pdf Extract text from existing CV/resume PDF
generate_enhanced_cv Combine all data sources into comprehensive report
get_cv_guidelines Get formatting rules and constraints

Project Structure

cv-resume-builder-mcp/
ā”œā”€ā”€ src/cv_resume_builder_mcp/
│   ā”œā”€ā”€ __init__.py
│   └── server.py          # Main MCP server
ā”œā”€ā”€ tests/
│   └── test_server.py     # Unit tests
ā”œā”€ā”€ pyproject.toml         # Package configuration
ā”œā”€ā”€ requirements.txt       # Dependencies
ā”œā”€ā”€ .env.example           # Configuration template
ā”œā”€ā”€ cv.tex                 # LaTeX CV template
ā”œā”€ā”€ wins.md                # Manual achievements tracking
└── README.md              # This file

Development

For End Users (Production)

Use the uvx configuration shown above. It automatically downloads the latest stable version from PyPI.

For Contributors (Local Development)

Just testing locally? Clone the repo:

git clone https://github.com/eyaab/cv-resume-builder-mcp.git
cd cv-resume-builder-mcp
pip install -e ".[dev]"

Want to contribute changes? Fork first, then clone your fork:

  1. Click "Fork" on GitHub
  2. Clone your fork:
git clone https://github.com/YOUR-USERNAME/cv-resume-builder-mcp.git
cd cv-resume-builder-mcp
pip install -e ".[dev]"

Then use the local development configuration from TESTING.md which uses python3 -m instead of uvx.

Run Tests

pytest

Format Code

black src/
ruff check src/

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Ensure no credentials are hardcoded
  6. Submit a pull request

See CONTRIBUTING.md for details.

Troubleshooting

MCP server not showing up

  • Verify absolute paths in config (use pwd)
  • Restart your AI assistant completely
  • Check for typos in configuration

Git log returns empty

  • Check your git author name: git config user.name
  • Update AUTHOR_NAME to match exactly

"Command not found: uvx"

  • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Or: brew install uv

Jira/Credly errors

  • Verify API tokens are correct
  • Check URLs don't have trailing slashes
  • Ensure services are accessible

Security

  • All credentials stored in environment variables
  • No data sent to external services except configured integrations
  • Git history stays local
  • Open source - audit the code yourself

License

MIT License - see LICENSE file for details.

Support

  • šŸ› Report bugs - Open an issue on GitHub
  • šŸ’” Request features - Create a feature request issue
  • šŸ’¬ Ask questions - Start a discussion on GitHub

Keywords: cv builder, resume builder, mcp, model context protocol, ai resume, ai cv, automatic cv, career tracker, latex cv, resume generator, cv generator, developer resume, tech resume, ats compliant, ats friendly, applicant tracking system

Made with ā¤ļø for developers who hate updating their CVs manually

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured