joblet-mcp-grok
joblet-mcp-grok
Автономный MCP-сервер, предоставляющий доступ только на чтение к поиску вакансий joblet.ai для Grok и любого другого MCP-хоста, соответствующего стандарту. Независимое развертывание — не использует общую инфраструктуру, ветку или цикл релизов с другими коннекторами Joblet.
Два инструмента, оба только на чтение (readOnlyHint: true):
search_jobs— поиск по ключевым словам с реальным фильтром по местоположению на стороне источника, фильтрацией релевантности на уровне MCP (совпадение токенов в названии/категории/отрасли/роли; совпадения только в описании отклоняются), дедупликацией по expVer/почти дубликатам и жестким ограничением в 8 результатов. Возвращает текст +structuredContent, а также виджет карточки вакансии MCP Apps для хостов, которые его отображают.get_job_details— полное объявление (описание, требования, обязанности, зарплата и место работы, если известны, ссылка для отклика) по идентификатору вакансии.
URL-адреса приложений передаются байт-в-байт (трекинг Joveo сохраняется, без прокси или редиректов). Тип занятости намеренно не отображается и не фильтруется: поиск на стороне источника не предоставляет авторитетного поля.
Требования
Node.js 18+ (разработано и протестировано на Node 24)
Никаких API-ключей или секретов — публичный API joblet.ai
Локальная настройка
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/mcpПроверка работоспособности:
# GET /health -> {"status":"ok","version":"1.1.0"}MCP-эндпоинт: POST /mcp — Streamable HTTP, JSON-ответы, без сохранения состояния (без идентификаторов сессий). Требуется стандартный заголовок Accept: application/json, text/event-stream. GET / возвращает служебный баннер.
Проверка MCP-контракта локально
MCP_URL="http://localhost:3010/mcp" node test_client.mjs
MCP_URL="http://localhost:3010/mcp" node test_widget.mjsИли в интерактивном режиме: npm run inspect (MCP Inspector → Streamable HTTP → URL /mcp).
Разработка
npm run typecheck # server + widget/tests configs
npm test # vitest suites (server pipeline, widget, a11y, logging)
npm run build # production widget bundleКонфигурация
См. .env.example. Все параметры необязательны; значения по умолчанию подходят для продакшена. MCP_REQUEST_LOG=1 включает санитизированное журналирование каждого вызова (только хэши/длины/счетчики — никогда не записываются сырые тексты запросов, местоположения, URL для отклика или учетные данные).
Примечания по виджету
Виджет карточки вакансии сообщает хосту свою собственную высоту через уведомление MCP Apps sendSizeChanged (только высота, измеряется после requestAnimationFrame, с защитой от изменений, чтобы избежать циклов изменения размера) и учитывает фиксированную высоту контейнера хоста, если она задана. Будет ли хост соответствующим образом изменять размер iframe — это поведение хоста. Кнопка «Просмотр и отклик» использует стандартный запрос ui/open-link с видимым и доступным запасным вариантом внутри карточки (ссылка + действие копирования) всякий раз, когда хост отклоняет его или не поддерживает — она никогда не завершается молча.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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.
Job search and interview prep MCP. 11 tools, OAuth 2.1, cross-LLM. four-leaf.ai.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Joblet-Official/joblet-mcp-grok'
If you have feedback or need assistance with the MCP directory API, please join our Discord server