A side-by-side look at the Freehire and Getjobzi MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Freehire for workplace & productivity work as a local process; choose Getjobzi MCP for workplace & productivity over a hosted endpoint. You can also run both side by side in one mcpServers block.
FREEHIRE_TOKEN, FREEHIRE_API_URL.whoami, facets, search.market_demand_analysis, career_strategy, generate_cover_letter.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Workplace & Productivity | Workplace & Productivity |
| Quality signal | 61/100 · Good | 55/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | FREEHIRE_TOKENFREEHIRE_API_URL | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 3 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 32 | 18 |
| Full listing | View Freehire | View Getjobzi MCP |
whoamiReturn the authenticated freehire user (verifies the API key). Call this to confirm auth before other tools.facetsList the market's filter vocabulary: every facet's live values with a vacancy count each, plus the skills list and numeric ranges. Call this FIRST to discover real values for `search` and `market_fit` — do not invent facet values. A filter key the API does not recognise is ignored rather than refused, so a result wrapped as {data, ignored} counted a broader market than the one asked for — retry with the suggested name before quoting any number from it.searchSearch open jobs by keyword with optional facet filters. Each result carries the job's FULL description as markdown alongside title, company, location and public_slug, plus the total match count — so you can screen a whole result set without calling `job` per hit. Use the returned slug with `job`, `apply`, `save`, etc. Two traps worth knowing. Geography (region/country/city) is ONE OR-group: passing region AND country widens rather than narrows, so drop the region to search a single country. And a filter param the API does not recognize is ignored rather than refused — the search still runs, just broader — so when a result carries an `ignored` list, its `total` answers a wider question than the one asked; retry with the suggested name before reporting the number.market_fitScore a skill list against the live open-vacancy market for a filtered role: headline coverage (% of vacancies listing ≥1 skill), must-have skills held, and the missing skills that unlock the most vacancies. Here `skills` is the MEASURED set, not a filter — use facet params to define the role. One skill probes that skill's demand.jobFetch a single job's full content by slug (title, company, location, posting URL, description).companyFetch a company and its open jobs by company slug.applyMark a job as applied for the authenticated user. Idempotent.saveBookmark a job for later. Idempotent.unsaveRemove a job's bookmark. A no-op if it was not saved.stageSet a job's application stage. The server validates the value; valid stages are applied/screening/responded/interview/offer/accepted/rejected/withdrawn.noteAttach a free-text note to a tracked job (overwrites the existing note).myList the caller's tracked jobs (viewed/saved/applied) with their stage and note. Filter narrows the set.market_demand_analysisAnalyse live UK market demand for a role over the last N months (default 6): total postings, month-by-month trend, top hiring employers, and top locations. Deterministic — reads GetJobzi's aggregated posting data directly.career_strategyPropose a 90-day job-search strategy for a specific target role, grounded in the candidate's resume: positioning, target segments, outreach approach, application cadence, and what to stop doing.generate_cover_letterGenerate a tailored, plain-text cover letter for a specific job, grounded in the candidate's resume. Does not invent experience. Provide the resume as plain text or base64 PDF, plus the job title and full job description.linkedin_reviewReview a resume and produce LinkedIn-optimised copy: a headline (max 220 chars), an About section (max 2600 chars, first-person), 10-15 top skills, and short review notes on what to improve. Grounded in the resume — will not invent experience.analyze_resumeAnalyse a CV/resume and return a 0-100 ATS-readiness score, word and keyword counts, the top extracted keywords, and specific notes on gaps or issues (missing contact details, missing section headers, length problems). Provide the resume as plain text via resumeText, or as a base64-encoded PDF via resumeBase64.career_path_analysisAnalyse the realistic path from a current role to a target role: 4-6 ordered milestones, a realistic estimated timeline, the skills to acquire, and a short narrative covering trade-offs.create_job_search_planCreate a practical, week-by-week job search plan for a target role, including weekly targets, sources and search strategies, and pitfalls to avoid.skill_development_planBuild a structured development plan to close a set of skill gaps for a target role: what to learn, how to practice, a small deliverable per skill, and a week-by-week schedule. Pair with identify_skill_gaps — feed its missingSkills straight into this.diagnose_job_searchDiagnose why a job search isn't producing interviews, from caller-supplied application/interview counts. Returns interview conversion, likely issues, priority actions, and an optional short narrative (null if generation failed — never fabricated). This is a lightweight, stateless diagnostic — it does not use GetJobzi's account-level job search history and never states or implies a probability of being hired.get_job_detailsFull details of one job posting by its GetJobzi job id (from search_jobs), including the complete job description text.find_sponsored_jobsFind NHS job postings — NHS trusts are licensed visa sponsors, so most roles at these trusts are eligible for Skilled Worker sponsorship where the salary meets the threshold. Filtered to NHS Jobs postings only. Returns the same shape as search_jobs, with the full job description included.find_matching_jobsFind live UK job postings that match a candidate's resume. Extracts the top keywords from the resume, searches GetJobzi's aggregated postings, and ranks results by similarity between the resume text and each posting's description.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"freehire": {
"command": "npx",
"args": [
"-y",
"freehire-mcp"
],
"env": {
"FREEHIRE_TOKEN": "YOUR_FREEHIRE_TOKEN_HERE",
"FREEHIRE_API_URL": "YOUR_FREEHIRE_API_URL_HERE"
}
}
}
}
{
"mcpServers": {
"getjobzi-mcp": {
"url": "https://www.getjobzi.com/mcp"
}
}
}