Skip to content

Medalcode/Pathwise

Repository files navigation

🧭 Pathwise β€” Smart Career Navigation (Python MCP)

Pathwise is an intelligent career automation platform refactored to Python + FastMCP. Provides MCP tools for profile management, job search, cover letters, application tracking, and automated form filling.

πŸš€ Key Features

  • Profile Management β€” Store and manage professional profiles with skills, experience, and education
  • AI CV Parsing β€” Extract structured data from PDF CVs (regex or AI-powered via RouteMCP)
  • Cover Letter Generation β€” Tailored cover letters using RouteMCP AI
  • Job Search β€” Scrape 7 Chilean job boards (ChileTrabajos, CompuTrabajo, Laborum) + LinkedIn
  • Smart Auto-Apply β€” AI-powered form detection and filling with BrowserMCP (Selenium)
  • Application Tracking β€” Track applications with status, stats, search, and weekly reports
  • Company Research β€” Research companies via Google + RouteMCP AI
  • Interview Preparation β€” Generate questions and talking points from job descriptions

πŸ› οΈ Tech Stack

  • Runtime: Python 3.11+
  • Framework: FastMCP (MCP protocol via stdio)
  • Database: SQLite (WAL mode) with FTS5 full-text search
  • AI: RouteMCP (Llama 3.3 70B via Groq)
  • Browser: Selenium + Chromium (external debug port 9226)
  • PDF: PyMuPDF + PyPDF2
  • Scraping: httpx + BeautifulSoup4
  • ScrapeMCP: Optional generic fallback scraper

πŸ“¦ MCP Tools (30 total)

Profile

  • profile_load, profile_list, profile_save, profile_delete, profile_generate_personas

Job Search

  • job_search, job_search_from_profile, linkedin_search, linkedin_scroll

Applications

  • application_list, application_get, application_create, application_update, application_update_status, application_delete, application_stats, search_applications, get_weekly_report

Cover Letters

  • cover_letter_generate, cover_letter_suggest_improvements

CV

  • cv_parse_pdf

Setup

  • scripts/setup.sh β€” Check Chrome/chromedriver, Python deps, and RouteMCP

Auto-Apply (BrowserMCP)

  • auto_apply_pipeline, smart_analyze_form, smart_fill_form, fill_application_field, click_application_button, application_form_fields, batch_apply

Company Research

  • company_research

Interview

  • interview_prepare

πŸ€– MCP Connection Setup

Configure MCPs in Claude Code

MCPs are configured via ~/.mcp.json:

{
  "mcpServers": {
    "pathwise": {
      "command": "python",
      "args": ["/path/to/pathwise/server.py"]
    },
    "routemcp": {
      "command": "routemcp",
      "disabled": true,
      "note": "Configure ROUTEMCP_URL"
    },
    "scrapemcp": {
      "command": "scrapemcp",
      "disabled": true,
      "note": "Configure SCRAPEMCP_URL"
    },
    "browsermcp": {
      "command": "browsermcp",
      "disabled": true,
      "note": "Configure BROWSERMCP_URL"
    }
  }
}

Environment Variables

# Pathwise Configuration
PATHWISE_DB_PATH=pathwise.db
PATHWISE_PROFILE_PATH=profile.json

# External MCP URLs (when enabled)
ROUTEMCP_ENABLED=true
ROUTEMCP_URL=http://localhost:8000

SCRAPEMCP_ENABLED=true
SCRAPEMCP_URL=http://localhost:8001

BROWSERMCP_ENABLED=true
BROWSERMCP_URL=http://localhost:8002

πŸš₯ Getting Started

# Check environment
bash scripts/setup.sh

# Install dependencies
uv sync

# Start Chrome with remote debugging (required for auto-apply)
DISPLAY=:0 chromium --no-sandbox --remote-debugging-port=9226 --user-data-dir=$HOME/snap/chromium/common/chromium &

# Run the MCP server
python server.py

πŸ›οΈ Project Structure

Pathwise/
β”œβ”€β”€ server.py              # FastMCP entry point
β”œβ”€β”€ config.py              # Environment configuration
β”œβ”€β”€ pyproject.toml         # Python project config
β”œβ”€β”€ AGENTS.md              # Agent instructions
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ __init__.py        # SQLite connection + schema seed
β”‚   └── repos/
β”‚       β”œβ”€β”€ profiles.py    # Profile CRUD
β”‚       └── applications.py # Application CRUD
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ ai_provider.py     # RouteMCP AI integration
β”‚   β”œβ”€β”€ cv_service.py      # PDF parsing
β”‚   β”œβ”€β”€ job_service.py     # Job search + matching
β”‚   β”œβ”€β”€ form_filler.py     # Smart form detection and field filling
β”‚   β”œβ”€β”€ scraper_engine.py  # Unified retry + ScrapeMCP fallback
β”‚   β”œβ”€β”€ company_research.py # Company research via Google + AI
β”‚   └── scrapers/
β”‚       β”œβ”€β”€ chiletrabajos.py
β”‚       β”œβ”€β”€ computrabajo.py
β”‚       β”œβ”€β”€ indeed.py
β”‚       β”œβ”€β”€ getonboard.py
β”‚       β”œβ”€β”€ trabajando.py
β”‚       β”œβ”€β”€ remoteok.py
β”‚       └── laborum.py        # JSON API with JWT auth
β”œβ”€β”€ scripts/
β”‚   └── setup.sh           # Environment setup checker
β”œβ”€β”€ tools/                 # MCP tool definitions
β”‚   β”œβ”€β”€ profile_tools.py
β”‚   β”œβ”€β”€ job_tools.py
β”‚   β”œβ”€β”€ application_tools.py
β”‚   β”œβ”€β”€ auto_apply_tools.py
β”‚   β”œβ”€β”€ cover_letter_tools.py
β”‚   β”œβ”€β”€ cv_tools.py
β”‚   └── interview_tools.py
β”œβ”€β”€ web-dashboard/         # Frontend (Vanilla JS)
β”œβ”€β”€ extension/             # Chrome Extension (MV3)
└── docs/                  # Documentation

Developed by MedalCode β€” Pathwise is your terminal for professional infiltration.

About

Pathwise is an intelligent career automation platform designed to streamline the job application process using AI-driven profile optimization and seamless browser integration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors