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.2.tar.gz (19.2 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.2-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cv_resume_builder_mcp-1.1.2.tar.gz
  • Upload date:
  • Size: 19.2 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.2.tar.gz
Algorithm Hash digest
SHA256 d4e21f9f22ef4a41772f7affa37383b66fe022ff5bbb38bc6b0410888bfbd4d4
MD5 7474bfd61b1e56d812f3a9524fbe07a8
BLAKE2b-256 ec8cb7f55daf53916a5638a74d1917f9a01820e11e974add611ddd4d0ec26d98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cv_resume_builder_mcp-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f6ccb156bf005624f7af9e522fc9bd8748f5237a92deed543d541832e0cb139
MD5 13f5ed26c55be146bcd280e064f937c5
BLAKE2b-256 fca8217b6b91a468e7c424b4d4bd104a2e217ab6a1993e3981c16a394ed491e9

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