JobLens MCP
Provides job search, local resume parsing, and resume-to-job matching via official APIs and local file processing.
README
JobLens MCP
A Model Context Protocol (MCP) server that gives Claude (or any MCP-compatible AI assistant) structured, live context about jobs and careers: search real job postings, parse a resume locally, and score how well a resume matches a given job — all through official, ToS-compliant APIs and local file parsing. No scraping, no stored platform passwords, no automated browser logins.
Why this exists
Most "LinkedIn scraper" MCP servers automate a real login through Selenium and scrape profile/job pages — which violates LinkedIn's Terms of Service and puts your account at risk. JobLens solves the same underlying problem (give an AI assistant rich job-market context) using a free, official job-search API and local resume parsing instead.
Features
- Live Job Search — query real job postings (title, company, location, salary range, description) via the Adzuna Jobs API
- Resume Parsing — extract skills, email, and phone from a local PDF or text resume, entirely on your machine
- Resume-to-Job Match Scoring — transparent skill-overlap score (0–100) between a parsed resume and any job description, with matched/missing skills listed
- Search + Match — one call that searches jobs and ranks them by fit to your resume
Architecture
joblens-mcp/
├── src/joblens_mcp/
│ ├── server.py # MCP server + tool definitions (FastMCP)
│ ├── jobsource.py # Adzuna API client (swap for any job-board API)
│ └── resume.py # Local resume parsing + match scoring
├── main.py # Entry point
├── pyproject.toml
└── requirements.txt
jobsource.py is intentionally isolated from server.py — swapping Adzuna for USAJobs, Indeed's Publisher API, RemoteOK, or Jooble means editing one file, not the MCP tool layer.
Installation
Prerequisites
- Python 3.10+
- A free Adzuna API
app_idandapp_key(instant signup, no scraping involved)
Step 1: Clone the repository
git clone https://github.com/<your-username>/joblens-mcp
cd joblens-mcp
Step 2: Set up environment & install dependencies
Using uv (recommended):
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate # macOS/Linux
uv pip install -e .
Or with plain pip:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Step 3: Add your API credentials
cp .env.example .env
# then edit .env with your ADZUNA_APP_ID and ADZUNA_APP_KEY
Running the server
uv run main.py
# or
python main.py
Configure Claude Desktop
Add this to your Claude Desktop config (Settings → Developer → Edit Config):
{
"mcpServers": {
"joblens": {
"command": "/path/to/uv",
"args": ["--directory", "/path/to/joblens-mcp", "run", "main.py"],
"env": {
"ADZUNA_APP_ID": "your_app_id",
"ADZUNA_APP_KEY": "your_app_key"
}
}
}
}
Restart Claude Desktop, then look for the tools (hammer) icon to confirm JobLens is connected.
Example prompts
- "Search for remote data engineer jobs and tell me which ones best match my resume at
/Users/me/resume.pdf." - "Parse my resume and tell me what skills I'm missing for a Senior Backend Engineer role."
- "What job categories does the search API support for the UK?"
Roadmap ideas
- Swap in additional job-board sources (USAJobs, RemoteOK, Greenhouse public job boards)
- Add a
cover_letter_drafttool that uses match results to draft a tailored cover letter - Add caching/rate-limit handling for high-volume searches
License
MIT — see LICENSE.
Acknowledgements
Built using the Model Context Protocol Python SDK and the Adzuna Jobs API.
Note: This project deliberately avoids any LinkedIn scraping or automated login. All data sources used are official, public APIs or files the user provides locally.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.