Skip to main content
Glama
MCP JobPilot Africa

MCP JobPilot Africa

MCP JobPilot Africa

CI GitHub Stars License: MIT Python: >=3.10 FastMCP PRs Welcome

🌟 If you find this project impactful, please give it a Star on GitHub! It helps African tech talent gain visibility across the global AI ecosystem.

MCP JobPilot Africa is an AI-powered Model Context Protocol (MCP) server designed to match African early-career talent with tech internships and job opportunities. It equips AI agents with tools for discovery, profile matching, gap analysis, application tracking, and interview coaching.


🎯 Features

Continental scope: JobPilot Africa supports discovery across all 55 African Union members and five regions, independently of the countries represented in its demo jobs. Country aliases work across French and English. See continental coverage and direction.

  • Pasted offer analysis: Compare an external job posting with a candidate's skills, review quoted evidence, and save reports locally. See scope and API.

  • Job Discovery: Search tech opportunities across Africa by keyword, country, remote allowance, and contract duration.

  • Skill Matching & Gap Analysis: Match candidate profiles against job prerequisites, compute match scores (0–100%), and receive targeted learning recommendations.

  • Application Tracking: Create and maintain candidate job applications with custom notes and status lifecycles (saved, applied, interview, offer, rejected).

  • Interview Preparation: Generate contextual technical and behavioral interview questions tailored to the candidate's profile and the employer's stack.

  • Preparation Checklist: Generate an actionable, prioritized preparation plan for upcoming interviews.


Related MCP server: Civify MCP Server

πŸ“‚ Project Structure

mcp-jobpilot-africa/
β”œβ”€β”€ data/                  # Demo JSON profiles and local SQLite storage
β”‚   β”œβ”€β”€ candidates.json
β”‚   └── jobs.json
β”œβ”€β”€ docs/                  # Architecture & Tool documentation
β”‚   β”œβ”€β”€ architecture.md
β”‚   └── tools.md
β”œβ”€β”€ src/
β”‚   └── jobpilot/
β”‚       β”œβ”€β”€ database/      # SQLite connection, schema, and demo seed
β”‚       β”œβ”€β”€ models/        # Pydantic v2 schemas (Job, Candidate, Application, MatchResult, ...)
β”‚       β”œβ”€β”€ services/      # Business logic (matching, job search, interview prep)
β”‚       β”œβ”€β”€ tools/         # FastMCP tools
β”‚       β”œβ”€β”€ mcp_app.py     # Shared FastMCP server instance
β”‚       └── server.py      # Entrypoint & CLI runner (stdio, sse, http)
└── tests/                 # Isolated pytest suite with dynamic SQLite fixtures

πŸš€ Quick Start

1. Installation

# Clone the repository
git clone https://github.com/Damasoumana1/mcp-jobpilot-africa-.git
cd mcp-jobpilot-africa-

# Create and activate virtual environment
python -m venv .venv

# On Windows:
.venv\Scripts\activate
# On Linux/macOS:
source .venv/bin/activate

# Install in editable mode
pip install -e .

2. Run the Server

Standard IO (stdio - Recommended for Claude Desktop / Cursor / Cline):

python -m jobpilot.server

Server-Sent Events (sse):

python -m jobpilot.server --transport sse --host 127.0.0.1 --port 8000

Interactive Web Dashboard:

python -m jobpilot.server --web
# Ou directement :
python -m jobpilot.web

Ouvrez ensuite votre navigateur sur http://localhost:8000 pour explorer les offres, tester le matching en direct, suivre vos candidatures et gΓ©nΓ©rer vos questions d'entretien.

FastMCP Dev Inspector:

fastmcp dev inspector src/jobpilot/server.py:mcp

πŸ”Œ Connecting to Claude Desktop / Cursor

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "jobpilot-africa": {
      "command": "python",
      "args": [
        "-m",
        "jobpilot.server"
      ],
      "cwd": "C:/Users/user/Desktop/mcp-jobpilot-africa"
    }
  }
}

πŸ› οΈ MCP Tools Overview (17 Tools)

Tool Name

Parameters

Description

get_geography

none

All 55 AU members, country aliases and five regions.

import_greenhouse_jobs

board, company, save

Preview or import real postings with source metadata. See job sources.

search_jobs

keywords, country, region, remote_only, min_duration_months

Search opportunities using country names/codes and five African regions.

get_job

job_id

Retrieve complete job details and required skills.

analyze_job_offer

candidate_id, job_text, title, company, source_url, save

Explain skill coverage from pasted text and optionally save the report.

list_job_analyses

candidate_id

Retrieve the latest saved offer reports.

create_job

job_id, title, company, skills, ...

Register or update a job opportunity in the database.

get_candidate

candidate_id

Retrieve full candidate profile including skills.

register_candidate

candidate_id, full_name, country, skills, ...

Create or update candidate profile and skills.

match_candidate_to_job

candidate_id, job_id

Weighted matching score, gap analysis, and mobility compatibility.

parse_resume

resume_text, candidate_id, auto_save

AI resume parser extracting skills, education, and syncing to profile.

create_application

candidate_id, job_id, status

Create a tracked application record.

update_application_status

application_id, status, notes

Update application progress and notes.

list_applications

candidate_id

List tracked applications for a candidate.

generate_cover_letter

candidate_id, job_id, tone

Generate tailored cover letter, email subject, and LinkedIn pitch.

generate_interview_questions

candidate_id, job_id, question_type, number

Generate targeted technical and behavioral questions.

get_application_checklist

candidate_id, job_id

Generate a prioritized preparation checklist.


πŸ§ͺ Running Tests

The test suite runs with fully isolated, temporary SQLite databases:

pytest -v

πŸ’» Modern Web UI (Vite + React 19 + Tailwind CSS)

To launch the modern frontend application:

cd frontend
npm install
npm run dev

Open http://localhost:5173 in your browser to experience:

  • Interactive tech job explorer with continent-wide filters and remote badges

  • Real-time AI weighted matching score with visual breakdown & skill gaps

  • Application pipeline with status tracking (saved, applied, interview, offer, rejected)

  • Interview studio with AI question generation and preparation checklists

  • Tailored cover letter & LinkedIn pitch generator with 1-click clipboard copy

  • Floating AI Career Copilot assistant


🀝 Contributing & Community

We are building MCP JobPilot Africa as an open-source, community-driven ecosystem to accelerate early-career tech talent across the African continent! Contributions of all forms are celebrated and welcomed:

  • πŸ’Ό Add tech jobs: Use our Submit Job Form to add local and remote opportunities.

  • πŸ€– Build MCP tools: Extend src/jobpilot/tools/ with new agentic capabilities (resume parsing, skill verification, mock audio interviews).

  • 🎨 Enhance the Web UI: Improve React components, Tailwind styling, charts, or accessibility.

  • 🌍 Internationalization (i18n): Help translate JobPilot Africa into French, Arabic, Swahili, Portuguese, and more.

  • πŸ› Report issues: Found a bug or edge case? Open an issue using our Bug Report Form.

πŸ‘₯ Contributors Hall of Fame

A massive thank you to everyone shaping the future of African tech talent! 🌟

Check out our Contributing Guide and Code of Conduct to make your first commit.


πŸ“„ License

Distributed under the MIT License.

Tool Schema Changelog

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

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to search verified tech and AI jobs, match resumes to roles with explainable fit scores, retrieve salary statistics, and prepare human-in-the-loop applications via the ENTRA job platform.
      8
      60 npm
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to search and filter thousands of tech job postings across nine boards and eight countries β€” including salary-transparent listings and Swiss and Singapore government portals β€” and to apply directly. It also tracks prior applications locally so already-applied roles are hidden from results.
      -