JobLens MCP
The JobLens MCP server connects AI assistants to live job market data and local resume analysis tools, enabling real-time job search and career matching via ToS-compliant APIs.
Search Live Job Postings: Query real job listings by role/keywords, location, and country. Returns structured data including title, company, salary, and description via the Adzuna API.
List Job Categories: Retrieve supported job categories for a given country to discover available search filters.
Parse a Local Resume: Extract skills, email, and phone number from a local PDF or
.txtfile — all processing happens on-device.Match Resume to a Job: Score (0–100) how well a parsed resume fits a specific job description based on skill overlap, with a breakdown of matched and missing skills.
Search and Match in One Call: Combine job search and resume matching into a single operation, returning results ranked by match score (highest first).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JobLens MCPSearch for remote data engineer jobs and tell me which ones best match my resume at /Users/me/resume.pdf."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Table of Contents
Related MCP server: IAM MCP Server
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 a user's account at risk of a ban.
JobLens solves the same underlying problem — giving an AI assistant rich job-market context — using a free, official job-search API and local resume parsing instead. Same outcome, zero ToS risk.
Features
Feature | Description |
🔍 Live Job Search | Query real job postings (title, company, location, salary, description) via the Adzuna Jobs API |
📄 Resume Parsing | Extract skills, email, and phone from a local PDF/text resume — entirely on-device |
🎯 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 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.txtjobsource.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)
1. Clone the repository
git clone https://github.com/rohith-jpg/joblens-mcp
cd joblens-mcp2. 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.txt3. Add your API credentials
cp .env.example .env
# then edit .env with your ADZUNA_APP_ID and ADZUNA_APP_KEY4. Run the server
uv run main.py
# or
python main.pyConfigure 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
Additional job-board sources (USAJobs, RemoteOK, Greenhouse public job boards)
cover_letter_drafttool using match results to draft a tailored cover letterCaching/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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables users to search for jobs, retrieve profiles, and fetch feed posts through the LinkedIn API. It also provides tools for analyzing and extracting data from PDF resumes.Last updated
- Alicense-qualityCmaintenanceProcesses and manages applicant resumes, facilitates job searches, generates job-specific resumes, and creates tailored cover letters.Last updated1MIT
- Flicense-qualityBmaintenanceEnables AI clients to manage resumes, match job descriptions, and generate tailored PDF resumes.Last updated3
- FlicenseAqualityCmaintenanceEnables tailoring resumes to job descriptions by scraping JDs, applying rules, and generating optimized DOCX resumes.Last updated11
Related MCP Connectors
Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)
GetJobzi MCP server for job search, application tracking, and career forecasting.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rohith-jpg/joblens-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server