resume-processor-mcp

resume-processor-mcp

MCP server for processing Markdown resumes into multiple formats (PDF, LinkedIn templates) with AI analysis and Claude integration.

Category
访问服务器

README

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

🔗 Integration

📖 Guides

🧪 Testing

📝 Samples

🚀 Quick Start

Prerequisites

  • Docker
  • Go (for MCP server)
  • Git

Option 1: MCP Server Mode (Recommended)

# 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

# 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

# Process resume with local script
make process-resume

🛠️ Development

Available Make Targets

Building:

make build              # Build MCP server binary
make build-all          # Build for all platforms
make docker-build       # Build Docker image

Testing:

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:

make run                # Start MCP server (HTTP mode)
make run-stdio          # Start MCP server (stdio mode)
make process-resume     # Run resume processing script

Setup:

make pipeline-setup     # Install dependencies
make integration-setup  # Verify scripts setup
make mcp-setup          # Configure MCP for Claude

🏗️ Project Structure

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:
cp claude-desktop-config.json.template claude-desktop-config.json
# Edit paths to match your system
  1. ACT Configuration (for local GitHub Actions testing):
cp .actrc.template .actrc
# Customize as needed
  1. Secrets (for testing with tokens):
cp .secrets.template .secrets
# Add your GitHub token

MCP Server Configuration

After copying the template, update claude-desktop-config.json with your actual paths:

{
  "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

# 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 for your specific use case
  2. Review testing guides 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 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 targets

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选