Search 4,000+ live UX & product-design jobs from jobs.uxjobs.io. Read-only, no auth.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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".
Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match.
true = only fully-remote roles; false = exclude remote roles.
Company name (substring match).
ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE".
City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles.
Seniority derived from the title.
Workplace arrangement when the employer stated one.
Remote roles open to candidates in this region (implies remote). Roles open "Anywhere" match every region; roles that only say "Remote" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io.
Design discipline derived from the title.
Only companies with at least this many matching open roles.
Only roles whose posted annual USD salary range reaches at least this figure. Roles that post no USD range never match, and most roles post none.
e.g. "Full-time", "Contract", "Part-time", "Intern".
Only roles posted in the last N days (1–60).
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".
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match. |
| remote | boolean | true = only fully-remote roles; false = exclude remote roles. |
| company | string | Company name (substring match). |
| country | string | ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE". |
| location | string | City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles. |
| seniority | string | Seniority derived from the title. |
| workplace | string | Workplace arrangement when the employer stated one. |
| remote_from | string | Remote roles open to candidates in this region (implies remote). Roles open "Anywhere" match every region; roles that only say "Remote" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io. |
| role_family | string | Design discipline derived from the title. |
| min_open_roles | integer | Only companies with at least this many matching open roles. |
| min_salary_usd | integer | Only roles whose posted annual USD salary range reaches at least this figure. Roles that post no USD range never match, and most roles post none. |
| employment_type | string | e.g. "Full-time", "Contract", "Part-time", "Intern". |
| posted_within_days | integer | Only roles posted in the last N days (1–60). |
{
"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."
},
"remote_from": {
"enum": [
"Anywhere",
"Latin America",
"US & Canada",
"Europe, Middle East & Africa",
"Asia-Pacific"
],
"type": "string",
"description": "Remote roles open to candidates in this region (implies remote). Roles open \"Anywhere\" match every region; roles that only say \"Remote\" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io."
},
"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. Roles that post no USD range never match, and most roles post none."
},
"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–60)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id from search. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Job id from search_jobs, or the slug from a jobs.uxjobs.io/jobs/{slug}/ URL. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| query | string | Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match. |
| remote | boolean | true = only fully-remote roles; false = exclude remote roles. |
| company | string | Company name (substring match). |
| country | string | ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE". |
| location | string | City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles. |
| seniority | string | Seniority derived from the title. |
| workplace | string | Workplace arrangement when the employer stated one. |
| remote_from |
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 (a minority of listings; roles_with_salary gives the number), so treat small samples with caution; the sample size is returned per level.
| Argument | Type | Description |
|---|---|---|
| query | string | Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match. |
| remote | boolean | true = only fully-remote roles; false = exclude remote roles. |
| company | string | Company name (substring match). |
| country | string | ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE". |
| location | string | City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles. |
| seniority | string | Seniority derived from the title. |
| workplace | string | Workplace arrangement when the employer stated one. |
| remote_from |
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".
| Argument | Type | Description |
|---|---|---|
| query* | string | Search query. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Search query."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page (1–50). |
| query | string | Keywords matched against title, company, location and description, e.g. "senior product designer fintech". All words must match. |
| offset | integer | Skip this many results (for paging). |
| remote | boolean | true = only fully-remote roles; false = exclude remote roles. |
| company | string | Company name (substring match). |
| country | string | ISO-3166 alpha-2 country code, e.g. "US", "GB", "DE". |
| location | string | City/state/country text to match in the posted location, e.g. "London", "New York", "Germany". Use "remote" for remote roles. |
| seniority | string |
| string |
| Remote roles open to candidates in this region (implies remote). Roles open "Anywhere" match every region; roles that only say "Remote" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io. |
| role_family | string | Design discipline derived from the title. |
| min_salary_usd | integer | Only roles whose posted annual USD salary range reaches at least this figure. Roles that post no USD range never match, and most roles post none. |
| employment_type | string | e.g. "Full-time", "Contract", "Part-time", "Intern". |
| posted_within_days | integer | Only roles posted in the last N days (1–60). |
{
"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."
},
"remote_from": {
"enum": [
"Anywhere",
"Latin America",
"US & Canada",
"Europe, Middle East & Africa",
"Asia-Pacific"
],
"type": "string",
"description": "Remote roles open to candidates in this region (implies remote). Roles open \"Anywhere\" match every region; roles that only say \"Remote\" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io."
},
"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. Roles that post no USD range never match, and most roles post none."
},
"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–60)."
}
}
}| string |
| Remote roles open to candidates in this region (implies remote). Roles open "Anywhere" match every region; roles that only say "Remote" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io. |
| role_family | string | Design discipline derived from the title. |
| min_salary_usd | integer | Only roles whose posted annual USD salary range reaches at least this figure. Roles that post no USD range never match, and most roles post none. |
| employment_type | string | e.g. "Full-time", "Contract", "Part-time", "Intern". |
| posted_within_days | integer | Only roles posted in the last N days (1–60). |
{
"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."
},
"remote_from": {
"enum": [
"Anywhere",
"Latin America",
"US & Canada",
"Europe, Middle East & Africa",
"Asia-Pacific"
],
"type": "string",
"description": "Remote roles open to candidates in this region (implies remote). Roles open \"Anywhere\" match every region; roles that only say \"Remote\" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io."
},
"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. Roles that post no USD range never match, and most roles post none."
},
"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–60)."
}
}
}| Seniority derived from the title. |
| workplace | string | Workplace arrangement when the employer stated one. |
| remote_from | string | Remote roles open to candidates in this region (implies remote). Roles open "Anywhere" match every region; roles that only say "Remote" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io. |
| role_family | string | Design discipline derived from the title. |
| min_salary_usd | integer | Only roles whose posted annual USD salary range reaches at least this figure. Roles that post no USD range never match, and most roles post none. |
| employment_type | string | e.g. "Full-time", "Contract", "Part-time", "Intern". |
| posted_within_days | integer | Only roles posted in the last N days (1–60). |
{
"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–50)."
},
"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."
},
"remote_from": {
"enum": [
"Anywhere",
"Latin America",
"US & Canada",
"Europe, Middle East & Africa",
"Asia-Pacific"
],
"type": "string",
"description": "Remote roles open to candidates in this region (implies remote). Roles open \"Anywhere\" match every region; roles that only say \"Remote\" with no region are not matched. Same rules as the Remote-from filter on jobs.uxjobs.io."
},
"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. Roles that post no USD range never match, and most roles post none."
},
"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–60)."
}
}
}