Skip to main content
Glama
Claude MCP Job Assistant

Claude MCP Job Assistant

by eric623

Claude MCP Job Assistant

Overview

Claude MCP Job Assistant is a production-ready MCP (Model Context Protocol) server designed to demonstrate how Tools, Resources, and Prompts can be orchestrated to build an intelligent job search assistant.

The project uses Claude Desktop as the MCP Host/Client and exposes a complete ecosystem for:

  • Searching job opportunities.

  • Saving interesting positions.

  • Performing labor market analysis.

  • Receiving personalized recommendations based on a resume.

  • Generating matching reports between a resume and saved jobs.

This project provides a practical introduction to the Model Context Protocol and illustrates how modern AI assistants can leverage MCP capabilities to deliver contextual and personalized experiences.


Related MCP server: jobjourney-claude-plugin

Features

  • MCP-compliant server implementation.

  • Integration with Claude Desktop.

  • Intelligent job search.

  • Job bookmarking and persistence.

  • Resume-based recommendations.

  • Labor market analysis.

  • Matching reports generation.

  • Modular architecture using MCP Tools, Resources, and Prompts.

  • Production-ready setup with uv.


Architecture

The MCP server is organized around the three core MCP primitives:

Tools

Tool

Description

search_jobs()

Retrieves job offers using an external API.

save_job()

Saves selected jobs in a structured format.


Resources

Resource

Description

resume://default

Loads the user's resume.

jobs://saved

Loads previously saved jobs.


Prompts

Prompt

Description

analyze_job_market()

Analyzes labor market trends.

personalized_job_recommender()

Suggests jobs, skills, and companies based on the user's resume.

create_match_report()

Generates a report comparing saved jobs with the user's resume.


Workflow

User
 ↓
Claude Desktop (MCP Host)
 ↓
MCP Job Assistant Server
 ├── Tools
 │   ├── search_jobs()
 │   └── save_job()
 │
 ├── Resources
 │   ├── resume://default
 │   └── jobs://saved
 │
 └── Prompts
     ├── analyze_job_market()
     ├── personalized_job_recommender()
     └── create_match_report()

 ↓
Generated Response

Technologies Used

  • Python

  • Model Context Protocol (MCP)

  • Claude Desktop

  • UV

  • External Job APIs

  • PDF Processing


Installation

1. Clone the Repository

git clone https://github.com/eric623/Claude-MCP-Job-Assistant.git

cd Claude-MCP-Job-Assistant

2. Install Dependencies

This project uses uv for dependency management.

uv sync

At this stage, the MCP server is ready to be launched by Claude Desktop.


Claude Desktop Configuration

Step 1: Install Claude Desktop

Download and install Claude Desktop from Anthropic.


Step 2: Open Developer Settings

Navigate to:

Settings → Developer → Edit Config

This opens the claude_desktop_config.json file.


Step 3: Add the MCP Server

Add the following configuration:

{
  "mcpServers": {
    "mcp_job": {
      "command": "uv",
      "args": [
        "--directory",
        "PATH_TO_PROJECT_DIRECTORY",
        "run",
        "server.py"
      ]
    }
  }
}

Replace PATH_TO_PROJECT_DIRECTORY with the absolute path to your local project folder.


Adding Your Resume

Place your CV inside the resume directory.

The file must be named exactly:

resume.pdf

Example:

Claude-MCP-Job-Assistant/
│
└── resume/
    └── resume.pdf

Important: Resume-based recommendations and matching reports require this file.


Launching the MCP Server

After saving the configuration:

  1. Completely close Claude Desktop.

  2. Reopen Claude Desktop.

You should now see:

mcp_job (Running)

in the Developer panel.


MCP Concepts Demonstrated

  • MCP Tools

  • MCP Resources

  • MCP Prompts

  • Claude Desktop Integration

  • Context-Aware AI Systems

  • Intelligent Job Search

  • External API Consumption

  • Personalized Recommendations

  • Modular MCP Server Design


Why This Project?

This project was built to explore and demonstrate the capabilities of the Model Context Protocol (MCP) by implementing a realistic use case centered around job exploration and career assistance.

It highlights how MCP enables:

  • Context-aware assistants.

  • Modular architectures.

  • Tool orchestration.

  • Resource management.

  • Prompt engineering.

  • Intelligent interactions between users and AI systems.


Author

AKAKPO Koffi Moïse

  • Interested in Agentic AI, Multi-Agent Systems, and Applied Artificial Intelligence.


Claude MCP Job Assistant demonstrates how the Model Context Protocol can be leveraged to build intelligent, modular, and extensible assistants through the coordinated use of Tools, Resources, and Prompts.

Available Tools

2 tools
save_jobA

Save a specific job from temporary list into candidate's saved folder.

If salary not provided, extract it from the fetched job data.

Args: job_id: The ID of the job to save. salary (optional): The salary of the job to save.

Returns: A string indicating the job was saved successfully.

Inputs: job_id (required), salary. Returns: result

search_jobsC

Fetch jobs using JSearch API and store them temporarily. Return key info.

Args: role: The role to search for. location: The location to search for. max_results: The maximum number of jobs to return.

Returns: A list of dictionaries containing the job information.

Inputs: role (required), location (required), max_results. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 2 tools

    Disambiguation4/5

    The two tools have clearly distinct purposes: search_jobs fetches and lists jobs, while save_job persists a specific job. There is no overlap in their functionality, making misselection unlikely.

    Naming Consistency4/5

    Both tools follow the verb_noun pattern (search_jobs, save_job) using lowercase snake_case. The consistency is good, though with only two tools there is limited evidence of a broader pattern.

    Tool Count2/5

    Two tools is quite thin for a job assistant server that presumably requires browsing and managing jobs. Missing operations needed for a complete workflow means the count feels inadequate for the domain.

    Completeness2/5

    The surface has notable gaps: there's no way to list or retrieve saved jobs, no delete/discard capability, no detailed view of a job, and no pagination beyond max_results. Agents could reach dead ends when trying to manage or review saved jobs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers