ENTRA Jobs
Verified AI/tech jobs from company ATSs: search, fit matching, salary stats; employer job posting
Should I use this
Quality & Safety
Findings (2)
- LOWin get_job
- LOWin match_profile
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"entra-mcp": {
"command": "npx",
"args": [
"entra-mcp"
]
}
}
}Runnable packages
0.4.0stdioRemote endpoints
https://mcp.entracareers.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
๐ขsearch_jobs(query, work_location, remote, country, company, ...)
Search thousands of verified AI & tech jobs on ENTRA (aggregated directly from company hiring systems โ zero ghost jobs). Filters: work location, country, company, annual salary, experience, posted_within_days. rank_by date | salary | fit (fit needs profile_keywords). Returns total_found and live roles with salary bands and apply links.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Free-text search, e.g. \"machine learning engineer\""
},
"work_location": {
"type": "string",
"enum": [
"remote",
"onsite",
"hybrid"
],
"description": "Filter by work location"
},
"remote": {
"type": "boolean",
"description": "Shorthand for work_location=\"remote\""
},
"country": {
"type": "string",
"description": "ISO-2 country code (US, GB, DE, AEโฆ) or country name"
},
"company": {
"type": "string",
"description": "Company slug or name, e.g. \"openai\" or \"Stripe\""
},
"salary_min": {
"type": "number",
"minimum": 0,
"description": "Minimum ANNUAL salary (default currency USD; ENTRA converts other currencies)"
},
"salary_currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"description": "Currency for salary_min (default USD)"
},
"experience": {
"type": "string",
"enum": [
"no_experience",
"1_3_years",
"3_6_years",
"6_plus_years"
],
"description": "Experience level"
},
"posted_within_days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "Only roles published in the last N days"
},
"rank_by": {
"type": "string",
"enum": [
"date",
"salary",
"fit"
],
"description": "date (default) ยท salary (listed bands only, highโlow) ยท fit (needs profile_keywords)"
},
"profile_keywords": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"description": "Candidate skills for rank_by=\"fit\", e.g. [\"python\",\"pytorch\",\"llm\"]"
},
"sort_by_salary": {
"type": "boolean",
"description": "Deprecated โ use rank_by=\"salary\""
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 10, max 50)"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขget_job(job_id)
Full details of one ENTRA job by id: description, requirements, skills, salary band, company, apply link.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Job id from search_jobs / match_jobs"
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขlist_companies(query, limit)
List companies hiring on ENTRA (OpenAI, Anthropic, SpaceX, Stripe and 300+ more) with open-role counts and profile links.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Filter by company name"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 20)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขmatch_jobs(resume_text, skills, target_role, remote_only, country, ...)
AI matching, live: pass resume_text (free text) or skills[] plus optional target_role / remote_only / country / min_salary. Extracts skills, role and seniority deterministically, runs 2โ4 searches, dedupes and ranks with an explainable fit_score (0โ100), why[], matched_skills, skill_gaps, salary and a qualitative interview_chance_hint. ENTRA finds and ranks; the human applies.
Input Schema
{
"type": "object",
"properties": {
"resume_text": {
"type": "string",
"maxLength": 8000,
"description": "Free-text resume / profile (โค8000 chars). Skills, role and seniority are extracted deterministically."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Key skills if you have no resume text, e.g. [\"python\",\"llm\",\"rag\"]"
},
"target_role": {
"type": "string",
"description": "Target role, e.g. \"machine learning engineer\" (overrides the role detected in resume_text)"
},
"remote_only": {
"type": "boolean",
"description": "Only remote roles"
},
"country": {
"type": "string",
"description": "ISO-2 country code or country name"
},
"min_salary": {
"type": "number",
"minimum": 0,
"description": "Minimum ANNUAL salary in USD"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Max matches (default 10, max 20)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขmatch_profile(skills, role_hint, remote_only, limit)
Backward-compatible alias of match_jobs: skills[] (+ role_hint, remote_only, limit) โ ranked verified roles with fit explanation.
Input Schema
{
"type": "object",
"properties": {
"skills": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Key skills / technologies, e.g. [\"python\",\"llm\",\"rag\"]"
},
"role_hint": {
"type": "string",
"description": "Target role, e.g. \"ML engineer\""
},
"remote_only": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 15
}
},
"required": [
"skills"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขsalary_stats(query, country, remote_only, experience)
Salary statistics for a role query from ENTRA listings that publish a band (up to 150 most recent): count_with_salary, min / p25 / median / p75 / max per currency (annualized; USD reported as USD-equivalent, other currencies as-is), top 5 companies by count. Listed bands only โ no estimates.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Role query, e.g. \"machine learning engineer\""
},
"country": {
"type": "string",
"description": "ISO-2 country code or country name"
},
"remote_only": {
"type": "boolean",
"description": "Only remote roles"
},
"experience": {
"type": "string",
"enum": [
"no_experience",
"1_3_years",
"3_6_years",
"6_plus_years"
],
"description": "Experience level"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขcompanies_hiring(query, country, remote_only, limit)
Which companies are hiring for a role right now: aggregates ENTRA search results (up to 300 most recent roles) into companies with open-role counts, sample titles, latest post date, verified flag and profile URLs.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Role query, e.g. \"AI engineer\""
},
"country": {
"type": "string",
"description": "ISO-2 country code or country name"
},
"remote_only": {
"type": "boolean",
"description": "Only remote roles"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Max companies (default 15, max 25)"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}๐ขprepare_application(job_id)
Prepare an application for an ENTRA job: returns the direct apply link and a short checklist. The human reviews and applies โ no auto-submission.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Job id from search_jobs / match_jobs"
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence