Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search public Lever job boards: resolve a company, read its openings, read one in full.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add lever -- npx -y mcp-leverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"lever": {
"command": "npx",
"args": [
"-y",
"mcp-lever"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"lever": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-lever"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account smeet666, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.1.0) reached the registry 9 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, MCPB on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Lever is recruiting software that thousands of companies use to run their hiring, and every customer gets a public job board that comes with it. Each board carries that company's open positions with their title, their location, the team and department they sit in, the commitment they ask for, the full advert, and the salary range where the company chose to publish one. Lever hosts one board per company, on either its global or its European instance, and publishes no index across them.
This server connects a chat client to those boards. You name the companies you are interested in, and it turns each name into the site name that addresses its board, searches their openings, filters them by location, team, workplace type, country, salary or how recently they were posted, reads one opening in full, and lists the wordings each company filters by. It needs no API key and no account.
_Version française_
One-click install
Claude Code
claude mcp add lever -- npx -y mcp-lever
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": { "lever": { "command": "npx", "args": ["-y", "mcp-lever"] } } }
Node 24 or later is required, and no environment variable has to be set.
{
"mcpServers": { "lever": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-lever:2.1.0"] } } }
-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to api.lever.co and api.eu.lever.co, and nothing else: no volume, no port, no credential.
Download mcp-lever-2.1.0.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm and no configuration file to edit. The bundle carries its dependencies, so nothing is fetched at install time.
Every question starts from a company, since Lever offers no search across boards. search_jobs resolves the names you give it, so no preparation is needed:
resolve_company(["Included Health"]) -> includedhealth, global instance, publishing
search_jobs(["Included Health"], keyword: "therapist") get_job("includedhealth", "6f97a19f-…")
| Tool | What it does |
|---|---|
resolve_company | Turns company names into the Lever site names of their boards. |
search_jobs | Searches the openings of the companies you name. |
get_job | Reads one opening in full, advert included. |
list_filter_values | Lists the wordings one company files its openings under. |
A Lever site name distinguishes case, so Flex answers where flex returns nothing. Four spellings are tried per name on each of the two instances, and the answer lists what was sent, so nothing found is never proof that a company is absent from Lever.
resolve_companyTurns company names into Lever site names, reporting every instance that answered. It takes a list.
| Argument | Type | Required | What it does |
|---|---|---|---|
names | array of 1 to 25 strings | yes | Company names, or Lever site names you already know. |
In return: one entry per name, carrying input; found, a list of { slug, instance, publishes } where publishes is false for a site that exists and lists nothing today; tried, the spellings sent in order; and cached, true when this session had already resolved that name. A name answering on both instances comes back with both, and neither is elected: pass the one you mean to the other tools.
search_jobsSearches the openings of the companies named. Lever applies the filters it supports on its own exact wording, and this server applies the rest to the openings it read.
| Argument | Type | Required | What it does |
|---|---|---|---|
companies | array of 1 to 25 strings | yes | Company names or Lever site names. Each is resolved here. |
keyword | string | no | Words to look for in the title and the advert. |
location | array of 1 to 20 strings | no | Locations, exactly as Lever writes them. |
team | array of 1 to 20 strings | no | Teams, exactly as Lever writes them. |
department | array of 1 to 20 strings | no | Departments, exactly as Lever writes them. |
commitment | array of 1 to 20 strings | no | Commitments, exactly as Lever writes them. |
workplace_type | array of 1 to 4 strings | no | remote, hybrid, onsite or unspecified. |
country | array of 1 to 20 two-letter codes | no | Countries as ISO codes, as in FR or US. |
salary_min | number, 0 or more | no | The lowest upper bound of a salary range to keep. |
salary_interval | string | no | The period salary_min is written in, such as per-year-salary. |
currency | three-letter code | no | The currency salary_min is written in, as in EUR. |
posted_within_days | integer, 1 to 3650 | no | How recent an opening must be. |
limit | integer, 1 to 100, default 25 | no | Openings to read per company. |
skip | integer, 0 to 100000, default 0 | no | Openings to step over per company. |
Lever itself applies location, team, department and commitment; this server applies keyword, workplace_type, country, salary_min, salary_interval, currency and posted_within_days to what it read. list_filter_values publishes the wordings the first four take, and a wording Lever does not know comes back as an empty list.
In return: jobs, each carrying id and company_slug, which get_job takes, plus title, location, all_locations, country, workplace_type, team, posted_at, url and apply_url. commitment and department are absent when the company records neither. salary is null for an opening published without one, which is never the same as zero, and it carries the interval Lever wrote it in, never converted or annualised. per_company gives one outcome per company, with a status of read, unresolved, empty or failed, which are four different answers, and the read and returned counts around the filters. total_available is always null: Lever publishes no result count. The rows carry no advert text, since one company's board can run to megabytes.
limit applies per company, and a company whose openings fill it may publish more: the notes say when that happened, and that a count taken inside that window measures the window. posted_within_days walks up to five pages per company, and Lever pages by title, so an opening published yesterday can sit anywhere in a board.
get_jobReads one opening in full: the advert, its named sections, and the salary as published.
| Argument | Type | Required | What it does |
|---|---|---|---|
company_slug | string | yes | The Lever site name, as resolve_company returns it. |
job_id | string | yes | The identifier of one opening, as a search returns it. |
instance | global or eu | no | The instance the row came from. The global one by default. |
In return: job, holding the fields a search row carries, plus description, sections as { heading, items }, salary_note for what the company wrote beside the range, and source with the address it was retrieved from.
list_filter_valuesLists the team, location and commitment wordings one company uses. Read it before filtering: Lever matches its own wording, and the vocabulary belongs to each company, one writing Full-time where another writes EE Full-Time.
| Argument | Type | Required | What it does |
|---|---|---|---|
company_slug | string | yes | The Lever site name, as resolve_company returns it. |
| instance | global or eu | no
Only the beginning is shown; read the rest in the repo