job-hunting-assistant

shayne007/job-hunting-assistant

3.2

If you are the rightful owner of job-hunting-assistant and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Job Hunting Assistant is an AI-driven project designed to streamline the job search process using advanced technologies like LLM and MCP.

Job hunting assistant

This is a AI assitant project implemented by python using LLM and relative technics, which aims to help me to find a job.

Features

  • Web crawcle to collect the job descriptions published on the internet.
  • According to the market investigation and requirements, optimizing the resume to match the most needed position

Key Tech Highlight

  • LLM's superpower to optimizing text structure
  • RAG statege to supply rich context for LLM
  • RAG summary content to limit tokens sent to LLM
  • MCP Server to provide the tools LLM need when to take actions

System Architecture

graph TB
    subgraph "Entry Point"
        A[__init__.py] --> B[server.py]
    end
    
    subgraph "Core Server"
        B --> C[JobSearchMCPServer]
        C --> D[FastMCP Instance]
        C --> E[Logger Configuration]
    end
    
    subgraph "Tools Layer"
        F[JobTools Class] --> G[get_joblist_by_expect_job]
        F --> H[get_job_by_resume]
        C --> F
    end
    
    subgraph "LLM Integration"
        I[LLMClient] --> J[OpenAI Client]
        J --> K[DeepSeek API]
        F -.-> I
    end
    
    subgraph "Web Scraping"
        L[listjob.py] --> M[Selenium WebDriver]
        M --> N[BOSS直聘网站]
        G --> L
    end
    
    subgraph "Prompt Management"
        O[prompt.py] --> P[Job_Search_Prompt Template]
        H --> O
    end
    
    subgraph "External Dependencies"
        N[BOSS直聘网站]
        K[DeepSeek API]
        Q[Local job.txt file]
        G --> Q
    end
    
    style A fill:#e1f5fe
    style C fill:#f3e5f5
    style F fill:#e8f5e8
    style I fill:#fff3e0
    style L fill:#fce4ec

Data Flow

  • Client requests job recommendations via MCP protocol
  • Server retrieves job listings (currently from local file, can use web scraping)
  • Combines job data with user resume using AI prompt template
  • Sends to DeepSeek API for intelligent matching
  • Returns personalized job recommendations and advice

How run the project

  • First, we need to install necessary packages
  • Then, prepare the data we need
  • Setup environment variables via the .env file
  • we use a local chromedriver to do web search, you should download it first

chromedriver_path="/Users/fengshiyi/Downloads/chromedriver-mac-x64/chromedriver"

  • Now, we can use args to specify the working directory and run the server:
uv --directory /Users/fengshiyi/Downloads/shayne/learning/LLM/py-projects/job-hunting-assistant/src/job_hunting_server run job-hunting-assistant
  • Claude Desktop or Cline
{
    "mcpServers": {
        "job_hunting_server": {
            "command": "uv",
            "args": [
              "--directory",
              "/Users/fengshiyi/Downloads/shayne/learning/LLM/py-projects/job-hunting-assistant/src/job_hunting_server",
              "run",
              "job-hunting-assistant"
            ]
          }
    }
  }