Serveur MCP

UX Jobs

io.uxjobs/jobs
Design et création Recherche et exploration Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Searches live UX and product-design jobs and provides job details, hiring snapshots, salary statistics, and company hiring rankings.

companies_hiring
Companies hiring the most designers
Rank companies by number of open UX/product-design roles on jobs.uxjobs.io, optionally within a filter (country, remote, seniority, keywords, recency). Useful for "who is hiring the most designers in Berlin" or "which companies opened design roles this week".
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match.'}, 'remote': {'type': 'boolean', 'description': 'true = only fully-remote roles; false = exclude remote roles.'}, 'company': {'type': 'string', 'maxLength': 80, 'description': 'Company name (substring match).'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE".'}, 'location': {'type': 'string', 'maxLength': 80, 'description': 'City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles.'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string', 'description': 'Seniority derived from the title.'}, 'workplace': {'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string', 'description': 'Workplace arrangement when the employer stated one.'}, 'role_family': {'enum': ['Product design', 'UX / UI', 'Research', 'Content / writing', 'Design systems', 'Service design', 'Interaction', 'Design lead / mgr', 'Other design'], 'type': 'string', 'description': 'Design discipline derived from the title.'}, 'min_open_roles': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only companies with at least this many matching open roles.'}, 'min_salary_usd': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only roles whose posted annual USD salary range reaches at least this figure. Only ~8% of roles post salary.'}, 'employment_type': {'type': 'string', 'maxLength': 30, 'description': 'e.g. "Full-time", "Contract", "Part-time", "Intern".'}, 'posted_within_days': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Only roles posted in the last N days (1â\x80\x9360).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['total_companies', 'matched_roles', 'generated_at', 'companies', 'attribution'], 'properties': {'companies': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'open_roles', 'sample_titles', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'open_roles': {'type': 'number'}, 'sample_titles': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'attribution': {'type': 'string'}, 'generated_at': {'type': 'string'}, 'matched_roles': {'type': 'number'}, 'total_companies': {'type': 'number'}}, 'additionalProperties': False}
fetch
Fetch a job listing (connector fetch)
Retrieve one job listing from jobs.uxjobs.io by the id returned from search: location, salary, apply link and a description excerpt; the listing URL has the complete text.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Listing id from search.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url'], '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 a job listing
Return one job listing in detail — location, workplace, posted salary, employer apply link, and a description excerpt when the source provides one — by the id returned from search_jobs (or the jobs.uxjobs.io page slug). The listing URL has the complete text.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Job id from search_jobs, or the slug from a jobs.uxjobs.io/jobs/{slug}/ URL.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'company', 'location', 'country', 'remote', 'workplace', 'seniority', 'salary', 'employment_type', 'posted_at', 'url', 'role_family', 'region', 'source', 'open_confidence', 'logo', 'apply_url', 'description_excerpt', 'description_note', 'attribution'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'logo': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'region': {'type': ['string', 'null']}, 'remote': {'type': 'boolean'}, 'salary': {'type': ['string', 'null']}, 'source': {'type': ['string', 'null']}, 'company': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'apply_url': {'type': 'string'}, 'posted_at': {'type': ['string', 'null']}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string'}, 'workplace': {'anyOf': [{'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string'}, {'type': 'null'}]}, 'attribution': {'type': 'string'}, 'role_family': {'type': 'string'}, 'employment_type': {'type': ['string', 'null']}, 'open_confidence': {'anyOf': [{'enum': ['verified', 'unverified'], 'type': 'string'}, {'type': 'null'}]}, 'description_note': {'type': 'string'}, 'description_excerpt': {'type': ['string', 'null']}}, 'additionalProperties': False}
hiring_snapshot
Design hiring market snapshot
A statistical snapshot of the design job market on jobs.uxjobs.io: total open roles, roles posted in the last 7 days, remote share, and breakdowns by seniority, discipline, top countries, top cities and top hiring companies. Accepts the same optional filters as search_jobs so you can snapshot a country, a discipline or a keyword.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': 'Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match.'}, 'remote': {'type': 'boolean', 'description': 'true = only fully-remote roles; false = exclude remote roles.'}, 'company': {'type': 'string', 'maxLength': 80, 'description': 'Company name (substring match).'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE".'}, 'location': {'type': 'string', 'maxLength': 80, 'description': 'City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles.'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string', 'description': 'Seniority derived from the title.'}, 'workplace': {'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string', 'description': 'Workplace arrangement when the employer stated one.'}, 'role_family': {'enum': ['Product design', 'UX / UI', 'Research', 'Content / writing', 'Design systems', 'Service design', 'Interaction', 'Design lead / mgr', 'Other design'], 'type': 'string', 'description': 'Design discipline derived from the title.'}, 'min_salary_usd': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only roles whose posted annual USD salary range reaches at least this figure. Only ~8% of roles post salary.'}, 'employment_type': {'type': 'string', 'maxLength': 30, 'description': 'e.g. "Full-time", "Contract", "Part-time", "Intern".'}, 'posted_within_days': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Only roles posted in the last N days (1â\x80\x9360).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['generated_at', 'open_roles', 'posted_last_7_days', 'remote_share_of_stated_workplace', 'roles_with_posted_salary', 'companies_hiring', 'countries', 'by_seniority', 'by_role_family', 'top_countries', 'top_cities', 'top_companies', 'attribution'], 'properties': {'countries': {'type': 'number'}, 'open_roles': {'type': 'number'}, 'top_cities': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'attribution': {'type': 'string'}, 'by_seniority': {'type': 'array', 'items': {'type': 'object', 'required': ['seniority', 'count'], 'properties': {'count': {'type': 'number'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string'}}, 'additionalProperties': False}}, 'generated_at': {'type': 'string'}, 'top_companies': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'top_countries': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'by_role_family': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'companies_hiring': {'type': 'number'}, 'posted_last_7_days': {'type': 'number'}, 'roles_with_posted_salary': {'type': 'number'}, 'remote_share_of_stated_workplace': {'type': ['number', 'null']}}, 'additionalProperties': False}
salary_snapshot
Posted salary ranges by seniority
Median and quartile posted salary (annual USD, from roles that state a range) by seniority level, optionally filtered by country, remote, discipline or keywords. Only roles with a posted USD range count — typically 5–10% of listings — so treat small samples with caution; the sample size is returned per level.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': 'Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match.'}, 'remote': {'type': 'boolean', 'description': 'true = only fully-remote roles; false = exclude remote roles.'}, 'company': {'type': 'string', 'maxLength': 80, 'description': 'Company name (substring match).'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE".'}, 'location': {'type': 'string', 'maxLength': 80, 'description': 'City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles.'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string', 'description': 'Seniority derived from the title.'}, 'workplace': {'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string', 'description': 'Workplace arrangement when the employer stated one.'}, 'role_family': {'enum': ['Product design', 'UX / UI', 'Research', 'Content / writing', 'Design systems', 'Service design', 'Interaction', 'Design lead / mgr', 'Other design'], 'type': 'string', 'description': 'Design discipline derived from the title.'}, 'min_salary_usd': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only roles whose posted annual USD salary range reaches at least this figure. Only ~8% of roles post salary.'}, 'employment_type': {'type': 'string', 'maxLength': 30, 'description': 'e.g. "Full-time", "Contract", "Part-time", "Intern".'}, 'posted_within_days': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Only roles posted in the last N days (1â\x80\x9360).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['currency', 'roles_with_salary', 'roles_matched', 'generated_at', 'by_seniority', 'overall_median_mid', 'attribution'], 'properties': {'currency': {'type': 'string'}, 'attribution': {'type': 'string'}, 'by_seniority': {'type': 'array', 'items': {'type': 'object', 'required': ['seniority', 'sample', 'median_min', 'median_max', 'median_mid'], 'properties': {'sample': {'type': 'number'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string'}, 'median_max': {'type': ['number', 'null']}, 'median_mid': {'type': ['number', 'null']}, 'median_min': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'generated_at': {'type': 'string'}, 'roles_matched': {'type': 'number'}, 'roles_with_salary': {'type': 'number'}, 'overall_median_mid': {'type': ['number', 'null']}}, 'additionalProperties': False}
search
Search job listings (connector search)
Keyword search over live UX & product-design job listings on jobs.uxjobs.io. Returns up to 20 results with id, title and URL; pass an id to fetch for the full listing. Natural-language queries work: "remote senior product designer fintech", "UX researcher London".
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Search query.'}}}
Schéma de sortie
{'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 UX & product-design jobs
Search live UX, product-design, UX-research, content-design and design-leadership roles on jobs.uxjobs.io. Filter by keywords, location/country, remote, seniority, discipline, company, posted salary and recency. Returns a page of compact results (newest first, keyword relevance when a query is given) plus the total match count.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Results per page (1â\x80\x9350).'}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Skip this many results (for paging).'}, 'remote': {'type': 'boolean', 'description': 'true = only fully-remote roles; false = exclude remote roles.'}, 'company': {'type': 'string', 'maxLength': 80, 'description': 'Company name (substring match).'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE".'}, 'location': {'type': 'string', 'maxLength': 80, 'description': 'City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles.'}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string', 'description': 'Seniority derived from the title.'}, 'workplace': {'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string', 'description': 'Workplace arrangement when the employer stated one.'}, 'role_family': {'enum': ['Product design', 'UX / UI', 'Research', 'Content / writing', 'Design systems', 'Service design', 'Interaction', 'Design lead / mgr', 'Other design'], 'type': 'string', 'description': 'Design discipline derived from the title.'}, 'min_salary_usd': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Only roles whose posted annual USD salary range reaches at least this figure. Only ~8% of roles post salary.'}, 'employment_type': {'type': 'string', 'maxLength': 30, 'description': 'e.g. "Full-time", "Contract", "Part-time", "Intern".'}, 'posted_within_days': {'type': 'integer', 'maximum': 60, 'minimum': 1, 'description': 'Only roles posted in the last N days (1â\x80\x9360).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['total', 'offset', 'returned', 'generated_at', 'results', 'attribution'], 'properties': {'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'company', 'location', 'country', 'remote', 'workplace', 'seniority', 'salary', 'employment_type', 'posted_at', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'remote': {'type': 'boolean'}, 'salary': {'type': ['string', 'null']}, 'company': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'posted_at': {'type': ['string', 'null']}, 'seniority': {'enum': ['Junior / Entry', 'Mid-level', 'Senior', 'Lead / Staff', 'Principal', 'Director+'], 'type': 'string'}, 'workplace': {'anyOf': [{'enum': ['remote', 'hybrid', 'onsite'], 'type': 'string'}, {'type': 'null'}]}, 'employment_type': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'returned': {'type': 'number'}, 'attribution': {'type': 'string'}, 'generated_at': {'type': 'string'}}, 'additionalProperties': False}
Ajouté
fetch
17 September 2026 12:53
Ajouté
search
17 September 2026 12:53
Ajouté
hiring_snapshot
17 September 2026 12:53
Ajouté
salary_snapshot
17 September 2026 12:53
Ajouté
companies_hiring
17 September 2026 12:53
Ajouté
get_job
17 September 2026 12:53
Ajouté
search_jobs
17 September 2026 12:53