resume-processor-mcp
README.md
# Resume Processing Pipeline
**Resume Management System with Model Context Protocol (MCP) Integration**
*Open Systems Lab - info@opensystemslab.com*
## ๐ Overview
Pipeline that transforms Markdown resumes into multiple formats using AI processing, containerized workflows, and DevOps practices.
### Project Motivation
This project addresses the need to reformat Markdown resumes with custom LaTeX styles and fonts, while generating text-based formats for easy copy-paste integration with LinkedIn profiles. The implementation applies DevOps practices through:
- **CI/CD Pipeline**: Automated workflow for consistent resume processing
- **Model Context Protocol (MCP)**: Integration for agentic applications with AI platforms
- **Testing Infrastructure**: Validation using the ACT tool for GitHub Actions workflows
This capstone project demonstrates the application of DevOps methodology and MCP extensions to personal document management, combining traditional document processing with modern AI integration and automated testing practices.
### Features
- **AI Processing**: MCP server with Claude integration for resume analysis
- **Multi-Format Output**: PDF (LaTeX), LinkedIn templates, clean text formats
- **Automated CI/CD**: GitHub Actions pipeline with Docker containerization
- **Local Testing**: Test suite with ACT integration
- **Production Ready**
## ๐ Documentation
### ๐๏ธ Architecture
- [**Architecture Overview**](docs/architecture/ARCHITECTURE-OVERVIEW.md) - System design and component relationships
- [**MCP Implementation**](docs/architecture/MCP-IMPLEMENTATION-SUMMARY.md) - Model Context Protocol server details
### ๐ Integration
- [**Claude Integration Guide**](docs/integration/CLAUDE-INTEGRATION-GUIDE.md) - Setting up Claude AI with MCP
- [**Cursor IDE Integration**](docs/integration/CURSOR-IDE-INTEGRATION.md) - Development environment setup
- [**MCP Server Setup**](docs/integration/README-MCP.md) - MCP server configuration
### ๐ Guides
- [**Quick Start Guide**](docs/guides/CLAUDE-QUICK-START.md) - Get started in 5 minutes
- [**Workflow Diagrams**](docs/guides/CLAUDE-WORKFLOW-DIAGRAMS.md) - Visual process flows
- [**Documentation Index**](docs/guides/CLAUDE-DOCUMENTATION-INDEX.md) - Documentation reference
### ๐งช Testing
- [**Testing Overview**](scripts/testing/README.md) - Test scripts and usage
- [**ACT Testing Guide**](docs/testing/ACT-TESTING.md) - Local GitHub Actions testing
### ๐ Samples
- [**Sample Resume**](docs/samples/sample-resume-for-claude.md) - Template and examples
## ๐ Quick Start
### Prerequisites
- Docker
- Go (for MCP server)
- Git
### Option 1: MCP Server Mode (Recommended)
```bash
# Build MCP server
make build
# Run tests
make test-all
# Start MCP server
make run
# Test MCP functionality
make test-mcp
```
### Option 2: Docker Pipeline
```bash
# Build container
docker build -t resume-processor .
# Process resume
docker run --rm \
-v "$(pwd)/input:/workspace/input:ro" \
-v "$(pwd)/output:/workspace/output" \
resume-processor
```
### Option 3: Direct Script Processing
```bash
# Process resume with local script
make process-resume
```
## ๐ ๏ธ Development
### Available Make Targets
**Building:**
```bash
make build # Build MCP server binary
make build-all # Build for all platforms
make docker-build # Build Docker image
```
**Testing:**
```bash
make test # Run unit tests
make test-all # Run all tests (unit + integration)
make test-mcp # Test MCP server functionality
make test-act # Test GitHub Actions locally
make test-integration # Run integration test suite
```
**Running:**
```bash
make run # Start MCP server (HTTP mode)
make run-stdio # Start MCP server (stdio mode)
make process-resume # Run resume processing script
```
**Setup:**
```bash
make pipeline-setup # Install dependencies
make integration-setup # Verify scripts setup
make mcp-setup # Configure MCP for Claude
```
## ๐๏ธ Project Structure
```ini
resume/
โโโ README.md # This file
โโโ Makefile # Build and test automation
โโโ Dockerfile # Container definition
โโโ go.mod, go.sum # Go dependencies
โโโ cmd/server/ # MCP server entry point
โโโ pkg/ # Go packages
โ โโโ mcp/ # MCP protocol implementation
โ โโโ processor/ # Resume processing logic
โ โโโ server/ # HTTP server implementation
โโโ scripts/ # Processing scripts
โ โโโ process_resume.sh # Main processing script
โ โโโ linkedin_template_generator.py
โ โโโ requirements.txt
โ โโโ testing/ # Test scripts
โ โโโ README.md # Testing documentation
โ โโโ run-tests.sh # Main test runner
โ โโโ test-mcp.sh # MCP server tests
โ โโโ test-act.sh # ACT pipeline tests
โโโ docs/ # Documentation
โ โโโ architecture/ # System architecture docs
โ โโโ integration/ # Integration guides
โ โโโ guides/ # User guides
โ โโโ testing/ # Testing documentation
โ โโโ samples/ # Example files
โโโ local/ # Local resume files
โโโ .github/workflows/ # CI/CD pipeline
โโโ .vscode/ # VS Code configuration
```
## ๐ฏ Output Formats
### PDF Resume
- LaTeX formatting via Pandoc
- Multi-page support with pagination
- Typography optimized for ATS systems
### LinkedIn Templates
- **Headline**: 220 character summary
- **About Section**: 2600 character summary
- **Experience Entries**: Formatted job descriptions
- **Skills Categories**: Organized technical competencies
- Clean text format (no emojis/special characters)
### AI Analysis
- Resume content extraction and analysis
- Skills categorization and gap analysis
- ATS optimization recommendations
- Industry-specific customizations
## ๐ง Configuration
### First-Time Setup
The repository includes template files for local configuration:
1. **Claude Desktop Configuration**:
```bash
cp claude-desktop-config.json.template claude-desktop-config.json
# Edit paths to match your system
```
2. **ACT Configuration** (for local GitHub Actions testing):
```bash
cp .actrc.template .actrc
# Customize as needed
```
3. **Secrets** (for testing with tokens):
```bash
cp .secrets.template .secrets
# Add your GitHub token
```
### MCP Server Configuration
After copying the template, update `claude-desktop-config.json` with your actual paths:
```json
{
"mcpServers": {
"resume-processor": {
"command": "/your/actual/path/to/resume-processor-mcp",
"args": ["stdio", "--work-dir", "/your/actual/path/to/resume/directory"],
"env": {
"WORK_DIR": "/your/actual/path/to/resume/directory"
}
}
}
}
```
### Environment Variables
- `WORK_DIR`: Working directory for resume processing
- `LOG_LEVEL`: Logging level (debug, info, warn, error)
- `PORT`: HTTP server port (default: 8080)
**Note**: Configuration files are in `.gitignore` to keep personal paths private.
## ๐ CI/CD Integration
### GitHub Actions Workflow
- **Triggers**: Push to resume files, manual dispatch
- **Processing**: Automated PDF and LinkedIn template generation
- **Artifacts**: 90-day retention with downloadable outputs
- **Branches**: `main`, `master`, `develop`
### Local Testing with ACT
```bash
# Install ACT
brew install act
# Test workflows locally
make test-act
# Full workflow test with Docker
make test-act-full
```
## ๐ Support & Contact
**Open Systems Lab**
๐ง Email: info@opensystemslab.com
๐ Resume processing solutions
### Getting Help
1. Check the [documentation](docs/) for your specific use case
2. Review [testing guides](scripts/testing/README.md) for troubleshooting
3. Run `make help` for available commands
4. Contact us for enterprise support
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Tooling by Open Systems Lab.
---
*Resume processing with AI integration* ๐ฏ
## ๐ Recent Updates
- โ
**MCP Integration**: Added Claude AI integration via Model Context Protocol
- โ
**Testing Framework**: Test suite with ACT support
- โ
**Documentation**: Organized docs structure with guides
- โ
**Project Cleanup**: Streamlined structure with proper script organization
- โ
**Makefile Enhancement**: Added build and test targetsThis server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues