← WebMCP Directory

Tool tree

yubhub.co

Productivity & BusinessTools verified
Website
41,031 live jobs from 523 top employers, pulled direct from their careers pages and enriched with salary, skills, location and work arrangement. Updated…
Explore capabilities

    page: Every page

    yubhub_search_jobsAction

    Search YubHub for jobs by title, employer, or keyword. Navigates the current tab to the search results page. Prefer yubhub_shortlist or yubhub_fetch_facet if you want data back instead of navigating the user away.

    View tool JSON
    {
      "name": "yubhub_search_jobs",
      "kind": "act",
      "impl": "imperative",
      "description": "Search YubHub for jobs by title, employer, or keyword. Navigates the current tab to the search results page. Prefer yubhub_shortlist or yubhub_fetch_facet if you want data back instead of navigating the user away.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Job title, company name, or any keyword (2-100 chars)",
            "minLength": 2,
            "maxLength": 100
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    yubhub_browse_jobsAction

    Browse YubHub jobs filtered by a single facet, title, category, industry, employer (company), or skill. Navigates to the archive page. Example: type="industry", slug="motorsport" opens /jobs/industry/motorsport.

    View tool JSON
    {
      "name": "yubhub_browse_jobs",
      "kind": "act",
      "impl": "imperative",
      "description": "Browse YubHub jobs filtered by a single facet, title, category, industry, employer (company), or skill. Navigates to the archive page. Example: type=\"industry\", slug=\"motorsport\" opens /jobs/industry/motorsport.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "title",
              "category",
              "industry",
              "company",
              "skill"
            ]
          },
          "slug": {
            "type": "string",
            "description": "URL slug for the facet value (lowercase, hyphenated)"
          }
        },
        "required": [
          "type",
          "slug"
        ]
      },
      "page": "/"
    }
    yubhub_open_jobAction

    Open a specific YubHub job posting by its ID. The page emits JobPosting JSON-LD with Wikidata sameAs on the hiringOrganization.

    View tool JSON
    {
      "name": "yubhub_open_job",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a specific YubHub job posting by its ID. The page emits JobPosting JSON-LD with Wikidata sameAs on the hiringOrganization.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Job ID, e.g. job_abc123def456",
            "pattern": "^job_[a-z0-9_-]+$"
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/"
    }
    yubhub_api_infoAnswer

    Returns URLs of YubHub machine-readable resources: REST API, OpenAPI spec, MCP manifest, api-catalog, agent-skills, llms.txt, per-facet XML+JSON feeds, and per-job markdown endpoints.

    View tool JSON
    {
      "name": "yubhub_api_info",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns URLs of YubHub machine-readable resources: REST API, OpenAPI spec, MCP manifest, api-catalog, agent-skills, llms.txt, per-facet XML+JSON feeds, and per-job markdown endpoints.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    yubhub_fetch_facetAnswer

    Fetch the jobs.json feed for a YubHub facet. Returns up to 100 jobs as schema.org/JobPosting entries (title, hiringOrganization, jobLocation, baseSalary, description, url). Use to reason about jobs without navigating the user away.

    View tool JSON
    {
      "name": "yubhub_fetch_facet",
      "kind": "answer",
      "impl": "imperative",
      "description": "Fetch the jobs.json feed for a YubHub facet. Returns up to 100 jobs as schema.org/JobPosting entries (title, hiringOrganization, jobLocation, baseSalary, description, url). Use to reason about jobs without navigating the user away.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "title",
              "category",
              "industry",
              "skill",
              "company"
            ]
          },
          "slug": {
            "type": "string",
            "description": "URL slug (lowercase, hyphenated)"
          }
        },
        "required": [
          "type",
          "slug"
        ]
      },
      "page": "/"
    }
    yubhub_fetch_jobAnswer

    Fetch a single YubHub job as clean markdown (company, location, salary, work arrangement, full description, apply URL, skills). More token-efficient than the HTML page.

    View tool JSON
    {
      "name": "yubhub_fetch_job",
      "kind": "answer",
      "impl": "imperative",
      "description": "Fetch a single YubHub job as clean markdown (company, location, salary, work arrangement, full description, apply URL, skills). More token-efficient than the HTML page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Job ID, e.g. job_abc123def456",
            "pattern": "^job_[a-z0-9_-]+$"
          }
        },
        "required": [
          "id"
        ]
      },
      "page": "/"
    }
    yubhub_shortlistAction

    Build a ranked job shortlist from a YubHub facet with client-side filters. IMPORTANT: searches the most-recently-enriched 100 jobs in the facet, NOT the full corpus, so "top" means "highest-paying within the recent 100" (when salaryFloor is set) or "newest" (otherwise). For broad searches use yubhub_search_jobs or call yubhub_fetch_facet across multiple facets and intersect client-side. When filtering by salary, prefer salaryFloorStrict:true to exclude undisclosed-salary jobs, otherwise they pass the filter and may misleadingly appear to "meet" the floor.

    View tool JSON
    {
      "name": "yubhub_shortlist",
      "kind": "act",
      "impl": "imperative",
      "description": "Build a ranked job shortlist from a YubHub facet with client-side filters. IMPORTANT: searches the most-recently-enriched 100 jobs in the facet, NOT the full corpus, so \"top\" means \"highest-paying within the recent 100\" (when salaryFloor is set) or \"newest\" (otherwise). For broad searches use yubhub_search_jobs or call yubhub_fetch_facet across multiple facets and intersect client-side. When filtering by salary, prefer salaryFloorStrict:true to exclude undisclosed-salary jobs, otherwise they pass the filter and may misleadingly appear to \"meet\" the floor.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "title",
              "category",
              "industry",
              "skill",
              "company"
            ]
          },
          "slug": {
            "type": "string"
          },
          "remoteOnly": {
            "type": "boolean",
            "default": false
          },
          "salaryFloor": {
            "type": "number",
            "description": "Minimum baseSalary.value.maxValue in the feed's currency. Default behaviour KEEPS jobs without parseable salary, set salaryFloorStrict:true to exclude them."
          },
          "salaryFloorStrict": {
            "type": "boolean",
            "default": false,
            "description": "When true AND salaryFloor is set, jobs with no parseable baseSalary are EXCLUDED. Use this when the user explicitly asks for jobs above a salary threshold and you want to avoid returning jobs with unknown pay."
          },
          "titleContains": {
            "type": "string",
            "description": "Case-insensitive substring the title must contain."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "required": [
          "type",
          "slug"
        ]
      },
      "page": "/"
    }
    yubhub_searchAction

    Search YubHub's enriched job board by free-text query, title, company, or keyword. Submits a GET to /jobs/search and renders the results page.

    View tool JSON
    {
      "name": "yubhub_search",
      "kind": "act",
      "impl": "declarative",
      "description": "Search YubHub's enriched job board by free-text query, title, company, or keyword. Submits a GET to /jobs/search and renders the results page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Search jobs or companies"
          }
        }
      },
      "page": "/"
    }