{
  "name": "quarrion",
  "title": "Quarrion — salary and job-search data",
  "description": "Public, read-only MCP server for quarrion.ai. Exposes advertised-salary medians computed from real job postings, modelled cross-country salary estimates, the roles those estimates cover, the published FAQ, and the subscription plans. No authentication, no user data, no writes.",
  "version": "1.1.0",
  "protocolVersion": "2025-06-18",
  "transport": "streamable-http",
  "endpoint": "https://quarrion.ai/api/v1/mcp",
  "auth": "none",
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false,
    "logging": false
  },
  "documentation": "https://quarrion.ai/llms.txt",
  "provider": {
    "name": "Quarrion",
    "url": "https://quarrion.ai",
    "contact": "mailto:security@quarrion.ai"
  },
  "rateLimit": {
    "requests": 30,
    "windowSeconds": 60,
    "scope": "ip"
  },
  "tools": [
    {
      "name": "salary_advertised",
      "description": "Advertised-salary medians computed from real job postings: p25, median and p75 of the pay employers actually stated, with the number of postings behind each figure and the date range they were drawn from. Covers every sector, not just tech — trades, hospitality, education, healthcare and more. Stated salaries only: a posting that quotes no pay is excluded, never imputed. Each cell names the market, the sector or job title, the currency, the nightly recompute run that produced it, and the URL of its human-readable page. Call with no arguments to get the whole published dataset plus the market/sector vocabulary the filters accept.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Market to filter to. Accepts the URL slug (\"london\", \"uk\", \"remote-uk\") or the raw location (\"London\", \"GB\", \"remote-GB\"). Omit for every market."
          },
          "sector": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Sector or job title to filter to, as a slug (\"hospitality-retail\", \"chef-de-partie\") or its human form. Omit for every published sector and title."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "salary_globe",
      "description": "Modelled salary estimates by country for a job role, normalised to USD and inflation-adjusted; pass a two-letter ISO country code to drill down into that country's cities. These are curated ESTIMATES calibrated against BLS/ONS/Eurostat reference data — not survey data and not observed pay — and every row carries a confidence score and its citations. For advertised-salary medians computed from real job postings, use salary_advertised.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Job title to look up, e.g. \"Data Scientist\". Synonyms are expanded server-side."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code. When given, returns that country's cities instead of a world roll-up."
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "salary_roles",
      "description": "List the job-role titles that have salary data available, with how many countries each one covers, the confidence of the best source, and when it was last updated. Use this to discover valid inputs for salary_globe.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "search_faq",
      "description": "Search the published Quarrion FAQ — how job discovery, scoring, CV tailoring and data handling actually work. Both arguments are optional; with none, returns the whole published FAQ.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 200,
            "description": "Free-text search across question and answer."
          },
          "category": {
            "type": "string",
            "maxLength": 100,
            "description": "Restrict to one FAQ category, e.g. \"pricing\"."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "get_pricing_plans",
      "description": "The public Quarrion subscription plans: name, price in GBP, billing period, feature list and the per-metric usage limits each plan includes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {}
      }
    }
  ]
}
