Landed
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"landed": {
"url": "https://mcp.landed.jobs/mcp"
}
}
}Remote-Endpunkte
https://mcp.landed.jobs/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢search_jobs(query, role, seniority, skills, locations, ...)
Search Landed's live job corpus for AI-native roles and get a ranked, fit-scored shortlist. Fill the structured fields (role, skills, work mode, physical locations, remote-eligibility countries/regions, seniority, comp, industries…) from the user's request — they drive the ranking. Physical locations are resolved to stable places; use ISO country codes and canonical region codes when known. You may also pass a free-text "query"; it's parsed into the same filters and used as a semantic nudge. Free tier: up to a shared budget of jobs for anonymous callers (each returned job counts). Authenticated callers (Authorization: Bearer <API token>) get unlimited, brief-personalized results.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 400,
"description": "Free-text description of the ideal job, in the user’s own words. Parsed server-side into structured filters; also used as a semantic nudge."
},
"role": {
"type": "string",
"maxLength": 120,
"description": "Target role or title family, e.g. \"AI Engineer\", \"RAG Engineer\", \"Data Scientist\"."
},
"seniority": {
"type": "string",
"maxLength": 60,
"description": "Seniority target, e.g. \"junior\", \"mid\", \"senior\", \"staff\", \"lead\"."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"description": "Core skills / technologies the role should involve, e.g. [\"RAG\", \"LangChain\", \"Python\"]."
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Preferred physical cities/countries as exact labels; include country for ambiguous cities, e.g. [\"Bengaluru, India\", \"London, UK\"]. Resolved server-side to stable place IDs."
},
"regions": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Legacy human-readable remote eligibility regions/countries, e.g. [\"APAC\", \"India\"]. Prefer regionCodes/countryCodes when known."
},
"countryCodes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"maxItems": 20,
"description": "ISO 3166-1 alpha-2 countries where the job may be based or remotely eligible, e.g. [\"IN\"]."
},
"regionCodes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"apac",
"emea",
"americas"
]
},
"maxItems": 3,
"description": "Canonical remote eligibility regions."
},
"workAuthorizationCountryCodes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"maxItems": 20,
"description": "ISO country codes where the candidate is authorized to work."
},
"remote": {
"type": "string",
"enum": [
"remote",
"hybrid",
"onsite"
],
"description": "Work mode preference."
},
"minComp": {
"type": "number",
"description": "Minimum acceptable base compensation (numeric)."
},
"currency": {
"type": "string",
"maxLength": 8,
"description": "Currency for minComp, e.g. \"USD\"."
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Preferred company industries / sectors."
},
"companyStages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Preferred company stages, e.g. [\"seed\", \"series-a\", \"public\"]."
},
"avoid": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Companies or sectors to avoid."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "How many jobs to return."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job_form(jobId)
Get the application form for a job (by the jobId returned from search_jobs), so you can prepare answers before the user applies. Fields are grouped: "standard" (auto-fillable from a candidate profile via mapsTo), "screening" (free-text questions to draft from the résumé/experience), and "eeo" (leave to the user). Always free — a job's form is only reachable once you've already found the job via search_jobs.
Eingabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"minLength": 1,
"description": "The jobId from a search_jobs result."
}
},
"required": [
"jobId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_learning_content(topic, role, category)
Get Landed's free learning content to help the user prepare — curated interview-prep repos (real questions, company guides, worked system designs), portfolio-project catalogs, and role roadmaps from the landedjobs GitHub org. Filter by topic, role, and/or category. Always free, for any caller.
Eingabe-Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"maxLength": 120,
"description": "Free-text topic, e.g. \"RAG\", \"system design\", \"evals\"."
},
"role": {
"type": "string",
"maxLength": 120,
"description": "Target role, e.g. \"AI Engineer\", \"AI PM\", \"GTM Engineer\"."
},
"category": {
"type": "string",
"enum": [
"interview-prep",
"portfolio",
"roadmap",
"jobs"
],
"description": "Restrict to one category of content."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis