Skip to main content
Glama
ethan-m25

PayHub MCP Server

by ethan-m25
README.md
# PayHub MCP Server

Real disclosed salary data for 20 regions via [Model Context Protocol](https://modelcontextprotocol.io/).

**Endpoint:** `https://mcp.payhub.fyi`

## Connect

### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "payhub": {
      "type": "streamable-http",
      "url": "https://mcp.payhub.fyi"
    }
  }
}
```

### Claude.ai (web)
Settings → Integrations → Add MCP Server → paste `https://mcp.payhub.fyi`.

### Any MCP client
Use transport type `streamable-http` with the endpoint URL above.

## Tools

| Tool | Description |
|------|-------------|
| `list_regions` | List all 20 available regions with IDs and URLs |
| `search_jobs` | Search jobs by keyword, returns salary data |
| `salary_stats` | Median, p25, p75, mean for matching jobs |
| `similar_jobs` | KNN-similar roles to a given job ID |

## Regions (20)

`ny` `ca` `wa` `il` `co` `ma` `md` `mn` `nj` `dc` `ct` `or` `nv` `hi` `ri` `vt` `ab` `bc` `ontario` `uk`

## Example

```bash
curl -X POST https://mcp.payhub.fyi \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"salary_stats","arguments":{"region":"ny","query":"software engineer"}}}'
```

Returns median $215k, p25 $183k, p75 $252k for NY software engineers.

## Data

All data is sourced from public pay transparency postings at [payhub.fyi](https://payhub.fyi). Data is refreshed nightly and served directly from Cloudflare's CDN.

- No auth required — data is already public
- 15-minute edge cache per region
- Transport: [Streamable HTTP](https://spec.modelcontextprotocol.io/specification/2024-11-05/basic/transports/) (MCP 2024-11-05)

## Deploy your own

```bash
git clone https://github.com/ethan-m25/payhub-mcp
cd payhub-mcp
npm install
wrangler deploy
```