MuseDirectory
All apps / Finance & Bills
Finance & Bills

Levels.fyi

Benchmark salaries and evaluate job offers using real compensation data from over 1 million reports

Access salary benchmarks, total compensation data by company and level, individual salary submissions, and open job listings. Search by role, location, and company to compare pay, understand equity vesting, and find positions with stated compensation ranges.

Try asking Muse: "What's the median salary for a software engineer at Google in San Francisco compared to Meta?"

Useful? Vote it up. One vote per person, tap again to undo.
See the most upvoted connectors
Working now?
Working
Worked last 7 days
n/a
How to get it
Extra setup
Account
No account needed
Price
Not stated
Works in

Source: Found in the official MCP Registry (fyi.levels/levels-fyi) · First listed October 30, 2026

Last 24 hours

Each bar is one check, every 15 minutes. Green means it answered. Last checked 1 h ago.

New to Muse?Muse is Meta's AI assistant. Levels.fyi is an app you add to it, and once it is on, you can ask Muse to do this for you: benchmark salaries and evaluate job offers using real compensation data from over 1 million reports. It takes about two minutes and you can turn it off any time.

Is it safe to connect?

What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.

Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.

musedirectory.ai is not part of Meta. More about how Muse handles your information

How to add it to Muse

Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Open Muse
https://mcp.levels.fyi/

Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.

Also use it in ChatGPT or Claude

Levels.fyi is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.

Add it to ChatGPT
  1. 1

    Open ChatGPT settings

    In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).

  2. 2

    Turn on developer mode

    Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.

  3. 3

    Create the connector

    Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.

  4. 4

    Use it in a chat

    Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.

Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT

Add it to Claude
  1. 1

    Open Claude settings

    In Claude, open Settings, then Connectors.

  2. 2

    Add a custom connector

    Choose Add custom connector, give it a name, and paste the link.

  3. 3

    Connect and use it

    If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.

Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude

https://mcp.levels.fyi/

What people ask Muse to do

Everything Muse can do

Technical details: safety screening, tools, response time and recent checks

Response time at the last check: 399ms. Worked in n/a of checks over 30 days.

Screening · October 30, 2026

Screened, no issues found

MCP handshake
Pass
Answered in 399ms
Domain against threat feeds (Cloudflare security DNS)
Pass
mcp.levels.fyi, www.levels.fyi not flagged
Published packages against the OSV malicious-package database
n/a
No npm or PyPI package published
Hidden instructions or invisible characters in tool text
Pass
30 tools read, nothing found
Inputs asking for passwords, card numbers or seed phrases
Pass
None found
Domain and redirects
Pass
No redirects off the domain
AI review of purpose and tool behavior
Pass
No concerns

Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.

Tools · 30

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 ranks locations over a longer window, so its medians can diffe
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-levels first to learn the company's level names. The compan
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 compensation. Every amount is in USD; originalCurrency is only the c
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 you only have a name and need the exact slug. REQUIRED argum
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 level at a specific company (e.g. "what does a Meta E5 make")
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 unknown one) to get the list of available group names. Availabl
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 filter. Also matches former names and aliases, so a renamed com
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 there's a 1-year cliff. Returns matching companies (most data-
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. Free limit: Median (p50) total compensation for the top compan
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 invalid. REQUIRED arguments: locationSlugs. Array-typed argumen
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 compare where a role pays most inside a country. Its window diff
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 the benchmark tools require in their locationSlugs filter. E
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 the benchmark tools). Use search-job-families first if you on
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 benchmark tools require. Returns matching job families with the
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. "Forward Deployed Software Engineer") within a job family.
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 focusTagSlugs the benchmark tools accept. Returns matching focus tags w
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 specialization — each result is tagged with its type and slug s
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 resume (none, pending while it is being parsed, parsed, or failed
upload-resumeAdd or replace the signed-in user's resume on Levels.fyi. Call this only when the user asks to upload their resume. Before you call, tell the user Levels.fyi uses it to fill in their profile and match them with jobs and recruiters. Never upload a resume for another person. Accept
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 compensation is how the data stays useful for everyone, the user
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 was submitted in. Use the uuid from a search-raw-data-points
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 5/15/40/40) / frontloaded / linear, plus a plain-English de
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 Levels.fyi job page) and applyUrl. Simplify the user's request
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 role (USD; matchesThisPosting marks the level the posting is
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 when the user wants a reply and gives it. Returns { receive
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/id. Use this when you don't yet know which track an entity
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 marked free: false (levels, years of experience, focus areas, tit
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 the list of known ones. REQUIRED arguments: metric.
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 ladder, vesting patterns, company groups, and how to resolve lo

Link

https://mcp.levels.fyi/

Questions about Levels.fyi in Muse

How do I connect Levels.fyi to Muse?

Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Levels.fyi to help me. It is a free service with an MCP server at https://mcp.levels.fyi/. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Is Levels.fyi working right now?

At the last check (October 30, 2026, 06:36 UTC) the endpoint was working, answering in 399ms. It is checked every 15 minutes.

Is Levels.fyi safe to connect to Muse?

It was screened on October 30, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.

What can Levels.fyi do in Muse?

It exposes 30 tools, including get-permissions, get-salary-percentiles, get-salaries-by-company-level, search-raw-data-points. For example, you could ask Muse: "What's the median salary for a software engineer at Google in San Francisco compared to Meta?"

Follow Levels.fyi

Tell me if Levels.fyi goes down, comes back, or changes its tools
One email per change. You confirm first, and every email has a link to stop.
Made this app? Claim it or get a status badge

Is this yours?

This listing was added from public sources (Found in the official MCP Registry (fyi.levels/levels-fyi)). If you build Levels.fyi, claim it to correct the details and get your badge.

Claim this listing

Levels.fyi status badge

Paste this on your site or README. It always shows the latest check.

<a href="https://musedirectory.ai/connector/levels-fyi"><img src="https://musedirectory.ai/badge/levels-fyi.svg" alt="Levels.fyi on musedirectory.ai" width="236" height="40"></a>

More for app makers

More
List your app, free

Independent directory. Not affiliated with Meta.