HiringCafe MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HiringCafe MCP ServerSearch for software engineer jobs in Seattle"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HiringCafe MCP Server
A minimal, no-auth remote MCP server built with Next.js and the Vercel MCP SDK
(mcp-handler). It lets an MCP client (like ChatGPT) search HiringCafe using its
public HTML pages — no internal API, no database, no browser automation.
How it works
HiringCafe is a Next.js app that server-renders a structured __NEXT_DATA__ JSON
island into every public HTML page. This server fetches those public pages over
plain HTTP and parses that island with cheerio, which
is far more robust than scraping CSS class names. Results are cached in memory by
job URL for the lifetime of a warm serverless instance.
No auth
No database
No frontend app (a small status page is served at
/)No browser automation / Playwright
No background crawling or pagination (first page only)
All page content is treated as untrusted text
Related MCP server: jobfinder-mcp
Endpoints
Endpoint | Purpose |
| MCP server (Streamable HTTP) |
| Liveness probe (returns |
MCP tools
search_jobs
Search listings by role and/or location.
// input
{ "query": "software engineer", "location": "Seattle, WA" }
// -> fetches https://hiring.cafe/jobs/software-engineer-seattle-waReturns { jobs: [{ id, title, company?, location?, salary?, workplace_type?, employment_type?, summary?, skills?, url }] }.
get_job
Fetch and parse a single /job/... detail page.
{ "url": "https://hiring.cafe/job/<job-slug>" }Returns { id, title, company?, location?, salary?, workplace_type?, employment_type?, requirements_summary?, tools?, description?, url }.
search (ChatGPT-compatible)
Free-text search that returns compact, citation-friendly results.
{ "query": "SRE jobs in Bellevue" }
// -> { results: [{ id, title, url }] }fetch (ChatGPT-compatible)
Return full text + metadata for a job by the id from search/search_jobs.
{ "id": "<id>" }
// -> { id, title, text, url, metadata: { source: "hiring.cafe", company?, location? } }Ids are base64url-encoded job URLs, so
fetchworks even on a cold instance where the in-memory cache is empty.
URL slugging
Route building lives in lib/slug.ts so it can be adjusted if HiringCafe changes
its URL patterns:
"Seattle, WA" -> "seattle-wa"
"Software Engineer" -> "software-engineer"
query + location -> /jobs/{query-slug}-{location-slug}
location only -> /jobs/{location-slug}
query only -> /jobs/{query-slug}Local development
pnpm install
pnpm devDeploy to Vercel
Push the repo and import it into Vercel, or:
vercel deployNo environment variables are required. Your MCP endpoint will be:
https://<your-deployment>.vercel.app/api/mcpConnect from ChatGPT
In ChatGPT, open Settings → Connectors (or a custom GPT's Actions/MCP).
Add a new remote MCP server with the URL:
https://<your-deployment>.vercel.app/api/mcpNo authentication is needed.
ChatGPT will discover the
search_jobs,get_job,search, andfetchtools.
Example prompts
"Search HiringCafe for software engineer jobs in Seattle"
"Find SRE jobs in Bellevue"
"Fetch details for this job: https://hiring.cafe/job/"
Project structure
app/
api/
mcp/route.ts # MCP server + tool definitions
healthz/route.ts # liveness probe
page.tsx # status page
lib/
hiringCafe.ts # fetch + parse public HiringCafe HTML
normalize.ts # id/text/skill normalization helpers
slug.ts # slug + route builders
cache.ts # in-memory job cache
types.ts # shared typesSafety
All outbound fetches have a hard timeout.
Results are limited to the first listing page (no pagination crawling).
No login, no applying to jobs, no writes to HiringCafe.
Page content is treated as untrusted text.
This server cannot be deployed
Maintenance
Related MCP Connectors
Public MCP server for discovering open jobs. Search, filter, and get application links.
SAP SuccessFactors public career-site jobs via an Apify Actor, hosted MCP.
One MCP for the Web. Easily search, crawl, navigate, and extract websites without getting blocked.…
Google Jobs listings with direct apply links via the Apify Google Jobs Scraper, hosted MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAggregates job listings from multiple ATS and job board APIs via MCP, enabling unified search and retrieval in a structured format without HTML parsing.1MIT
- FlicenseAqualityCmaintenanceEnables searching job listings, tracking applications, managing resumes, and tailoring resumes to job posts, all locally via MCP.620-
- AlicenseAqualityAmaintenanceEnables MCP clients to search Indeed job listings by keyword and location and retrieve full job postings as structured JSON, without requiring an Indeed developer account or partner approval.264 npm143 PyPI10MIT
- AlicenseNot gradedqualityBmaintenanceEnables aggregated job scraping from LinkedIn, Indeed, Google Jobs, Adzuna, Jooble, Remotive, and Himalayas, with deduplication and retrieval of job postings via MCP tools.1MIT