Skip to content

UX Jobs

by uxjobs.io · remote · no sign-in to list tools · v1.0.0 · published by io.uxjobs

Search 4,000+ live UX & product-design jobs from jobs.uxjobs.io. Read-only, no auth.

Changes · 1

7 tools: 1 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http jobs https://mcp.uxjobs.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 1Claude Code: ask
  • companies_hiringRank companies by number of open UX/product-design roles on jobs.uxjobs.io, optionally within a filter (country, remote, seniority, keywords, recency).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote 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".

    Annotations the server declares

    • title: Companies hiring the most designers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 6Claude Code: allow
  • fetchRetrieve 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.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Fetch a job listing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_jobReturn 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_…No findings

    Why it is in this group

    • The name "get_job" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get a job listing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hiring_snapshotA 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 cou…No findings

    Why it is in this group

    • The name "hiring_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Design hiring market snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • salary_snapshotMedian and quartile posted salary (annual USD, from roles that state a range) by seniority level, optionally filtered by country, remote, discipline or keywords.No findings

    Why it is in this group

    • The name "salary_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Posted salary ranges by seniority
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_jobsSearch live UX, product-design, UX-research, content-design and design-leadership roles on jobs.uxjobs.io.No findings

    Why it is in this group

    • The name "search_jobs" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search UX & product-design jobs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http jobs https://mcp.uxjobs.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__jobs__search_jobs",
      "mcp__jobs__get_job",
      "mcp__jobs__salary_snapshot",
      "mcp__jobs__hiring_snapshot",
      "mcp__jobs__search",
      "mcp__jobs__fetch"
    ],
    "ask": [
      "mcp__jobs__companies_hiring"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as jobs. Review it before you use it.