jobscan-mcp
Click on "Deploy 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., "@jobscan-mcp any new GRC postings this week?"
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.
jobscan-mcp
An MCP server over my job-scan-automation dataset: the daily market scan behind uae-remote-jobs-daily, exposed as tools that any MCP-capable AI client can call.
MCP (Model Context Protocol) is the open standard for giving AI models controlled access to tools and data. This server is the pattern in miniature and in production: my own dataset, four read-only tools, and a model on the other end that can suddenly answer questions like "any new GRC postings this week?" with real data instead of guesses.
Tools
Tool | What it does |
| Full text of the most recent daily scan |
| Search postings across the last N days of reports, links included |
| Per-day relevant/new counts: the pulse of the niche market |
| Whether the scanner's dedupe memory already knows a posting |
Related MCP server: joblet-mcp-grok
Setup
pipx install jobscan-mcpuvx jobscan-mcp works too if you prefer no install. Hacking on a clone instead:
python3 -m venv .venv
.venv/bin/pip install mcpIt reads ~/aiProjects/aminWork/job-research/scraper. Point JOBSCAN_DATA_DIR at your own data folder if your copy lives somewhere else.
Wire it into Claude Code:
claude mcp add jobscan -- jobscan-mcpRunning from a clone, point it at the venv instead:
claude mcp add jobscan -- /path/to/jobscan-mcp/.venv/bin/python /path/to/jobscan-mcp/jobscan_mcp.pyDemo
What it looks like from Claude Code:
> check the job scan: anything new in IAM in the last week?
⏺ jobscan · search_jobs("IAM", 7)
2 match(es) for 'IAM':
[2026-09-26] - **IAM Engineer** at Falconride Logistics
https://example.com/falconride/iam-engineer
[2026-09-23] - **Identity and Access Analyst** at Northgate Retail
https://example.com/northgate/iam-analyst
⏺ Two IAM roles surfaced this week. Falconride is the Dubai one,
Northgate is remote. Neither was in the scan before Tuesday.The postings above are demo data. The format is exactly what the server returns.
Design notes
Read-only by construction. Every tool reads files, nothing mutates the dataset. Giving a model tools means deciding what it must never be able to do, and here that decision is structural, not a prompt instruction.
Sanitization at the boundary. The underlying reports can carry the operator's personal notes, so the server strips them before anything crosses the protocol. Data boundaries belong in code, not in hope.
Small on purpose. Four tools, one file, standard library plus the
mcpSDK. An MCP server doesnt need to be a platform to be useful. It just needs to expose the right verbs over data you actually maintain.
About
Al Amin Bashir Afara, Dubai · github.com/aminafara123 · linkedin.com/in/aminafara
Available Tools
4 toolsis_seenBRead-onlyIdempotent
Whether the scanner's dedupe memory already contains this company+title posting (i.e. it has been surfaced before).
Inputs: title (required), company (required). Returns: result
latest_reportARead-onlyIdempotent
Full text of the most recent daily scan report (markdown).
Inputs: no named parameters. Returns: result
market_statsARead-onlyIdempotent
Per-day counts of relevant and new postings over the last N days, parsed from the reports: a quick pulse of the niche market.
Inputs: days. Returns: result
search_jobsARead-onlyIdempotent
Search postings in the last N days of reports. Case-insensitive substring match over title/company lines; returns each hit with its link and the report date it appeared.
Inputs: query (required), days. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: latest_report returns raw markdown, search_jobs finds matching postings, market_stats aggregates counts, and is_seen checks dedupe memory. There is no meaningful overlap in agent selection.
All names use snake_case, but the semantic convention is mixed: latest_report is adjective_noun, search_jobs is verb_noun, market_stats is noun_noun, and is_seen is a past-participle boolean check. The names are readable but not predictable as a set.
Four tools are well-scoped for a read-only job scan report server. Each tool earns its place: latest report access, search, aggregate stats, and dedupe lookup.
The surface covers common queries over recent reports but lacks a way to list available report dates or fetch a specific older report by date. search_jobs and market_stats work only over the last N days, leaving a notable gap for historical full-report access.
Maintenance
Related MCP Connectors
Free, read-only access to job listings rated by AI level, from Little AI to Builds AI.
Search AI tools, browse categories and read tool details with source links. Free, read-only access.
Free, read-only data on about 4,900 AI companies, open AI jobs and dated AI news, with source links.
Query professional profiles, search candidates, and get AI-powered summaries and job fit analysis.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to search, rank, and explain job matches through a secure read-only interface that blocks prompt injections and unsafe content.4MIT
- -licenseNot gradedqualityCmaintenanceEnables Grok and any standards-compliant MCP host to search joblet.ai job postings and retrieve full job details, including requirements, responsibilities, salary, and apply links, through read-only tools.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to crawl, analyze, and query job description (JD) data from recruitment sites via MCP, with tools for searching jobs, viewing statistics and portraits, and running local analysis on privately stored data.MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search a public job catalog by query, AI level, remote/city/company/recency, retrieve full job records, and look up AI levels for job titles without an API key. It provides read-only access via stdio or a hosted HTTP endpoint.MIT