Servidor MCP

JobYap Job Search

com.jobyap/jobs
Búsqueda e investigación Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches aggregated job postings, company listings, locations, job details, and community discussions.

fetch
Fetch JobYap document (deep research)
Retrieve the full JobYap document for a search result id: the complete posting as markdown (description, salary, locations, apply link) plus top community comments, with a citable URL.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'A result id returned by search.'}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url', 'metadata'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
get_job
Get job details
Fetch one job posting in full: markdown description, salary ranges, locations with work mode, derived employment types, apply URL, posting dates and the canonical JobYap discussion URL. Works for expired jobs too (apply_url is null once inactive).
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'anyOf': [{'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, {'type': 'string', 'maxLength': 2048, 'minLength': 1}], 'description': 'Numeric JobYap job id, a full jobyap.com job URL, or a job page slug.'}}}
get_job_comments
Get job discussion
Fetch the community discussion thread for a job: chronological, threaded via parent_id, with like counts. Comments are user-generated content. Threads stay open after a job expires.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'anyOf': [{'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, {'type': 'string', 'maxLength': 2048, 'minLength': 1}], 'description': 'Numeric JobYap job id, a full jobyap.com job URL, or a job page slug.'}}}
get_job_stats
JobYap stats
Aggregate stats: companies tracked, active job count, and the newest posting date.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_companies
List companies
List every company JobYap tracks with its active job count and JobYap company-page URL. Use the exact names as search_jobs company filters.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
match_jobs
Match jobs to a candidate
Shortlist, screen and rank live postings for one candidate in a single call. Filters active jobs by title terms (any of them; a term matches when the title holds all its words), excluded title terms, companies, locations and posting window, then takes the newest 300 of that pool (pool_total says how many matched) and reads each full description. It drops postings with no usable description, postings whose stated minimum years of experience exceed candidate_years by more than 1, and, with needs_sponsorship, postings that refuse sponsorship or require citizenship or a clearance; dropped counts each reason. The rest are ranked by how many skills appear in the description, then newest first. Each result carries skills_matched, years_bar, flags and up to 6 requirement sentences. The screening is heuristic: read finalists in full with get_job.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 15, 'maximum': 25, 'minimum': 1, 'description': 'Results to return, default 15.'}, 'skills': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Specific skills and domain terms from the resume, as whole words or phrases. They rank results and never filter.'}, 'titles': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'maxItems': 15, 'minItems': 1, 'description': 'Title terms, any of which may match. A term matches when the title contains all its words as whole words, in any order: "software engineer" also matches "Engineer, Software". Required unless companies is given.'}, 'companies': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Exact company names from list_companies. With titles, a posting must match both.'}, 'locations': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:country-[A-Za-z]{2}|state-[A-Za-z]{2}-(?=\\S)[^-\\r\\n]{1,64}|city-[A-Za-z]{2}-(?=\\S)[^-\\r\\n]{1,64}-\\S{1,80})$', 'maxLength': 100}, 'maxItems': 10, 'minItems': 1, 'description': 'country-XX (ISO alpha-2) for a country, or state and city identifiers from search_locations. Omit for worldwide.'}, 'work_mode': {'enum': ['remote', 'hybrid'], 'type': 'string', 'description': 'Only postings explicitly marked remote or hybrid.'}, 'posted_within': {'enum': ['24h', '7d', '30d'], 'type': 'string', 'default': '7d', 'description': 'Posting window: 24h, 7d (default) or 30d.'}, 'exclude_titles': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'maxItems': 15, 'minItems': 1, 'description': 'Title terms that remove a posting, matched like titles, e.g. "senior", "staff", "lead", "manager".'}, 'candidate_years': {'type': 'number', 'maximum': 50, 'minimum': 0, 'description': 'Candidate years of professional experience; drops postings that require more than one year beyond it.'}, 'include_anywhere': {'type': 'boolean', 'default': True, 'description': 'With locations, also keep fully remote "Anywhere" postings. Default true.'}, 'exclude_companies': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Company names to leave out, case-insensitive, e.g. the current employer.'}, 'needs_sponsorship': {'type': 'boolean', 'default': False, 'description': 'Drop postings that refuse visa sponsorship or require citizenship or a security clearance. Default false.'}}}
search
Search JobYap (deep research)
Search JobYap job postings by natural-language query. Matches job titles, falling back to significant keywords when the full phrase finds little. Returns result ids, titles and citable URLs for use with fetch. For structured filtering (location, company, remote, freshness) prefer search_jobs.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}
Esquema de salida
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_jobs
Search jobs
Search JobYap's aggregated job postings with structured filters. The text query matches job titles only (case-insensitive substring) — try synonyms or shorter tokens when results are thin. Company names must exactly match values from list_companies; locations must be identifiers from search_locations. work_mode matches jobs explicitly marked remote or hybrid (unmarked means unstated, not onsite). Results are active listings, newest first by default; sort=popular ranks by discussion activity. To paginate, pass next_cursor back as cursor and keep every other argument identical.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['recent', 'popular'], 'type': 'string', 'description': 'recent (default) or popular (most discussed).'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Substring matched against job titles only.'}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 512, 'minLength': 1, 'description': 'Opaque cursor from a previous next_cursor.'}, 'companies': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 10, 'minItems': 1, 'description': 'Exact company names from list_companies.'}, 'locations': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:country-[A-Za-z]{2}|state-[A-Za-z]{2}-(?=\\S)[^-\\r\\n]{1,64}|city-[A-Za-z]{2}-(?=\\S)[^-\\r\\n]{1,64}-\\S{1,80})$', 'maxLength': 100}, 'maxItems': 10, 'minItems': 1, 'description': 'Location identifiers from search_locations, e.g. city-US-CA-san_francisco.'}, 'page_size': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'work_mode': {'enum': ['remote', 'hybrid'], 'type': 'string'}, 'has_comments': {'type': 'boolean', 'description': 'Only jobs with community discussion.'}, 'include_total': {'type': 'boolean', 'description': 'Also compute the total match count (slower).'}, 'posted_within': {'enum': ['24h', '7d', '30d'], 'type': 'string', 'description': 'Hard freshness filter on the publish date.'}}}
search_locations
Search locations
Resolve a free-text place name ("bay area", "Germany", "berlin") to the location identifiers search_jobs accepts (country-XX, state-XX-YY, city-XX-YY-name). Searches every place JobYap knows, not only those with current openings, so an identifier may match no jobs. City display omits the state, and the list can be shorter than limit.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'Place name fragment, minimum 2 characters.'}}}
Añadido
match_jobs
25 de September de 2026 a las 03:02
Añadido
fetch
17 de September de 2026 a las 12:35
Añadido
search
17 de September de 2026 a las 12:35
Añadido
get_job_stats
17 de September de 2026 a las 12:35
Añadido
list_companies
17 de September de 2026 a las 12:35
Añadido
search_locations
17 de September de 2026 a las 12:35
Añadido
get_job_comments
17 de September de 2026 a las 12:35
Añadido
get_job
17 de September de 2026 a las 12:35
Añadido
search_jobs
17 de September de 2026 a las 12:35