GetJobzi MCP server for job search, application tracking, and career forecasting.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Analyse 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.
Plain-text content of the resume/CV
Base64-encoded PDF content of the resume
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Analyse 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.
| Argument | Type | Description |
|---|---|---|
| resumeText | string | Plain-text content of the resume/CV |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
{
"type": "object",
"required": [],
"properties": {
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
}
},
"additionalProperties": false
}Score the health of a job search across three factors — application volume, interview conversion, and interview-to-offer conversion — and give a short written diagnosis. Takes the caller's own counts; will not invent numbers.
| Argument | Type | Description |
|---|---|---|
| months* | integer | Months spent searching |
| offers* | integer | Total offers received |
| interviews* | integer | Total interviews received |
| targetRole* | string | Target role, e.g. 'Software Engineer' |
| applications* | integer | Total applications submitted |
{
"type": "object",
"required": [
"targetRole",
"applications",
"interviews",
"offers",
"months"
],
"properties": {
"months": {
"type": "integer",
"description": "Months spent searching"
},
"offers": {
"type": "integer",
"description": "Total offers received"
},
"interviews": {
"type": "integer",
"description": "Total interviews received"
},
"targetRole": {
"type": "string",
"description": "Target role, e.g. 'Software Engineer'"
},
"applications": {
"type": "integer",
"description": "Total applications submitted"
}
},
"additionalProperties": false
}Analyse 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.
| Argument | Type | Description |
|---|---|---|
| targetRole* | string | The role they want to reach, e.g. 'Engineering Manager' |
| currentRole* | string | The role they're currently in, e.g. 'Software Engineer' |
| yearsExperience | integer | Optional years of experience |
{
"type": "object",
"required": [
"currentRole",
"targetRole"
],
"properties": {
"targetRole": {
"type": "string",
"description": "The role they want to reach, e.g. 'Engineering Manager'"
},
"currentRole": {
"type": "string",
"description": "The role they're currently in, e.g. 'Software Engineer'"
},
"yearsExperience": {
"type": "integer",
"description": "Optional years of experience"
}
},
"additionalProperties": false
}Propose 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.
| Argument | Type | Description |
|---|---|---|
| resumeText | string | Plain-text content of the resume/CV |
| targetRole* | string | Target role, e.g. 'Product Manager' |
| constraints | string | Optional constraints, e.g. 'must stay in the UK' |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
{
"type": "object",
"required": [
"targetRole"
],
"properties": {
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"targetRole": {
"type": "string",
"description": "Target role, e.g. 'Product Manager'"
},
"constraints": {
"type": "string",
"description": "Optional constraints, e.g. 'must stay in the UK'"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
}
},
"additionalProperties": false
}Create a practical, week-by-week job search plan for a target role, including weekly targets, sources and search strategies, and pitfalls to avoid.
| Argument | Type | Description |
|---|---|---|
| location | string | Optional location, e.g. 'Manchester' |
| situation | string | Optional free-text description of the candidate's current situation |
| targetRole* | string | Target role, e.g. 'Data Engineer' |
| timeAvailable | string | Optional time they can commit, e.g. '10 hours/week' |
{
"type": "object",
"required": [
"targetRole"
],
"properties": {
"location": {
"type": "string",
"description": "Optional location, e.g. 'Manchester'"
},
"situation": {
"type": "string",
"description": "Optional free-text description of the candidate's current situation"
},
"targetRole": {
"type": "string",
"description": "Target role, e.g. 'Data Engineer'"
},
"timeAvailable": {
"type": "string",
"description": "Optional time they can commit, e.g. '10 hours/week'"
}
},
"additionalProperties": false
}Diagnose 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.
| Argument | Type | Description |
|---|---|---|
| months* | integer | Months spent searching |
| interviews* | integer | Total interviews received |
| resumeText | string | Optional plain-text resume for additional context |
| targetRole* | string | Target role, e.g. 'Software Engineer' |
| applications* | integer | Total applications submitted |
{
"type": "object",
"required": [
"targetRole",
"applications",
"interviews",
"months"
],
"properties": {
"months": {
"type": "integer",
"description": "Months spent searching"
},
"interviews": {
"type": "integer",
"description": "Total interviews received"
},
"resumeText": {
"type": "string",
"description": "Optional plain-text resume for additional context"
},
"targetRole": {
"type": "string",
"description": "Target role, e.g. 'Software Engineer'"
},
"applications": {
"type": "integer",
"description": "Total applications submitted"
}
},
"additionalProperties": false
}Find 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results 1-20, default 10 |
| location | string | Optional UK location filter, e.g. 'London' or 'M1' |
| resumeText | string | Plain-text content of the resume/CV |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"description": "Max results 1-20, default 10"
},
"location": {
"type": "string",
"description": "Optional UK location filter, e.g. 'London' or 'M1'"
},
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
}
},
"additionalProperties": false
}Find 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results 1-20, default 10 |
| keyword* | string | Keyword or job title, e.g. 'Nurse' or 'Radiographer' |
| location | string | Optional UK location filter |
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max results 1-20, default 10"
},
"keyword": {
"type": "string",
"description": "Keyword or job title, e.g. 'Nurse' or 'Radiographer'"
},
"location": {
"type": "string",
"description": "Optional UK location filter"
}
},
"additionalProperties": false
}Generate 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.
| Argument | Type | Description |
|---|---|---|
| company | string | Optional company name |
| jobTitle* | string | Job title being applied for |
| resumeText | string | Plain-text content of the resume/CV |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
| jobDescription* | string | Full job description text |
{
"type": "object",
"required": [
"jobTitle",
"jobDescription"
],
"properties": {
"company": {
"type": "string",
"description": "Optional company name"
},
"jobTitle": {
"type": "string",
"description": "Job title being applied for"
},
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
},
"jobDescription": {
"type": "string",
"description": "Full job description text"
}
},
"additionalProperties": false
}Generate a personalised job hunting action plan for a job seeker targeting a specific role. Takes only the caller's own inputs (target role, resume, situation, goals).
| Argument | Type | Description |
|---|---|---|
| goals | string | Free-text description of what they're trying to achieve |
| situation | string | Free-text description of the current situation |
| resumeText | string | Plain-text resume content |
| targetRole* | string | The role the plan should be built around, e.g. 'Senior Data Analyst' |
| resumeBase64 | string | Base64-encoded PDF resume |
{
"type": "object",
"required": [
"targetRole"
],
"properties": {
"goals": {
"type": "string",
"description": "Free-text description of what they're trying to achieve"
},
"situation": {
"type": "string",
"description": "Free-text description of the current situation"
},
"resumeText": {
"type": "string",
"description": "Plain-text resume content"
},
"targetRole": {
"type": "string",
"description": "The role the plan should be built around, e.g. 'Senior Data Analyst'"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF resume"
}
},
"additionalProperties": false
}Full details of one job posting by its GetJobzi job id (from search_jobs), including the complete job description text.
| Argument | Type | Description |
|---|---|---|
| jobId* | integer | Job id from search_jobs results |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "integer",
"description": "Job id from search_jobs results"
}
},
"additionalProperties": false
}GetJobzi's UK salary benchmark: median advertised salary on each major UK job board, from GetJobzi's internal salary index. Answers questions like 'which job board has the best paid jobs' or 'is this advertised salary competitive'. Figures are advertised (not negotiated) salaries in GBP.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Identify skills a candidate is missing for a target role. If a job description is supplied, uses that; otherwise aggregates GetJobzi's live postings for the target role as the market signal. Returns present skills, missing skills (ordered by market frequency), how many postings were analysed, and notes.
| Argument | Type | Description |
|---|---|---|
| resumeText | string | Plain-text content of the resume/CV |
| targetRole* | string | Target role, e.g. 'Product Manager' |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
| jobDescription | string | Optional specific job description to scope the analysis |
{
"type": "object",
"required": [
"targetRole"
],
"properties": {
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"targetRole": {
"type": "string",
"description": "Target role, e.g. 'Product Manager'"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
},
"jobDescription": {
"type": "string",
"description": "Optional specific job description to scope the analysis"
}
},
"additionalProperties": false
}Review 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.
| Argument | Type | Description |
|---|---|---|
| resumeText | string | Plain-text content of the resume/CV |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
{
"type": "object",
"required": [],
"properties": {
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
}
},
"additionalProperties": false
}Analyse 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.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role title to analyse, e.g. 'Data Engineer' |
| months | integer | Months of history, 1-24, default 6 |
| location | string | Optional UK location filter |
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"description": "Role title to analyse, e.g. 'Data Engineer'"
},
"months": {
"type": "integer",
"description": "Months of history, 1-24, default 6"
},
"location": {
"type": "string",
"description": "Optional UK location filter"
}
},
"additionalProperties": false
}Compare a resume against a specific job description. Returns a 0.0-1.0 keyword-coverage score, matched keywords, missing keywords (ordered by frequency in the job description), and short notes. Deterministic — no LLM involved, will not invent gaps.
| Argument | Type | Description |
|---|---|---|
| resumeText | string | Plain-text content of the resume/CV |
| resumeBase64 | string | Base64-encoded PDF content of the resume |
| jobDescription* | string | Full job description text to compare against |
{
"type": "object",
"required": [
"jobDescription"
],
"properties": {
"resumeText": {
"type": "string",
"description": "Plain-text content of the resume/CV"
},
"resumeBase64": {
"type": "string",
"description": "Base64-encoded PDF content of the resume"
},
"jobDescription": {
"type": "string",
"description": "Full job description text to compare against"
}
},
"additionalProperties": false
}Search live UK job postings aggregated by GetJobzi from major UK job boards (Indeed, Reed, CV-Library, TotalJobs, LinkedIn, Adzuna, NHS Jobs and others). Returns matching active jobs with title, company, location, advertised salary, source board and posting date.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results 1-20, default 10 |
| keyword* | string | Keyword or job title, e.g. 'Java Developer' or 'Nurse' |
| location | string | Optional UK location filter, e.g. 'London' or 'M1' |
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max results 1-20, default 10"
},
"keyword": {
"type": "string",
"description": "Keyword or job title, e.g. 'Java Developer' or 'Nurse'"
},
"location": {
"type": "string",
"description": "Optional UK location filter, e.g. 'London' or 'M1'"
}
},
"additionalProperties": false
}Build 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.
| Argument | Type | Description |
|---|---|---|
| weeks | integer | Optional plan length in weeks, 2-52, default 12 |
| skillGaps* | array | List of skills to develop, e.g. from identify_skill_gaps |
| targetRole* | string | Target role the plan is built around |
{
"type": "object",
"required": [
"skillGaps",
"targetRole"
],
"properties": {
"weeks": {
"type": "integer",
"description": "Optional plan length in weeks, 2-52, default 12"
},
"skillGaps": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of skills to develop, e.g. from identify_skill_gaps"
},
"targetRole": {
"type": "string",
"description": "Target role the plan is built around"
}
},
"additionalProperties": false
}