Server definition
- Hash
- sha256:4acb8251f269c55e0b9ce77c295516aa3a31eb54689a7c6ab989d0f884ee0f99
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Landed's job-search MCP server — helps a user find AI-native jobs, prepare applications, and study for interviews.\n\nTOOLS\n- search_jobs: ranked, fit-scored jobs. Fill the structured fields (role, skills, work mode, physical locations, remote-eligibility country/region codes, seniority, comp, industries…) from the user's request; you may also pass free text as `query`. Never invent place IDs. Returns each job's fitLabel, oneLineWhy, and applyUrl.\n- get_job_form: the application form for a jobId, split into standard / screening / eeo fields for answer prep.\n- get_learning_content: free interview-prep, portfolio, and roadmap resources.\n\nPROMPTS (skills — invoke these for guided workflows)\n- find_jobs: search and present a shortlist, then offer next steps.\n- prepare_application: fetch a job's form and draft the answers.\n- prep_for_role: pull learning resources for a target role.\n\nPRESENTING RESULTS\nNever show raw JSON to the user. Render jobs as a scannable list (title · company · location, a fit badge, the one-line why, a markdown apply link). For forms, auto-fill standard fields from the user's profile, draft screening answers from their experience, and leave EEO fields to the user.\n\nACCESS\nAnonymous callers get a limited free budget — each returned job from search_jobs counts as one job-unit. get_job_form and get_learning_content are always free. Check the `freemium` block in results; when it runs low, tell the user to create an API token in Landed → Settings and send it as `Authorization: Bearer <token>` for unlimited, brief-personalized search. Authenticated callers are unmetered and results are ranked against their saved search brief + profile.",
"tools": [
{
"description": "Get the application form for a job (by the jobId returned from search_jobs), so you can prepare answers before the user applies.\nFields 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"jobId": {
"description": "The jobId from a search_jobs result.",
"minLength": 1,
"type": "string"
}
},
"required": [
"jobId"
],
"type": "object"
},
"name": "get_job_form",
"outputSchema": null
},
{
"description": "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.\nFilter by topic, role, and/or category. Always free, for any caller.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Restrict to one category of content.",
"enum": [
"interview-prep",
"portfolio",
"roadmap",
"jobs"
],
"type": "string"
},
"role": {
"description": "Target role, e.g. \"AI Engineer\", \"AI PM\", \"GTM Engineer\".",
"maxLength": 120,
"type": "string"
},
"topic": {
"description": "Free-text topic, e.g. \"RAG\", \"system design\", \"evals\".",
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "get_learning_content",
"outputSchema": null
},
{
"description": "Search Landed's live job corpus for AI-native roles and get a ranked, fit-scored shortlist.\nFill 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.\nFree 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"avoid": {
"description": "Companies or sectors to avoid.",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"companyStages": {
"description": "Preferred company stages, e.g. [\"seed\", \"series-a\", \"public\"].",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"countryCodes": {
"description": "ISO 3166-1 alpha-2 countries where the job may be based or remotely eligible, e.g. [\"IN\"].",
"items": {
"pattern": "^[A-Z]{2}$",
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"currency": {
"description": "Currency for minComp, e.g. \"USD\".",
"maxLength": 8,
"type": "string"
},
"industries": {
"description": "Preferred company industries / sectors.",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"limit": {
"description": "How many jobs to return.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"locations": {
"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.",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"minComp": {
"description": "Minimum acceptable base compensation (numeric).",
"type": "number"
},
"query": {
"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.",
"maxLength": 400,
"type": "string"
},
"regionCodes": {
"description": "Canonical remote eligibility regions.",
"items": {
"enum": [
"apac",
"emea",
"americas"
],
"type": "string"
},
"maxItems": 3,
"type": "array"
},
"regions": {
"description": "Legacy human-readable remote eligibility regions/countries, e.g. [\"APAC\", \"India\"]. Prefer regionCodes/countryCodes when known.",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"remote": {
"description": "Work mode preference.",
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"role": {
"description": "Target role or title family, e.g. \"AI Engineer\", \"RAG Engineer\", \"Data Scientist\".",
"maxLength": 120,
"type": "string"
},
"seniority": {
"description": "Seniority target, e.g. \"junior\", \"mid\", \"senior\", \"staff\", \"lead\".",
"maxLength": 60,
"type": "string"
},
"skills": {
"description": "Core skills / technologies the role should involve, e.g. [\"RAG\", \"LangChain\", \"Python\"].",
"items": {
"type": "string"
},
"maxItems": 30,
"type": "array"
},
"workAuthorizationCountryCodes": {
"description": "ISO country codes where the candidate is authorized to work.",
"items": {
"pattern": "^[A-Z]{2}$",
"type": "string"
},
"maxItems": 20,
"type": "array"
}
},
"type": "object"
},
"name": "search_jobs",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:4acb8251f269c55e0b9ce77c295516aa3a31eb54689a7c6ab989d0f884ee0f99 | sha256sum