joblet-mcp-grok
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., "@joblet-mcp-groksearch for DevOps engineer jobs in London"
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.
joblet-mcp-grok
Standalone MCP server exposing read-only joblet.ai job search to Grok and any other standards-compliant MCP host. Independent deployment — shares no infrastructure, branch, or release train with Joblet's other connectors.
Two tools, both read-only (readOnlyHint: true):
search_jobs— keyword search with a real upstream location filter, MCP-layer relevance filtering (title/category/industry/role token match; description-only matches rejected), expVer/near-duplicate deduplication, and a hard cap of 8 results. Ships text +structuredContent, plus an MCP Apps job-card widget for hosts that render it.get_job_details— full posting (description, requirements, responsibilities, salary and workplace when known, apply link) by job id.
Application URLs are passed through byte-exact (Joveo tracking preserved, no proxy or redirect). Employment type is deliberately not surfaced or filtered: the upstream search does not provide an authoritative field.
Requirements
Node.js 18+ (developed and tested on Node 24)
No API keys or secrets — the upstream joblet.ai API is public
Local setup
npm ci
npm run build # bundles the widget to dist/mcp-app.html (required before start)
PORT=3010 npm start # MCP endpoint at http://localhost:3010/mcpHealth check:
# GET /health -> {"status":"ok","version":"1.1.0"}MCP endpoint: POST /mcp — Streamable HTTP, JSON responses, stateless
(no session ids). Requires the spec-standard
Accept: application/json, text/event-stream header. GET / returns a
service banner.
Verify the MCP contract locally
MCP_URL="http://localhost:3010/mcp" node test_client.mjs
MCP_URL="http://localhost:3010/mcp" node test_widget.mjsOr interactively: npm run inspect (MCP Inspector → Streamable HTTP →
the /mcp URL).
Development
npm run typecheck # server + widget/tests configs
npm test # vitest suites (server pipeline, widget, a11y, logging)
npm run build # production widget bundleConfiguration
See .env.example. Everything is optional; defaults are
production-sane. MCP_REQUEST_LOG=1 enables sanitized per-call logging
(hashes/lengths/counts only — never raw query text, locations, apply URLs,
or credentials).
Widget notes
The job-card widget reports its intrinsic height to the host via the MCP
Apps sendSizeChanged notification (height only, measured after
requestAnimationFrame, change-gated to avoid resize loops) and respects a
fixed host container height when one is declared. Whether a host resizes
the iframe accordingly is host behavior. The View & Apply CTA uses the
standards-compliant ui/open-link request with a visible, accessible
in-card fallback (link + copy action) whenever the host denies or does not
support it — it never fails silently.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP for 8,700+ current AI jobs. 13 tools: search, match, salaries, companies, commerce quotes.
Job search over employers' own hiring systems. Search with no key; a free key opens every read tool.
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.