job-mcp
Aggregates and matches software engineering job listings from Amazon's direct career feeds, including scoring, deduplication, and optional application workflows.
Aggregates and matches software engineering job listings from Apple's direct career feeds, including scoring, deduplication, and optional application workflows.
Aggregates and matches software engineering job listings from Google's direct career feeds, including scoring, deduplication, and optional application workflows.
Sends structured notifications about new top-tier job matches to a Telegram channel and includes a notifier testing tool.
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., "@job-mcpfind data engineer jobs matching my CV and apply to top matches"
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.
Israeli Multi-Source Tech Job FastMCP Server (TechJobMCP)
An enterprise-grade, privacy-first FastMCP server providing intelligent, multi-source tech job aggregation, smart deduplication, dynamic CV skill & target role extraction, requirement coverage scoring, zero-guesswork Universal DOM form automation, and autonomous job scouting workflows across HireMeTech, Comeet ATS, Workday Enterprise, Eightfold.ai, DirectTech (Google, Apple, Amazon, IBM), and LinkedIn.
๐ Documentation Guides
๐ Setup & Candidate Profile Configuration Guide โ Dynamic CV extraction, target roles, environment config, Docker & Python local run.
๐ Cloudflare Tunnel & Port Export Guide โ Exposing port 8000 via
cloudflaredfor remote AI clients.๐ค AI Client Integrations Guide โ Complete setup for Gemini Spark (autonomous scheduled scout), Claude Desktop / CoWork, ChatGPT / Codex, and Cursor / Antigravity.
๐ ๏ธ Spark Prompts & Skills โ System prompt and skill instructions for autonomous scouting agents.
Related MCP server: JobHound
๐๏ธ Architecture Overview
graph TD
Client([MCP Client: Gemini Spark / Claude / Cursor / ChatGPT]) --> Tools[FastMCP Server Layer]
Tools --> Aggregator[JobAggregator]
Aggregator --> Registry[SourceRegistry]
subgraph Parallel Pluggable Sources Layer
Registry --> S1[HireMeTechSource<br/>Direct REST API + DOM Fallback]
Registry --> S2[ComeetSource<br/>Direct ATS API + Concurrency Semaphore]
Registry --> S3[WorkdaySource<br/>Enterprise Workday CXS Direct API]
Registry --> S4[EightfoldSource<br/>PCSX Search API]
Registry --> S5[DirectTechSource<br/>Google, Apple, Amazon, IBM Feeds]
Registry --> S6[LinkedInSource<br/>Job Guest Search API]
end
subgraph Processing & Normalization Engine
S1 --> Dedup[Deduplication & Entity Merger]
S2 --> Dedup
S3 --> Dedup
S4 --> Dedup
S5 --> Dedup
S6 --> Dedup
Dedup --> NormKey["Key = slug(title) + '@' + slug(company)"]
NormKey --> Merge[Metadata & Links Merger]
Merge --> Scorer[Unified CV / Skill Matcher]
end
subgraph Dynamic Candidate Engine
CV["Candidate CV (.pdf / .docx / .txt)"] --> Extractor[Dynamic CV & Profile Extractor]
Extractor --> Skills["Extracted Skills (40+ tokens)"]
Extractor --> Stack["Primary Tech Stack (Top Skills)"]
Extractor --> Seniority["Inferred Seniority & Exclusions"]
Extractor --> Roles["Dynamic Target Roles"]
Skills --> Scorer
Stack --> Scorer
Seniority --> Scorer
Roles --> Scorer
end
subgraph Autonomous Application Engine
Tools --> Dispatcher["HybridApplicationDispatcher"]
Dispatcher --> Guardrails{"Safety Guardrails<br/>Cap / Dups / Score / IL"}
Guardrails --> StrategyRouter["Strategy Selector"]
StrategyRouter --> BrowserStrategy["BrowserPlaywrightStrategy"]
StrategyRouter --> ApiStrategy["ApiPostStrategy"]
StrategyRouter --> EasyApply["EasyApplyStrategy"]
BrowserStrategy --> DOMInspector["Universal DOMInspector<br/>Recursive Frames & Zero-Guesswork"]
BrowserStrategy --> FormMapper["SemanticFormMapper<br/>Regex + Free-Tier LLM Gateway"]
Dispatcher --> Ledger[("ApplicationLedger (SQLite)")]
end
Scorer --> Cache[Unified JobCache - 2h TTL]
Cache --> Tools๐ Key Features
Dynamic Candidate Extraction:
Ingests
.pdf,.docx, and.txtresumes for any engineering specialty (Java, Python, Frontend, DevOps, AI, Web3).Automatically derives candidate
primary_stackandtarget_roleswithout hardcoded assumptions.Detects seniority level (Student, Junior, Mid, Senior, Lead) and generates tailored negative keywords.
Calibrated Match Scoring (0โ100):
Primary Stack Affinity: Heavily weights candidate's core technologies (+35 pts).
Skill Volume Scaling: Scales with absolute count of matched core competencies (4+ skills = 30 pts; 1 generic skill = 8 pts max).
Target Role Semantic Fit: Awards +15 pts for developer titles matching target roles; caps non-engineering/administrative positions at 65 pts.
Commute & Location Normalization: Normalizes country codes (
", IL",Israel,ืืฉืจืื) and handles peripheral on-site roles.
Universal Dynamic DOM Form Solver:
Zero-Guesswork DOM Inspection: In-browser JS evaluation traverses main documents and recursive
iframes(e.g., Comeet embedded forms, Workday modal overlays).11-Tier Contextual Label Resolution: Matches labels using
aria-label,<label for>, preceding text, fieldsets, and placeholders.Deterministic & AI-Assisted Submission: Deterministic keyword scoring (+65 to +100 for submit buttons, -100 for negative/cancel actions) with LLM disambiguation fallback.
Resilient Free-Tier LLM Gateway & Caching:
Multi-provider fallback chain (Gemini Flash Lite -> OpenRouter -> Ollama -> Heuristic Mock).
Token-bucket rate limiting (15 RPM) and jittered exponential backoff retries.
Zero-cost SQLite semantic caching (
llm_cache.db) for questionnaire answers.
Safety Guardrails & Application Ledger:
Audit log in SQLite (
application_ledger.db).Duplicate prevention (
is_appliedcheck).Fail-closed master switch (
AUTO_APPLY_ENABLED=false).Israel/Remote location enforcement and daily run caps (
MAX_DAILY_APPLICATIONS).
๐ ๏ธ Tool Reference (15 Tools)
Tool Name | Parameters | Description |
|
| Composite Scout Tool: Runs end-to-end multi-source aggregation, scoring, bookmarking, and safe application execution in one call. |
| none | Lists all registered job sources, capabilities, and real-time health. |
|
| Fetches matched listings across all or specified platforms with deduplication. |
|
| Scores and filters aggregated jobs against candidate CV and preferences. |
|
| Saves/favorites a job listing on the originating platform. |
|
| Dismisses/hides a job listing from view and removes it from cache. |
|
| Step 1: Inspects application modal, stages dynamic preview, maps form fields, and reports warnings. |
|
| Step 2: Executes application submission via Playwright DOM / API POST. Requires explicit confirmation or force. |
|
| Retrieves the immutable audit log of past application submissions from |
| none | Discovers and calibrates DOM selectors against live pages with self-healing heuristics. |
|
| Dedicated LinkedIn search tool returning normalized Job models. |
|
| Fetches rich job description and metadata for a specific LinkedIn posting. |
|
| Sends structured notification digest of new top-tier job opportunities. |
|
| Tests notification channel configuration. |
|
| Switches server execution mode between supervised and autonomous. |
โก Quick Start
1. Clone & Configure
git clone https://github.com/zvieli/TechJobMCP.git
cd TechJobMCP
# Copy your CV and setup environment
cp /path/to/your/resume.pdf ./cv.pdf
cp .env.example .env2. Run with Docker Compose
docker compose up -d
docker compose logs -f techjob-mcp3. Export Public HTTPS Port for AI Clients
curl -L --output cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared
./cloudflared tunnel --url http://localhost:8000Connect the generated https://<tunnel-id>.trycloudflare.com/mcp URL to your AI client. See AI Client Integrations Guide for full setup instructions.
๐งช Running Tests
Run the full automated test suite (654 unit and integration tests):
.venv/bin/pytest๐ License
This project is licensed under the MIT License.
This server cannot be installed
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 Connectors
Auto-apply to jobs: matches your CV, tailors a fresh CV per posting, and applies for you.
Job platform for AI agents. Track tech jobs from companies that match your stack.
Tailored, graded job applications: a CV, cover letter and form answers built per vacancy.
AI resume triage for recruiters. Query your candidate pool from Claude or ChatGPT.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables users to search for jobs, prefill applications using AI, and automate submissions across major platforms like Lever and Ashby directly from Claude or Cursor. It provides a full suite of tools for managing job queues, profile data, and resumes within a chat interface.35MIT
- AlicenseAqualityCmaintenanceEnables autonomous job search by scanning, scoring, and applying to jobs via APIs like Ashby, Greenhouse, and Lever, with a TUI dashboard for tracking.91MIT
- FlicenseNot gradedqualityDmaintenanceAutomates job application tracking and resume/cover letter generation using AI, integrating with Google Drive, Notion, and Gmail.1-
- AlicenseNot gradedqualityCmaintenanceAn AI-powered job search and application assistant that enables multi-source job hunting, OpenAI matching, cover letter generation, and hybrid application automation via Playwright, Chrome CDP, screen OCR, and manual assist.MIT