mcp-job-radar
MCP Job Radar
Английский · Португальский
Безопасный сервер Model Context Protocol только для чтения для поиска вакансий и объяснимого сопоставления.
Описания вакансий могут содержать инъекции в промпты, команды, запросы секретов и вредоносные ссылки. Этот сервер предоставляет возможности поиска вакансий AI-хостам, не превращая ненадежные списки в канал инструкций. Каждый инструмент типизирован, ограничен, проверен, доступен только для чтения и протестирован через реальный внутрипроцессный MCP-клиент.
Что рецензент может проверить за три минуты
uv sync --extra dev
uv run pytest
uv run mcp-job-radar-demoДемо подключает официальный MCP-клиент к серверу, обнаруживает инструменты через tools/list, вызывает search_jobs и выводит его структурированный результат. Тесты покрывают обнаружение инструментов, JSON Schema, детерминированное ранжирование, типизированные ошибки, тайм-ауты, повторные попытки, разрыв цепи и враждебный контент.
Related MCP server: LinkedIn Jobs MCP Server
Инструменты
Инструмент | Что возвращает | Граница безопасности |
| Ограниченные совпадения по названию и заявленным навыкам | Описания не влияют на поиск |
| Оценка, причины и компромиссы относительно типизированного профиля | Детерминированная политика, без скрытых суждений LLM |
| Точные факторы, стоящие за одной оценкой | Та же политика, что и при ранжировании, без постфактум-объяснений |
| Markdown или JSON в ответе | Нет записи в файловую систему или подачи заявки |
Все входные и выходные данные используют строгие модели Pydantic. Недопустимый, отсутствующий, дублирующийся или избыточный ввод приводит к стабильной машиночитаемой ошибке, а не к трассировке реализации.
Архитектура
flowchart LR
H[AI host] -->|MCP| M[MCP adapter]
M --> A[Safe audit boundary]
A --> S[Typed job service]
S --> R[Deterministic ranker]
S --> G[Untrusted-content gateway]
S --> D[Timeout, retry, circuit breaker]
D --> F[(Normalized fixtures)]
G -->|bounded and redacted| MАдаптер MCP не содержит логики ранжирования. Сервис приложения владеет вариантами использования, шлюз безопасности владеет границей доверия, а репозиторий владеет устойчивостью источников. Такое разделение делает протокол заменяемым, а критические политики — независимо тестируемыми.
Прочтите полную архитектуру и модель угроз и матрицу враждебных тестов.
Меры безопасности
Описания вакансий ограничиваются, нормализуются, сканируются и редактируются перед попаданием в контекст агента.
Фразы с инъекциями в промпты, запросы секретов, команды и встроенные URL становятся явными находками.
URL-адреса вакансий должны использовать публичный HTTPS и не могут содержать учетные данные или указывать на локальные/частные хосты.
Количество результатов и идентификаторы пакетов ограничены 25.
Доступ к источникам имеет тайм-аут, ограниченные повторные попытки и внутрипроцессный предохранитель.
События аудита содержат имя инструмента, статус, длительность и тип ошибки, но никогда аргументы или тела результатов.
Намеренно отсутствуют выполнение команд, произвольная загрузка, чтение локальных файлов, автоматическая подача заявок или возможность постоянного экспорта.
Пример запроса
{
"job_ids": ["remoteok-1001", "remotive-3003"],
"profile": {
"target_titles": ["AI Engineer", "AI Solutions Architect"],
"skills": ["Python", "RAG", "LLM", "MCP"],
"remote_required": true,
"seniority": "senior",
"minimum_salary_brl": 20000
},
"limit": 10
}Результат содержит числовую оценку, а также положительные сигналы и явные компромиссы. Объяснения генерируются той же функцией оценки, поэтому они не могут отклоняться от ранжирования.
Запуск в качестве MCP-сервера
Транспорт по умолчанию — stdio:
uv run mcp-job-radarПример конфигурации хоста:
{
"mcpServers": {
"job-radar": {
"command": "uv",
"args": ["--directory", "ABSOLUTE_PATH_TO_REPOSITORY", "run", "mcp-job-radar"]
}
}
}Проект использует официальный Python SDK v2 и его текущую линию протокола MCP 2026-07-28. Автоматизированный интеграционный тест использует Client(mcp), внутрипроцессный клиент SDK, а не вызывает функции Python напрямую.
Связь с radar-de-vagas
radar-de-vagas владеет загрузкой из шести публичных источников, двухуровневой фильтрацией релевантности, нормализацией, глобальной дедупликацией и упорядочиванием по приоритету. mcp-job-radar добавляет контракт, ориентированный на агента, и границу безопасности. Его проверенный нормализованный набор данных делает тесты детерминированными и сохраняет CI независимым от скрапинга, учетных данных, ограничений скорости и сбоев сторонних сервисов.
Измеряемое поведение
Набор приемочных тестов проверяет:
ровно четыре обнаруживаемых инструмента MCP;
структурированные результаты MCP и сгенерированные схемы ввода;
повторяемое ранжирование и объяснения соответствия;
все определенные классы враждебного контента отредактированы;
небезопасные классы URL отклонены;
некорректные и медленные источники возвращаются как типизированные повторяемые ошибки;
отсутствует поверхность автоматической подачи заявок или постоянной записи.
Покрытие поддерживается на уровне 85% в CI. README сообщает только о поведении, подтвержденном репозиторием, а не о производственном трафике или синтетических заявлениях о точности бизнеса.
Корректировки, обусловленные проверкой
Реализация была приведена в соответствие с установленным API MCP SDK v2 после того, как интеграционный тест проверил перемещенную границу
ToolErrorи типизированную оболочку ответаlist_tools().Нормализованный фикстур был перемещен внутрь Python-пакета после проверки собранного wheel. Это предотвращает демо, которое работает только из редактируемой копии исходников.
Аннотации только для чтения, неразрушающие, идемпотентные и закрытого мира проверяются для всех четырех обнаруженных инструментов, поэтому опубликованные метаданные проверяются, а не просто документируются.
Ограничения и следующие шаги
Демонстрационные данные синтетические и нормализованные. Они доказывают границу агента, а не время безотказной работы живых источников.
Ранжирование лексическое и основано на политике; семантическая эквивалентность и нюансы карьеры остаются за пределами v0.1.
Предохранитель является локальным для процесса. Распределенное развертывание потребовало бы общего состояния и метрик.
Живой адаптер должен потреблять версионированный нормализованный вывод из
radar-de-vagas, а не импортировать его скрипт или дублировать специфичный для источника скрапинг.Аутентификация и развертывание Streamable HTTP намеренно отсутствуют в этой локальной демонстрации stdio. Они становятся необходимыми только при предоставлении доступа к серверу за пределами доверенного хоста.
Раскрытие информации об использовании ИИ
Репозиторий был разработан с использованием ИИ-ассистированной реализации и рецензирования. Архитектура, заявления о безопасности, тесты, ограничения и опубликованные артефакты были проверены на соответствие исполняемому поведению. Ответственность за авторство и окончательные технические решения остаются за Рафаэлем Кавеагной.
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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to securely query VAST Data databases for schema, metadata, and sample data via read-only SQL and MCP resources.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.12MIT

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
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.
Job platform for AI agents. Track tech jobs from companies that match your stack.
AI job search for Claude, ChatGPT, Cursor. 170K+ jobs, 3,800+ companies. OAuth or stdio.
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/RaphaelCerri/mcp-job-radar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server