UK Salary Benchmarks MCP

ONS pay percentiles by UK postcode and occupation.

Should I use this

Quality & Safety

B
Description quality
73%
Schema completeness
90%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'area_salary' description lacks action verbin area_salary
  • LOWTool 'compare_areas' description lacks action verbin compare_areas
  • LOWTool 'offer_check' description lacks action verbin offer_check

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~486Tokens (tool definitions)
~1.0 KBTypical response size
Minimal attention impact (0.38% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "uk-salary-benchmarks-mcp": {
      "url": "https://uk-salary-benchmarks-mcp.donniertf.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://uk-salary-benchmarks-mcp.donniertf.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
βšͺarea_salary(postcode)

FREE. Median full-time gross annual pay for employees working in the local authority of a UK postcode (ONS ASHE).

Input Schema

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    }
  },
  "required": [
    "postcode"
  ]
}
🟒salary_percentiles(postcode, pattern, measure, sex, basis, ...)

PRO. 10th–90th percentile + mean/median pay for a postcode's area, by working pattern, measure (annual/weekly/hourly), sex, workplace or residence basis.

Input Schema

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "pattern": {
      "type": "string",
      "description": "full-time (default) | part-time | all"
    },
    "measure": {
      "type": "string",
      "description": "annual-pay-gross (default) | weekly-pay-gross | hourly-pay-gross"
    },
    "sex": {
      "type": "string"
    },
    "basis": {
      "type": "string",
      "description": "workplace | residence"
    },
    "access_token": {
      "type": "string",
      "description": "Subscriber token from /success (or Authorization: Bearer)"
    }
  },
  "required": [
    "postcode"
  ]
}
βšͺcompare_areas(postcodes, pattern, measure, access_token)

PRO. Compare median and percentile pay across up to 10 postcodes/areas β€” for relocation, hiring and pricing.

Input Schema

{
  "type": "object",
  "properties": {
    "postcodes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pattern": {
      "type": "string",
      "description": "full-time (default) | part-time | all"
    },
    "measure": {
      "type": "string",
      "description": "annual-pay-gross (default) | weekly-pay-gross | hourly-pay-gross"
    },
    "access_token": {
      "type": "string",
      "description": "Subscriber token from /success (or Authorization: Bearer)"
    }
  },
  "required": [
    "postcodes"
  ]
}
🟒offer_check(postcode, salary, pattern, measure, access_token)

PRO. Where does a salary sit in the local pay distribution (approximate percentile) for a postcode?

Input Schema

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string"
    },
    "salary": {
      "type": "number"
    },
    "pattern": {
      "type": "string",
      "description": "full-time (default) | part-time | all"
    },
    "measure": {
      "type": "string",
      "description": "annual-pay-gross (default) | weekly-pay-gross | hourly-pay-gross"
    },
    "access_token": {
      "type": "string",
      "description": "Subscriber token from /success (or Authorization: Bearer)"
    }
  },
  "required": [
    "postcode",
    "salary"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools