Skip to main content

AI-powered CV and resume builder using Model Context Protocol. Automatically generates and updates your CV/resume from git commits, Jira tickets, Credly badges, and LinkedIn profile.

Project description

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 developers who want their CV to stay current without manual updates.

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 CVs โœ…

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

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"

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

Setup

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

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

Made with โค๏ธ for developers who hate updating their CVs manually

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cv_resume_builder_mcp-1.1.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cv_resume_builder_mcp-1.1.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file cv_resume_builder_mcp-1.1.0.tar.gz.

File metadata

  • Download URL: cv_resume_builder_mcp-1.1.0.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cv_resume_builder_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7f96257f9cdfebdc2d790ed6e0a99e3cd234c03badc09e23c19fc9e78d336737
MD5 b4a16fcaecdd71c953e90e680f07a49a
BLAKE2b-256 4b380be3815fe1f14dc420f1f701ee5e9489452edc6ad3ada6eaa0a2e43e2586

See more details on using hashes here.

File details

Details for the file cv_resume_builder_mcp-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cv_resume_builder_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2962ef28c55208cbafccb041b48e944784a5cacb793119d0626ab6b74098e14
MD5 622c9d9da3dd6def0bf8e257466b2f5f
BLAKE2b-256 71facf6dedffeae8697c4f9fb3397a6288b1da57e9a068bc02e2b633849231bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page