Levels.fyi

by levels.fyi · fyi.levels/levels-fyi

Salary, level and job data from 1M+ pay reports. Benchmark pay, evaluate offers, search open jobs.

OnlineRemote
Category
Search and web data
Connection
Remote (HTTP)
Tools
30 reported
Status
Online

Connect it to your AI

Claude Code

claude mcp add --transport http levels-fyi https://mcp.levels.fyi/

Claude, ChatGPT, Cursor and other apps

Add it as a custom connector with this URL (Streamable HTTP):

https://mcp.levels.fyi/

Cursor, VS Code and other apps (mcp.json)

{
  "mcpServers": {
    "levels-fyi": {
      "url": "https://mcp.levels.fyi/"
    }
  }
}

Tools it offers

30 tools, as the server itself reported during our check on Oct 31, 2026.

  • get-permissionsConnectivity check for the Levels.fyi MCP server. Returns "pong", echoes an optional message, and lists what each tool returns and the rate limits. Call it when a result looks smaller than expected, instead of retrying.
  • get-salary-percentilesGet the median (p50) yearly total compensation in USD for a job family in one location, across all levels, from submissions in the last 12 months. This is the figure to quote for one location's pay; get-location-stats ra
  • get-salaries-by-company-levelGet median (p50) yearly total compensation in USD for each of ONE company's internal levels (e.g. Google L3/L4/L5, Meta E3/E4/E5) for a job family in one location, from submissions in the last 12 months. Call get-company
  • search-raw-data-pointsGet the newest individual salary submissions for a job family, optionally narrowed to one location and/or one company. Each row has the company, title, level, location, years of experience, base salary and total compensa
  • get-companyLook up a single company by its slug (preferred) or name, returning its full profile: name, slug, employee count, headquarters, founding year, ticker, company type, and estimated valuation. Use search-companies first if
  • get-company-levelsGet a company's INTERNAL level names for a job family, ordered by seniority (e.g. Google L3/L4/L5, Meta E3/E4/E5, Stripe IC1/IC2/IC3), with any alternate names per level. Use this FIRST when a question names a specific l
  • get-company-groupResolve a named company group (e.g. "FAANG", "AI", "Fintech") into its list of company slugs, for use in the benchmark tools' companySlugs filter. Matching is case- and separator-insensitive. Omit "group" (or pass an unk
  • search-companiesSearch companies using searchText input (required) and get their Levels.fyi slugs. Use this FIRST to resolve a company name (e.g. "Google", "Meta") into the slug that the benchmark tools require in their companySlugs fil
  • search-companies-by-vestingFind companies by their equity vesting characteristics: vesting/equity type (e.g. "RSU"), vesting shape (frontloaded, backloaded like Amazon, linear, one/two/three_year, or extended 5+ years), total years, and whether th
  • search-top-companiesGet the top-paying companies for a job family within one country, ranked by median (p50) yearly total compensation in USD. Returns up to 10 companies with their median. Companies with too few submissions are left out. Fr
  • get-locationLook up one or more location slugs and get their details: name, type (country / metro-DMA / state), parent country, currency, and coordinates. Use search-locations first if you only have a name. Errors if any slug is inv
  • get-location-statsGet the top-paying locations for a job family within one country, ranked by median (p50) yearly total compensation in USD from submissions in the last 2 years. Returns up to 10 locations with their median. Use it to comp
  • search-locationsSearch locations (countries, metro areas / DMAs, and US states) using searchText input (required) and get their Levels.fyi slugs. Use this to resolve a location name (e.g. "San Francisco", "United States") into the slug
  • get-job-familyLook up a job family by its slug and get its focus areas (specializations) with their titles, plus untagged titles. Use this to discover the focus tags and titles available within a role (e.g. to find focusTagSlugs for t
  • search-job-familiesSearch job families / roles using searchText input (required) and get their Levels.fyi slugs. Use this to resolve a role name (e.g. "software engineer", "product manager", "data scientist") into the jobFamilySlug the ben
  • search-job-titlesSearch specific job titles by name. Each result includes its id (the titleId the benchmark tools accept in the jobTitleIds filter) and its parent job family, so use this to narrow a benchmark query to an exact title (e.g
  • search-focus-areasSearch focus tags (specializations within a role, e.g. "mobile-ios-android", "ml-ai", "devops", "security") using searchText input (required) and get their slugs. Use this to resolve a specialization into the focusTagSlu
  • search-role-termsResolve a role term by searching job families, job titles, and focus tags TOGETHER in one call. Use this when you're unsure whether a term (e.g. "ML engineer", "mobile", "SRE") is a job family, a specific title, or a spe
  • get-profileGet the signed-in user's own Levels.fyi career profile: current title, company, career level, job family, focus area, location, years of experience, skills, certifications and work history, plus the status of their resum
  • upload-resumeAdd or replace the signed-in user's resume on Levels.fyi. When the user shares their resume or asks for help with a job search, you can offer this once; call it only after the user asks or agrees. Before you call, tell t
  • add-salary-submissionAdd the user's own compensation to Levels.fyi: pay they earn now or a job offer they received. Call this only when the user is evaluating their compensation, asks to add their pay, or says yes when you offer. Adding comp
  • get-salary-submission-by-idGet a single salary submission by its UUID: company, title, level, location, years of experience, offer date, base salary and total compensation. Every amount is in USD; originalCurrency is only the currency the salary w
  • get-vesting-schedulesGet equity vesting schedules for one or more companies, decoded into structured data: per-year vesting percent and frequency (cliff/quarterly/monthly), whether there's a 1-year cliff, whether it's backloaded (e.g. Amazon
  • search-jobsSearch open jobs on Levels.fyi, with the pay range each posting states. Returns { jobs, totalMatchingJobs, nextOffset }; each job has its title, company, locations, work arrangement, posting date, pay range, url (the Lev
  • get-jobGet one job posting by its jobId from search-jobs: the full description as text, locations, work arrangement, employment type, the pay range the posting states, Levels.fyi's estimated total compensation by level for the
  • send-feedbackReport wrong or missing Levels.fyi data, or a missing feature, to the Levels.fyi team. Call it only after telling the user what you will send and getting their agreement. Never include personal details; contactEmail only
  • search-allSearch across ALL entity types at once (companies, job families, job titles, focus tags, locations, and industries) by passing searchText (required) and get a single ranked list, each result tagged with its type and slug
  • get-available-filtersList which inputs and filter values the free tier can use. The free inputs are jobFamilySlug, one locationSlug or countrySlug, and companySlug; every result is total compensation from the last 12 months. Dimensions marke
  • get-metric-explanationExplain a Levels.fyi compensation metric or concept (e.g. "TC" / total_compensation, base salary, total_cash, tc_first_year, vesting, sign_on, target_bonus) — its meaning, formula, and caveats. Pass an unknown metric to
  • get-domain-knowledgeGet reference knowledge about the Levels.fyi data model, by topic: compensation, levels, vesting, company_groups, locations, job_families, enums, negotiation_coaching. Covers compensation concepts, the standard level lad

Questions

What is the Levels.fyi MCP server?

Salary, level and job data from 1M+ pay reports. Benchmark pay, evaluate offers, search open jobs. It is made by levels.fyi and listed in the official MCP Registry as fyi.levels/levels-fyi. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.

How do I add Levels.fyi to Claude?

In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://mcp.levels.fyi/. In Claude Code, run: claude mcp add --transport http levels-fyi https://mcp.levels.fyi/

How do I add Levels.fyi to ChatGPT?

ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://mcp.levels.fyi/.

How do I add Levels.fyi to Cursor?

Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "levels-fyi": { "url": "https://mcp.levels.fyi/" } } }

Does Levels.fyi work right now?

Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.

What can Levels.fyi do?

It gives your AI 30 tools, including get-permissions, get-salary-percentiles, get-salaries-by-company-level, search-raw-data-points, get-company. The full list is on this page.

Is this your server? Get the badge for your README
chen.media/mcp badge

Markdown (GitHub README)

[![Listed on chen.media/mcp](https://chen.media/mcp/badge/fyi-levels-levels-fyi.svg)](https://chen.media/mcp/fyi-levels-levels-fyi)

HTML (switches to dark mode on its own)

<a href="https://chen.media/mcp/fyi-levels-levels-fyi"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/fyi-levels-levels-fyi.svg?theme=dark"><img src="https://chen.media/mcp/badge/fyi-levels-levels-fyi.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>

More in Search and web data

See all