Skip to main content

jobscan-mcp

M8ven Score

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
latest_report() Full text of the most recent daily scan
search_jobs(query, days) Search postings across the last N days of reports, links included
market_stats(days) Per-day relevant/new counts: the pulse of the niche market
is_seen(company, title) Whether the scanner's dedupe memory already knows a posting

Setup

pipx install jobscan-mcp

uvx jobscan-mcp works too if you prefer no install. Hacking on a clone instead:

python3 -m venv .venv
.venv/bin/pip install mcp

It 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-mcp

Running 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.py

Demo

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 mcp SDK. 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

Release files for jobscan-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jobscan-mcp 1.0.1
File Size Uploaded
jobscan_mcp-1.0.1.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jobscan-mcp 1.0.1
File Interpreter ABI Platform
jobscan_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 kB

Release files / jobscan_mcp-1.0.1.tar.gz

Download URL jobscan_mcp-1.0.1.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
07489715acf60d72d9f5da02b2e026382db880aa506fd2d4dc578e500fc58804
BLAKE2b-256 checksum
How to use checksums
006f07cecd319f0b0996570cfd8bfea4f31266528219998a7eeb6be85624a258
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / jobscan_mcp-1.0.1-py3-none-any.whl

Download URL jobscan_mcp-1.0.1-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbcf63a3e3bc55149a22e9186e889227ee8bed0d6cc14ad161f90f9996b35994
BLAKE2b-256 checksum
How to use checksums
3bb9105034965ccb4849cd22b602fdcdd027f532a48a85450116eb6295f4ea57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page