Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Resume Booster Job Board

REMOTE · BWHDAZBOTPBLIHDXCMHO.SUPABASE.CO · SCANNED SEP 20

Job search over employers' own hiring systems. Search with no key; a free key opens every read tool.

66 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4322 tokens (~240/item across 18 items; 15 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
  • Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 94% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the Resume Booster Job Board MCP server?

Resume Booster Job Board is a hosted endpoint at https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · bwhdazbotpblihdxcmho.supabase.co

# add to Claude Code
claude mcp add --transport http work-resumebooster-jobs 'https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "work-resumebooster-jobs": {
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "work-resumebooster-jobs": {
      "type": "http",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.work-resumebooster-jobs]
url = "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "work-resumebooster-jobs": {
      "type": "remote",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add work-resumebooster-jobs --url 'https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  work-resumebooster-jobs:
    url: "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "work-resumebooster-jobs": {
      "Transport": "http",
      "Url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
# add to Vellum
assistant mcp add work-resumebooster-jobs -t streamable-http -u 'https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp'
// mcp.json
{
  "mcpServers": {
    "work-resumebooster-jobs": {
      "type": "http",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 0
    • Tool “employer_hiring_record” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 functional
    • Server version: 2026-09-04.7 → 2026-09-04.8 functional
  • 18 Sept 26 66

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=supabase.co CN=WE1,O=Google Trust Services,C=US 26 Aug 2026 24 Nov 2026 ECDSA 256 ECDSA-SHA256 7c35296a896c0a6f13f8495266045d45
SANs: supabase.co, *.supabase.co
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of bwhdazbotpblihdxcmho.supabase.co. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
co. present 7786 8 Verified
supabase.co. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp Verified 200
http (plaintext) http://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp HTTPS enforced 301 https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp
MCP tools · 15 exposed · ~3,766 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
application_status ~59

Status of applications the key owner's agent has requested — queued, submitted, refused (with the refusing gate named), or failed. Needs a key or a sign-in.

NameTypeReqDescription
limitnumberMost recent N, default 20, max 50.
NameTypeReqDescription
applicationsarrayPrepared packets and their outcome, newest first.
errorstringOnly when this key is not linked to an account.
fixstring
queuedarrayRequests waiting for the hourly preparer, newest first.
statusKeyobjectWhat each status word means.

No examples provided.

board_stats ~71

Live board statistics from cache (cheap to call): servable and tracked posting totals, the count of company job boards with open roles (boards, not employers — one employer can run several), the category set, freshness stamp. Answers with no key too, with a withKey block saying what a free key adds.

Input schema present but exposes no named parameters.

NameTypeReqDescription
categoriesarrayyesThe category slugs search_jobs accepts.
freshnessWindowDaysintegeryes
notestring
openCompanyBoardsinteger|nullyesCompany job boards with at least one servable posting. BOARDS, not employers — read openCompanyBoardsBasis.
openCompanyBoardsBasisstringyes
refreshedAtstring|nullWhen the cache these figures come from was last written.
servablePostingsinteger|nullyesPostings the board serves right now: not withdrawn, dated within the freshness window. Null when the pass did not compute it.
trackedPostingsinteger|nullEvery posting the board holds, including ones outside the serving rules.
withKeyobjectPresent on an unkeyed call: where a free key comes from and what it adds.

No examples provided.

check_apply_support ~86

Whether the apply agent can submit an application for this job on the user's behalf, and what that requires. Jobs on non-supported systems still return their direct applyUrl for the human to use. For whether THIS KEY may apply at all, call key_status — this tool answers about the job, not the key. Needs a key or a sign-in.

NameTypeReqDescription
idstringyes
NameTypeReqDescription
agentReadybooleanyesTrue when the posting's hiring system is one the apply agent can submit to.
applyUrlstringThe employer's own apply page. ABSENT when the board could not read the posting.
jobIdstringyes
requirementsarrayyesWhat applying through the agent needs — or, on a non-supported system, the one line saying the human applies at applyUrl.
vendorstring|nullyesThe hiring-system prefix of the id, e.g. 'greenhouse'. Null when the id carries none.

No examples provided.

check_jobs_open ~164

Are these postings still on the board? Answers up to 200 ids in one call — the tool for re-verifying a saved shortlist before acting on it, instead of spending a metered get_job per posting. Returns open:{id:boolean} plus the closed ids, and names the basis of the answer: it reads the board's index (a closed posting is one the employer's feed stopped listing), not the employer's site at this instant, and it is a weaker test than get_job's — read `basis` before reporting a posting as live to a person. Needs a key or a sign-in.

NameTypeReqDescription
idsarrayyesJob ids from search_jobs. Up to 200 per call; anything past that is named in notChecked rather than silently dropped.
NameTypeReqDescription
basisstringyesWhat 'open' means in this answer.
checkedinteger
closedarrayThe ids that are no longer on the board.
closedCountinteger
notCheckedarray
openobjectyesOne entry per id checked.
openCountinteger

No examples provided.

debug_search ~775

Explain WHY a search returns what it does — the board's own decision trace merged with the run's outcome. Shows the parsed query (terms, exclusions, intent-lifts, alias expansions), which filters were applied vs IGNORED and why, the route and retriever chosen, the ranking regime (ranked/ring-merged/deep-page and the seam), plus the real run's route, timings, count basis and any fallback. Use this when a search returns surprising, empty, or mis-ranked results — it turns 'why?' into one call. Takes the SAME arguments as search_jobs. Needs a key or a sign-in.

NameTypeReqDescription
agentReadyOnlybooleanOnly jobs the apply agent can submit to on the user's behalf.
categorystringComma list of category slugs (see board_stats for the live set), max 3.
companiesstringScope to specific employers: a comma list of companyToken values from job cards (or from the site's employer pages). An employer the board does not carry simply matches nothing; tokens the board drop…
countrystringISO-2 codes, comma-separated, max 5. E.g. 'US,GB'.
departmentstringSubstring match on the employer's own department/team text.
employmentTypestringComma list of: full_time, part_time, contract, temporary, internship.
excludeAgenciesbooleanHide postings from staffing/recruiting agencies (their job cards carry agency:true). Agencies are served by default; this is an opt-in narrowing.
experiencestringComma list of seniority bands the POSTING asks for: entry, mid, senior, expert. Rows whose band could not be read are excluded — use maxYears for the candidate's own side of the question.
hasStatedPaybooleanOnly postings that state a salary (excludes the ~87% that don't).
includeUnstatedPaybooleanWIDENS an active salaryMin/salaryMax band to also admit postings that state no pay at all. Inert with no band set (unpriced rows are already included). The response says salaryStatedOnly when a band…
limitnumberRows per page, 1-60. Default 20.
locationstringCity/state/metro, e.g. 'texas', 'NYC', 'berlin'.
maxAgeDaysnumberOnly postings from the last N days (1-30).
maxYearsnumberOnly roles asking for at most N years of experience.
offsetnumberPaging offset — pass back the previous response's nextOffset.
payBasisstringRestrict to hourly or salaried pay.
postedAfterstringISO-8601 instant; only postings the EMPLOYER dated after it. Undated rows fall out of this window (unlike maxAgeDays, which falls back to when the board first saw a posting), so this is the strict fo…
querystringSearch terms. Supports exclusions: 'engineer -senior'.
remotebooleanOnly remote-friendly roles.
salaryMaxnumberAnnual USD-equivalent salary ceiling.
salaryMinnumberAnnual USD-equivalent salary floor. Note: only ~13% of postings state pay.
sortstringDefault relevance.
vendorstringComma list of hiring-system vendors (greenhouse, lever, ashby, …), max 8.
workModestringComma list of: remote, hybrid, onsite.
NameTypeReqDescription
decisionobjectyesThe board's own explain trace for this query: parsed terms, filters applied or ignored and why, route, retriever and ranking regime. Its keys are the board's and change as the board's decisions do.
outcomeobjectyes

No examples provided.

employer_growth ~266

Did this employer's board serve more roles than it did 7 days earlier? One row per companyToken (up to 20 per call), judged by the board itself from our own daily observation and passed through untouched: grew, no-growth, or unknown — and unknown ALWAYS carries unknown_reason (a feed bigger than one visit can read, a board too new or too small for a rate, a gap in our own series, a pool that was replaced rather than grown…): an unknown is a reading we could not take, never a no. The bars the verdict uses: at least 10 roles served at the window's start; then BOTH at least 4 more roles AND at least 25% more, on a board tracked for at least 21 days, with every read in the window whole. Per BOARD (a vendor tenant), never summed across an employer's boards; more roles served is roles opened net of roles that came down — not a headcount and not a hire. This tool never ranks employers, and no list of growing employers exists here or anywhere on the board. Needs a key or a sign-in.

NameTypeReqDescription
companyTokensarrayyescompanyToken values from job cards or search_jobs. Up to 20; more is refused with the count named.
NameTypeReqDescription
askedinteger
barsobjectyesWhat the verdict measured against — for reading a row, never for re-judging one.
basisstringyes
employersarrayyesOne row per token asked, in the order asked. A token with no daily series answers unknown with its reason.

No examples provided.

employer_hiring_record ~433

For each employer handle (companyToken, up to 20 per call), that employer's own record on this board: open_roles now, closed_90d (postings we watched come off this board in the last 90 days, re-lists excluded), superseded_90d (the re-lists, a floor), the two medians from the employer's own stated dates (lower bounds), tracking_days (how long we have watched THIS board, capped at 90) and feed_total (what its feed advertised at the last check). A takedown is not a hire — a filled role, a cancelled one and a withdrawn one look identical from here — and it is a record of one BOARD, never summed across an employer's boards, never a headcount. A board with no closure observed answers record:'unknown' with the reason, never a verdict about the employer: on a board bigger than one visit can read, no closure is observable to us until we complete a provable full pass and then watch a role go after it, so silence there is about our instrument. Every row carries its basis. Every row also carries layoff_filing — the newest layoff filing joined to that employer by a hand-curated alias or an exact multi-token name match, a US state WARN notice or an SEC 8-K Item 2.05 disclosure, printed as a filing (filer verbatim, its dates with their bases, count, state or form, link), read hourly from SEC EDGAR and nightly from state notices, null when none qualifies within 90 days, and no part of record or any verdict; layoff_basis on the response says what it is and is not. Pair with employer_growth for the other half of what the site calls "Actively hiring". Needs a key or a sign-in.

NameTypeReqDescription
companyTokensarrayyescompanyToken values from job cards or search_jobs (a vendor tenant, e.g. 'acme' or 'gici~wd5~Careers'). Up to 20; more is refused with the count named.
NameTypeReqDescription
askedinteger
basisstringyes
employersarrayyesOne row per token asked, in the order asked. A token the board does not carry still answers, as unknown.
layoff_basisstringyesWhat layoff_filing is and is not, beside every row's record.
layoff_readstringyes"ok" when the filing reader answered for every employer; otherwise "unread: <fault>" and every layoff_filing on this response is null for that reason, never because nothing qualified. The record is u…
window_daysinteger

No examples provided.

fetch ~135

An ALIAS of get_job in the fixed shape ChatGPT's deep-research and company-knowledge connectors call: one id in (from search), {id,title,text,url,metadata} out. text is the posting's full description; metadata carries the job card's structured fields (pay, experience, location, workMode, postedAt, companyToken, agentReady). A dead id answers with what the board knows — a watched closure, an aged-out stub, or not found — in text and metadata, never a stale card. Any other client should call get_job.

NameTypeReqDescription
idstringyesA job id from search.
NameTypeReqDescription
idstringyes
metadataobjectyesThe compact job card without the description; on a dead id, the board's closed/agedOut/notFound record.
notestring
textstringyesThe description, or the board's one-line reason when there is none.
titlestring|nullyesNull when there is no posting to return; read metadata.closed / agedOut / notFound.
urlstringyes

No examples provided.

fit_resume ~233

Score a résumé against open jobs, for an agent holding a CV: reads the occupation out of resumeText (or uses `query` if given), searches the board for it, and scores up to 20 results 0-100 with the matched and missing terms per job. PAID — needs a paid API key, exactly like POST /v1/fit on the data API, or a live Agent Pass on the key's account; a free key gets an in-band refusal naming where to upgrade. A null fit means the posting has no stored description to score. Returns the terms it read from the CV so the agent can pick a different one and call again with `query`. Needs a key or a sign-in.

NameTypeReqDescription
countrystring
limitintegerJobs to score, 1-20 (default 20).
locationstring
querystringOptional job title to search instead of the one read from the résumé.
remoteboolean
resumeTextstringyesThe candidate's résumé as plain text (100+ characters).
NameTypeReqDescription
agenciesExcludedbooleanRow-selecting: disclosed agency inventory is hidden from this page.
countUnavailablebooleanThe board could not count this query exactly — do not report a total.
didYouMeanstring
excludedTermsarray
hasMoreboolean
ignoredFiltersarrayFilters the board could NOT apply. Results answer a wider question than was asked.
intentFiltersarrayWords read out of the query as filters.
jobsarrayyes
nextOffsetintegerPass back as `offset` for the next page.
notestring
querystring|nullWhat was actually searched. Null when no occupation was recognised.
salaryStatedOnlybooleanRow-selecting: this page excludes the ~87% of postings with no stated pay.
termsarrayyesThe occupations read out of the résumé, best first.
totalinteger|nullExact match count. ABSENT with countUnavailable:true when the board refuses to guess.

No examples provided.

get_job ~131

Full detail for one job id (from search_jobs), including the complete description text and when the employer's feed last confirmed it open. A resumebooster.work/jobs?job=<id> link's id is this argument (and fetch's, check_apply_support's and request_application's). For several ids at once, use get_jobs — it costs ONE call against the daily quota instead of one per posting. Needs a key or a sign-in. With neither, call fetch with the same id.

NameTypeReqDescription
idstringyesThe job id, e.g. 'greenhouse:acme:12345'.
NameTypeReqDescription
agedOutobjectPast the 30-day freshness cap.
agencybooleanPresent and true when the posting comes from a staffing/recruiting agency.
agentReadybooleanTrue when request_application can submit to this hiring system.
applyUrlstring|null
categorystring|null
closedobjectThe board watched this posting come down: title, company, closedAt.
companystring|null
companyTokenstring|nullThe employer handle; pass it back in search_jobs `companies`.
countrystring|nullISO-2.
departmentstringThe employer's own team name. ABSENT when the posting carries none.
descriptionstringThe posting's full text, truncated at 24,000 characters with a [truncated] marker.
employmentTypestring|null
experienceBandstringABSENT when the posting's seniority could not be read.
idstringvendor:employer:externalId — the id every other tool takes.
jobnullPresent and null when there is no posting to return; read `closed` / `agedOut` / `notFound` beside it.
locationstring|null
minYearsintegerYears of experience the posting asks for. ABSENT when it names none (~71%).
notFoundbooleanNo posting with this id — never on this board, or gone long enough that nothing is remembered.
notestring
postedAtstring|nullThe employer's own date, ISO-8601. Null when the feed carries none — never the date we first saw it.
recheckedAtstringWhen the employer's feed was last fetched and still carried this employer's board.
salarystring|nullThe employer's own pay text, verbatim and unparsed.
salaryCurrencystringISO-4217, as stated. ABSENT when unstated.
salaryMaxAnnualnumberAnnual USD-equivalent ceiling. ABSENT when unstated.
salaryMinAnnualnumberAnnual USD-equivalent floor, parsed by the board. ABSENT when the posting states no pay — absence is not zero.
salaryPeriodstringThe period the employer stated: hour, month, year. ABSENT when unstated (~89% of the board).
titlestring|null
workModestring|nullStated or inferred from title/location; null when neither says.

No examples provided.

get_jobs ~165

Full detail for up to 10 job ids in ONE call — the shortlist form of get_job. Each id answers with a card plus its description; ids that closed, aged out or were never on this board come back in `unavailable` with the reason named, so one dead id never costs you the other nine. Set includeDescription=false for cards and freshness only (much smaller, and no vendor fetch). Needs a key or a sign-in.

NameTypeReqDescription
idsarrayyesJob ids from search_jobs. Up to 10 per call — each one is a separate detail read that may fetch the employer's page.
includeDescriptionbooleanDefault true. Descriptions are capped at 8,000 characters here; call get_job for the whole text of one.
NameTypeReqDescription
jobsarrayyes
notFetchedarrayIds past the per-call cap — sent, not read. Call again with these.
requestedinteger
returnedinteger
unavailablearrayyes

No examples provided.

key_status ~133

What THIS key is and may do: tier, requests left this minute, calls left today (both including this call), whether fit_resume (and engine=ranked on the data API) answers on it, and whether the apply tools would — with any blocker named: account link, Agent plan or live pass, mandate, résumé on file. On an Agent Pass: when the clock ends and how many applications are left (a pass starts at the first call other than this one). Call it first in a keyed session, and after any 'quota' or 'rate' refusal. Needs a key or a sign-in.

Input schema present but exposes no named parameters.

NameTypeReqDescription
applyobjectyes
countedstring
docsstring
featuresobjectyes
keyobjectyes
passobjectyesThe account's pass, if any. Every figure is read off the pass row; nothing here is a constant.
quotaobjectyes
rateobjectyes

No examples provided.

request_application ~192

Ask the board's apply agent to submit an application to this job on behalf of the key's owner. Needs an account key (mint one at https://resumebooster.work/agents), an active Agent plan OR a live Agent Pass (bought signed-in at https://resumebooster.work/agents/pass), and a mandate set in Account — call key_status first: it says which of the three is missing, and on a pass how many applications and how much time are left. Every application passes the same gates as the signed-in flow, including the honesty classifier: answers are drawn from the owner's own profile and never invented. Ask the person for a yes on this specific job id before calling. Needs a key or a sign-in.

NameTypeReqDescription
jobIdstringyesThe job id from search_jobs.
notestringOptional note stored with the request (not sent to the employer).
NameTypeReqDescription
acceptedbooleanyesFalse when a gate refused; true when the request is in the agent's queue (or already was).
alreadyQueuedbooleanAccepted only: this job was already in the queue — nothing duplicated, and on a pass nothing spent.
companystring
errorstringRefused only: what the gate said.
fitPctnumber|nullKeyword fit of the résumé on file to this posting, 0-100; null when the posting has no text to score.
fixstringRefused only: what would change the answer.
jobIdstring
notestring
passApplicationsLeftinteger|nullAccepted on a pass: applications left on it after this one. Null when a subscription funded the request.
queueStatusstringWith alreadyQueued: the existing row's status.
refusedBystringRefused only: the gate — key, jobId, mandate, resume, plan (no Agent plan and no live pass), pass (the pass has no applications left or its clock ended), posting, scope-country, scope-category, scope…
titlestring
warningstringAccepted but flagged: below the release floor, or a system the agent prepares for rather than submits to.
whatHappensNextstring

No examples provided.

search ~145

An ALIAS of search_jobs in the fixed shape ChatGPT's deep-research and company-knowledge connectors call: one query string in, {results:[{id,title,url}]} out. Every result's id is the job id fetch and every other tool take; url is the employer's own apply page when the board holds one, else the posting's page on the site. Same board, same ranking, same limit as an unkeyed search_jobs (10 rows); the disclosures ride beside the results. Any other client should call search_jobs, which takes every filter.

NameTypeReqDescription
querystringyesFree text — title, skills, a place, exclusions with a leading minus.
NameTypeReqDescription
agenciesExcludedbooleanRow-selecting: disclosed agency inventory is hidden from this page.
countUnavailablebooleanThe board could not count this query exactly — do not report a total.
didYouMeanstring
excludedTermsarray
hasMoreboolean
ignoredFiltersarrayFilters the board could NOT apply. Results answer a wider question than was asked.
intentFiltersarrayWords read out of the query as filters.
nextOffsetintegerPass back as `offset` for the next page.
notestring
resultsarrayyes
salaryStatedOnlybooleanRow-selecting: this page excludes the ~87% of postings with no stated pay.
totalinteger|nullExact match count. ABSENT with countUnavailable:true when the board refuses to guess.

No examples provided.

search_jobs ~778

Search the live job board (postings pulled directly from employers' own hiring systems, 30-day freshness cap; board_stats carries the live totals). Returns compact job cards — including the board's own parsed pay (salaryMinAnnual/salaryMaxAnnual/salaryPeriod), experience band and minYears, so pay and seniority never have to be re-read out of prose — plus the board's honesty disclosures: exact totals when knowable (countUnavailable otherwise), filters it could not honour (ignoredFilters), words it read as filters (intentFilters), and spelling suggestions. Set agentReadyOnly=true to see only jobs the apply agent can submit to directly.

NameTypeReqDescription
agentReadyOnlybooleanOnly jobs the apply agent can submit to on the user's behalf.
categorystringComma list of category slugs (see board_stats for the live set), max 3.
companiesstringScope to specific employers: a comma list of companyToken values from job cards (or from the site's employer pages). An employer the board does not carry simply matches nothing; tokens the board drop…
countrystringISO-2 codes, comma-separated, max 5. E.g. 'US,GB'.
departmentstringSubstring match on the employer's own department/team text.
employmentTypestringComma list of: full_time, part_time, contract, temporary, internship.
excludeAgenciesbooleanHide postings from staffing/recruiting agencies (their job cards carry agency:true). Agencies are served by default; this is an opt-in narrowing.
experiencestringComma list of seniority bands the POSTING asks for: entry, mid, senior, expert. Rows whose band could not be read are excluded — use maxYears for the candidate's own side of the question.
hasStatedPaybooleanOnly postings that state a salary (excludes the ~87% that don't).
includeUnstatedPaybooleanWIDENS an active salaryMin/salaryMax band to also admit postings that state no pay at all. Inert with no band set (unpriced rows are already included). The response says salaryStatedOnly when a band…
limitnumberRows per page, 1-60. Default 20.
locationstringCity/state/metro, e.g. 'texas', 'NYC', 'berlin'.
maxAgeDaysnumberOnly postings from the last N days (1-30).
maxYearsnumberOnly roles asking for at most N years of experience.
offsetnumberPaging offset — pass back the previous response's nextOffset.
payBasisstringRestrict to hourly or salaried pay.
postedAfterstringISO-8601 instant; only postings the EMPLOYER dated after it. Undated rows fall out of this window (unlike maxAgeDays, which falls back to when the board first saw a posting), so this is the strict fo…
querystringSearch terms. Supports exclusions: 'engineer -senior'.
remotebooleanOnly remote-friendly roles.
salaryMaxnumberAnnual USD-equivalent salary ceiling.
salaryMinnumberAnnual USD-equivalent salary floor. Note: only ~13% of postings state pay.
sortstringDefault relevance.
vendorstringComma list of hiring-system vendors (greenhouse, lever, ashby, …), max 8.
workModestringComma list of: remote, hybrid, onsite.
NameTypeReqDescription
agenciesExcludedbooleanRow-selecting: disclosed agency inventory is hidden from this page.
countUnavailablebooleanThe board could not count this query exactly — do not report a total.
didYouMeanstring
excludedTermsarray
hasMoreboolean
ignoredFiltersarrayFilters the board could NOT apply. Results answer a wider question than was asked.
intentFiltersarrayWords read out of the query as filters.
jobsarrayyes
nextOffsetintegerPass back as `offset` for the next page.
salaryStatedOnlybooleanRow-selecting: this page excludes the ~87% of postings with no stated pay.
totalinteger|nullExact match count. ABSENT with countUnavailable:true when the board refuses to guess.

No examples provided.

Common questions

What is the Resume Booster Job Board MCP server?

Resume Booster Job Board is an MCP server listed in the public MCP registry as work.resumebooster/jobs. Job search over employers' own hiring systems. Search with no key; a free key opens every read tool. This page covers its hosted endpoint (https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp).

Is the Resume Booster Job Board MCP server safe to use?

Resume Booster Job Board scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Resume Booster Job Board MCP server expose?

Resume Booster Job Board exposes 15 tools: search_jobs, get_job, get_jobs, check_jobs_open, check_apply_support, and 10 more. Their descriptions and schemas cost roughly 3,766 tokens of context every time the server is loaded.

Does the Resume Booster Job Board MCP server require authentication?

No. We connected to Resume Booster Job Board without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Resume Booster Job Board MCP server still maintained?

Resume Booster Job Board is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.