job-search-mcp
job-search-mcp
MCP-сервер для поиска работы с учётом визовых ограничений.
Если вам нужно спонсорство, большинство инструментов для поиска работы отвечают не на тот вопрос. Они сообщают, что вакансия существует. Но не сообщают, может ли работодатель нанять вас легально, не прячет ли «mid-level» заголовок более высокую должность и не является ли компания, разместившая вакансию, рекрутинговым агентством вообще без лицензии.
Этот сервер отвечает на эти вопросы. Он предоставляет четыре инструмента через Model Context Protocol, чтобы ИИ-ассистент мог проверить их сам, а не гадать.
Инструменты
Инструмент | Что даёт |
| Есть ли у этого работодателя лицензия UK Skilled Worker и насколько можно доверять совпадению? |
| Есть ли здесь жёсткие барьеры? Соответствует ли заголовок вакансии реальному уровню должности? |
| Какие вакансии открыты прямо сейчас, без агентств? |
| Я уже откликался здесь? |
Related MCP server: recruiting-jobs-mcp
Зачем существует градация уверенности
Очевидный способ проверить спонсорскую лицензию — найти название компании в реестре. Именно так всё и начиналось, и этот подход ошибается достаточно часто, чтобы быть опасным.
Названия компаний сталкиваются и пересекаются. Чтобы сопоставить Pимberly с её зарегистрированным названием Pимberly Software Development Limited, нужно отбросить слова вроде «Software» и «Limited». Та же нормализация превращает Minerva Defence в minerva, что соответствует тринадцати компаниям, не связанным между собой: мебельному бизнесу, кредитному агентству, поставщику услуг сопровождаемого проживания.
Поэтому check_sponsor возвращает степень уверенности, а не логическое значение:
high— отличительная часть названия совпала точно, один раз.verify— что-то совпало, но это может быть случайностью. Уточните официальное юридическое название работодателя и проверьте по реестру именно это название.none— ничего не совпало. Это не доказывает, что они не могут спонсировать визу. Многие лицензированные работодатели работают под названием, которое отличается от зарегистрированного.
Реальные случаи, которые привели к такой логике:
Что искали | Что нашлось | Что было на самом деле |
Minerva Defence | 13 записей «Minerva», не связанных с ней |
|
Prevail | Prevail Technology Limited (Poole) | Работодатель — |
MAGIC | MAGIC SOFTWARE SERVICES LTD | Верный ответ, но не то свидетельство. Работодатель — |
TransPerfect | Perfect Digital Ltd | Некорректное совпадение по слову «perfect». |
eFinancialCareers | eFinancialCareers Ltd | Верно и бесполезно: лицензия есть, но это доска вакансий. Вакансии, размещённые под этим именем, принадлежат неназванным третьим лицам |
Почему screen_posting читает текст вакансии, а не её заголовок
Вакансия с заголовком «Software Engineer» начиналась со слов "As a Senior Software Engineer you will" и приглашала присоединиться к "the founding team". В вакансии «Software Engineer (Java Mid)» старшинстворе было названо тремя абзацами ниже. Фильтрация по названию не видит ни одну из них.
screen_posting также ловит жёсткие барьеры, которые не обойдёт никакой подбор материалов:
You must be a UK citizen and have lived in the UK for the past 10 years.
You must already hold high-level UK security clearance.и этот барьер — самый важный из тех, когда требуется спонсорство, — из компании, у которой там лицензия с рейтингом A:
We are unable to offer visa sponsorship for this role. Candidates who need visa
sponsorship now or will need it in the future will not be considered.Наличие лицензии означает, что компания может быть спонсором. Это не значит, что она будет им.
Почему search_roles возвращает воронку
Британские доски вакансий заполнены рекрутинговыми агентствами, а агентство не является спонсорским лицензироатом для вакансии, которую оно публикует. Отсеивать их необходимо — и это грубо. Обычный поиск сокращается с семи результатов до одного.
Один результат без объяснений выглядит как баг. Поэтому инструмент сообщает, что именно было убрано на каждом этапе:
{
"totalFromSource": 7,
"funnel": { "fromSource": 7, "afterAgencyFilter": 2, "afterSalaryAndAge": 1 },
"notes": ["5 of 7 results were recruitment agencies or job boards. ..."]
}Неопубликованные зарплаты сохраняются, их никогда не фильтруют. Молчание о зарплате — не свидетельство низкой оплаты.
Установка
npm install && npm run buildСкачайте актуальную версию реестра (около 11 МБ, обновляется регулярно):
https://www.gov.uk/government/publications/register-of-licensed-sponsors-workers
Сохраните его как data/register.csv или укажите SPONSOR_REGISTER_PATH на него.
Claude Desktop / Claude Code
{
"mcpServers": {
"job-search": {
"command": "node",
"args": ["/absolute/path/to/job-search-mcp/dist/index.js"],
"env": {
"SPONSOR_REGISTER_PATH": "/absolute/path/to/data/register.csv",
"REED_API_KEY_FILE": "/absolute/path/to/.reed-api-key"
}
}
}
}Переменная | Обязательность | Назначение |
| нет | Реестр в формате CSV. По умолчанию — |
| для | Путь к файлу с ключом. Предпочтительно: ключ живёт в одном месте, а в конфиге клиента — только путь |
| альтернатива | Ключ прямо в конфиге. Проще, но копирует секрет в ваш MCP-конфиг |
| нет | Журнал откликов в формате NDJSON |
з | нет |
Ни один секрёт никогда не читается из файла внутри репозитория, а сам реестр добавлен в .gitignore.
Или с помощью CLI Claude Code:
claude mcp add job-search --scope user \
--env SPONSOR_REGISTER_PATH=/path/to/data/register.csv \
--env REED_API_KEY_FILE=/path/to/.reed-api-key \
-- node /path/to/job-search-mcp/dist/index.jsТесты
npm test54 теста. Каждый fixture — это реальная вакансия или реальная запись из реестра, с которыми не справлялась более ранняя версия этого кода. В тестах Reed мокеруется fetch, поэтому набор запускается в автономном режиме и не тратит квоту API.
Две ошибки, которых поймал набор тестов, когда ещё писался сам:
£40,000-85,000разбирался как ровные £40,000, потому что во втором числе нет символа валюты. Про порога зарплаты это разница между «проходит» и «не проходит».Фильтр агентств, записанные как
\brecruit\b, никогда не совпадал с Recruitment и Consultancy. Примерно пятьдесят агентств прошли насквозь без отсева.
Заметки по дизайну
core() намеренно уничтожает информацию. Отбрасывание описательных слов — это то, что позволяет сопоставить бренд с юридически названием, и именно поэтому возникновения о появлении ложных срабатываний. Степень уверенности в цене этого компромисс, а не прячет его.
Отсутствие — не отрицательный результат. none несёт оговорку об этом. Самая дорогая ошибка в этой области — сделать вывод, что работодатель, которого нет в реестре, не может быть спонсором.
Read-only. Сервер читает журнал откликов, но никогда не пишет в него. Фиксация решения — это действие человека.
Лицензия
MIT
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 Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI-driven job application automation for LinkedIn and SEEK platforms with intelligent cover letter generation, automated application submission, and application tracking management. Supports anti-detection measures and complies with platform usage policies for safe job hunting automation.
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.11MIT

FoundRole MCPofficial
AlicenseAqualityBmaintenanceEnables AI assistants to search live jobs, view full details, save and track applications in a Kanban board, set follow-up reminders, and subscribe to job alerts—no account needed for searching.20269MIT
Related MCP Connectors
Job platform for AI agents. Track tech jobs from companies that match your stack.
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
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/pendevster/job-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server