job-platform-mcp
Job Platform MCP Monorepo
Это TypeScript-монорепозиторий, который предоставляет API вакансий Wanted, 사람인 и 잡코리아 в виде независимых MCP-серверов, а также Agent Skill для поиска подходящих вакансий на основе резюме и портфолио.
Этот документ является справочным и может использоваться как при ручной настройке человеком, так и при настройке агентами, такими как Codex, Claude Code, OpenCode, OpenClaw.
Предоставляемые функции
Пакет | Платформа | MCP-инструменты | Способ аутентификации |
Wanted OpenAPI | wanted_list_jobs | Client ID и Client Secret пользователя | |
사람인 채용정보 API | saramin_search_jobs, saramin_get_job | access-key пользователя | |
잡코리아 채용정보 API | jobkorea_fetch_jobs, jobkorea_fetch_entry_jobs | Индивидуальный URL вызова, выдаваемый после одобрения |
Навык job-match-search выполняет следующие задачи:
анализ резюме, CV, описания опыта работы и портфолио, предоставленных пользователем
извлечение целевой должности, опыта, навыков, домена и предпочтений
если регион или детальные условия не указаны, задаёт все вопросы сразу перед поиском
если пользователь пропускает ввод условий, выполняет поиск без ограничений по региону и форме занятости
одновременный запрос к подключённым MCP Wanted, 사람인 и 잡코리아
удаление дублирующихся вакансий и оценка соответствия на основе обоснований
предоставление обоснований соответствия, недостающих требований и ссылок на оригиналы для лучших вакансий
Related MCP server: RecruitData
Принципы проектирования
Три MCP запускаются как отдельные stdio-процессы.
Учётные данные и API-клиенты для каждой платформы не используются совместно.
Используются API-права, выданные непосредственно каждому пользователю.
Платные функции вызываются только при наличии прав в учётной записи пользователя.
Исходный текст резюме и личные данные не передаются в API вакансий.
В API передаются только минимальные производные условия, необходимые для поиска: название должности, навыки, опыт, регион.
Без подтверждения пользователя не выполняются подача заявок, создание учётных записей, связь с контактными лицами или оплата.
Требования
Node.js 22 или новее
pnpm 11 или новее
Git
Учётные данные API для используемых платформ вакансий
Проверьте версии.
node --version
pnpm --version
git --versionБыстрый старт
1. Получение репозитория
git clone https://github.com/sjungwon03/job-platform-mcp.git
cd job-platform-mcpЕсли вы уже работаете локально и ещё не клонировали удалённый репозиторий, продолжайте со следующего шага в корне текущего репозитория.
2. Установка зависимостей и сборка
pnpm install
pnpm buildЧтобы проверить общее состояние:
pnpm verifyПроверка включает lint, проверку типов TypeScript, тесты защищённого хранилища, MCP-тесты и production-сборку.
3. Подготовка учётных данных API
Можно настроить только нужные платформы. Использовать все три не обязательно.
Wanted
Получение: https://openapi.wanted.jobs/apply/
Переменная окружения | Обязательно | Описание |
WANTED_CLIENT_ID | Да | Client ID, выданный пользователю |
WANTED_CLIENT_SECRET | Да | Client Secret, выданный пользователю |
WANTED_AUTHORIZATION | Нет | Значение Authorization, необходимое для отдельных прав или платных функций |
Этот проект не оплачивает расходы на API и не предоставляет общие ключи. При использовании платных функций пользователь соответствующего MCP управляет правами и оплатой через свою учётную запись Wanted.
사람인
Получение: https://oapi.saramin.co.kr/
Переменная окружения | Обязательно | Описание |
SARAMIN_ACCESS_KEY | Да | access-key, выданный пользователю |
잡코리아
Информация: https://www.jobkorea.co.kr/service/api
잡코리아 предоставляет уникальный URL вызова после одобрения использования и регистрации IP-адреса запроса.
Переменная окружения | Обязательно | Описание |
JOBKOREA_JOBS_API_URL | Условно | URL, выданный для обычных вакансий |
JOBKOREA_ENTRY_API_URL | Условно | URL, выданный для найма новичков и стажёров |
Требуется хотя бы один из двух URL. Весь выданный URL следует считать секретной информацией.
4. Безопасный ввод учётных данных
Не вставляйте учётные данные непосредственно в чат, README, файлы, отслеживаемые Git, или JSON-конфигурацию MCP.
Запустите защищённый конфигуратор в корне репозитория.
node skills/job-match-search/scripts/configure-credentials.mjsКонфигуратор работает в следующем порядке:
Выберите платформу для настройки.
Принимает значения аутентификации с маскировкой звёздочками.
По умолчанию сохраняет в job-platform-mcp/credentials.json в каталоге настроек пользователя.
На Linux, macOS и WSL ограничивает права файла значением 0600.
Отклоняет пути внутри репозитория, символические ссылки и файлы, читаемые другими пользователями.
Не выводит значения повторно, а показывает только статус настройки по каждой платформе.
Место сохранения по умолчанию:
~/.config/job-platform-mcp/credentials.jsonЧтобы использовать другой абсолютный путь, задайте JOB_MATCH_CREDENTIALS_FILE одинаково и в конфигураторе, и в MCP-хосте. Пути внутри репозитория использовать нельзя.
Проверка статуса настройки:
node skills/job-match-search/scripts/configure-credentials.mjs --checkВывод не содержит фактических значений.
Wanted: 설정됨
사람인: 설정됨
잡코리아: 미설정Этот файл — локальный JSON, защищённый правами файловой системы ОС, а не собственный зашифрованный файл. В нативной Windows рекомендуется использовать OS secret store, предоставляемый агентом или MCP-хостом.
5. Регистрация сервера в MCP-хосте
Вместо прямого копирования учётных данных в конфигурацию MCP зарегистрируйте общий исполнитель run-mcp.mjs.
Сначала соберите все пакеты.
pnpm buildЗамените absolute-path ниже на фактический абсолютный путь к репозиторию.
{
"mcpServers": {
"wanted": {
"command": "node",
"args": [
"/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
"wanted"
]
},
"saramin": {
"command": "node",
"args": [
"/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
"saramin"
]
},
"jobkorea": {
"command": "node",
"args": [
"/absolute-path/job-platform-mcp/skills/job-match-search/scripts/run-mcp.mjs",
"jobkorea"
]
}
}
}Можно зарегистрировать только настроенные платформы. После перезапуска MCP-хоста проверьте следующие имена в списке инструментов.
wanted_list_jobs
saramin_search_jobs
saramin_get_job
jobkorea_fetch_jobs
jobkorea_fetch_entry_jobsЕсли MCP-хост добавляет имя сервера в качестве префикса, фактическое отображаемое имя может немного отличаться.
Процедура настройки для агентов
При настройке этого репозитория агент следует приведённому ниже порядку. Человек также может использовать ту же процедуру.
Убедитесь, что текущий каталог — корень репозитория с pnpm-workspace.yaml.
Проверьте требуемые версии с помощью node --version и pnpm --version.
Выполните pnpm install и pnpm build.
Спросите, какие платформы пользователь хочет подключить и выданы ли учётные данные.
Не требуйте ввода значений аутентификации в обычном окне чата.
Запустите configure-credentials.mjs в интерактивном TTY и дайте пользователю ввести значения с маскировкой самостоятельно.
Определите место настройки используемого агента или MCP-хоста.
Зарегистрируйте только абсолютный путь к run-mcp.mjs и аргументы платформ, без секретных значений.
После перезапуска MCP-хоста проверьте подключение запросом только для чтения с небольшим количеством результатов.
При успехе сообщайте только имена подключённых платформ. Даже в ошибках не включайте значения аутентификации или выданные URL 잡코리아.
Если агент не может предоставить интерактивный TTY, он только сообщает пользователю команду настройки и ждёт завершения ввода. Автоматически повторять ошибки аутентификации не следует.
Установка навыка подбора вакансий
Исходный код навыка находится в следующем каталоге:
skills/job-match-search/
├── SKILL.md
├── references/
├── scripts/
└── test/Навык использует открытый формат Agent Skills и не зависит от frontmatter, специфичного для конкретного агента. Различается только каталог поиска в зависимости от клиента.
Codex
Свяжите исходную папку с личным каталогом навыков.
mkdir -p ~/.codex/skills
ln -s /absolute-path/job-platform-mcp/skills/job-match-search ~/.codex/skills/job-match-searchЕсли путь с таким же именем уже существует, не удаляйте и не перезаписывайте его — сначала проверьте существующий навык.
Claude Code
Свяжите с путём навыков проекта.
mkdir -p .claude/skills
ln -s ../../skills/job-match-search .claude/skills/job-match-searchВ Claude Code при прямом вызове используйте следующим образом:
/job-match-search 내 이력서에 맞는 백엔드 공고를 찾아줘OpenCode
Свяжите с путём навыков проекта.
mkdir -p .opencode/skills
ln -s ../../skills/job-match-search .opencode/skills/job-match-searchOpenCode также поддерживает совместимые пути .claude/skills и .agents/skills.
OpenClaw
Если использовать этот репозиторий как workspace OpenClaw, текущий путь skills/job-match-search будет найден автоматически. Для установки в другой workspace:
openclaw skills install /absolute-path/job-platform-mcp/skills/job-match-searchВ средах без поддержки символических ссылок скопируйте всю папку в путь навыков соответствующего клиента. Нужно копировать не только SKILL.md, но и references и scripts.
Использование навыка
Прикрепите резюме или портфолио либо укажите локальный путь, который может прочитать агент.
$job-match-search
첨부한 이력서를 분석해서 내 경력에 맞는 채용공고를 찾아줘.Можно указать регион и условия вместе.
$job-match-search
서울 또는 판교, 주 2회 이하 출근, 정규직 백엔드 포지션을 찾아줘.
Java와 Spring 실무 경험을 중요하게 보고 연봉이 공개된 공고를 우선해줘.Можно начать и без указания условий.
$job-match-search
내 포트폴리오에 맞는 공고를 찾아줘. 조건은 아직 정하지 않았어.В этом случае навык задаёт вопросы о регионе, формате работы, типе занятости и основных предпочтениях сразу. Если пропустить ответы, поиск выполняется широко, без ограничений.
Базовые результаты включают следующую информацию:
проанализированный поисковый профиль и указанные допущения
10 лучших вакансий по соответствию
подтверждённые обоснования соответствия и недостающие или неподтверждённые требования
регион, форма занятости, срок подачи, источник и ссылки на оригиналы
запрошенные платформы, поисковые запросы, фильтры и неудачные области
Оценка соответствия — это эвристика для сравнения, а не вероятность принятия.
Команды разработки
Весь workspace:
pnpm install
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm verifyЧтобы проверить только один пакет:
pnpm --filter wanted-mcp test
pnpm --filter saramin-mcp test
pnpm --filter jobkorea-mcp testЧтобы запустить только тесты защищённого хранилища:
pnpm test:skillСтруктура проекта
.
├── packages/
│ ├── wanted-mcp/
│ ├── saramin-mcp/
│ └── jobkorea-mcp/
├── skills/
│ └── job-match-search/
├── package.json
├── pnpm-lock.yaml
└── pnpm-workspace.yamlКорневой workspace объединяет только установку зависимостей, единый lockfile и общую проверку. Конфигурация, клиент, схемы инструментов и тесты каждого MCP хранятся в соответствующем пакете.
Устранение неполадок
Симптом | Что проверить |
Built MCP entry not found | Проверьте, что pnpm build выполнен в корне |
Missing required configuration | Проверьте настройку соответствующей платформы с помощью configure-credentials.mjs --check |
Credential store permissions are too broad | Примените chmod 600 к файлу учётных данных на Linux, macOS, WSL |
Credential store must be outside the project workspace | Используйте путь настроек пользователя по умолчанию или укажите абсолютный путь вне репозитория |
Wanted 401 или 403 | Проверьте Client ID, Secret, необязательный Authorization и права учётной записи |
Ошибка аутентификации 사람인 | Проверьте статус выдачи SARAMIN_ACCESS_KEY и лимиты использования |
Ошибка подключения 잡코리아 | Проверьте статус одобрения, зарегистрированный IP запроса, выданный URL и разрешённые хосты |
Инструменты MCP не отображаются | Проверьте абсолютный путь, путь к node и перезапуск MCP-хоста |
Сбой только некоторых платформ | Продолжайте поиск по успешно подключённым платформам и проверьте настройку только неудачных |
Меры безопасности
Не коммитьте реальные учётные данные в Git.
Не вставляйте учётные данные в issues, PR, чаты или логи.
Немедленно отзывайте раскрытые ключи и перевыпускайте их на платформе.
Считайте весь URL вызова 잡코리아 секретной информацией.
Не размещайте файл хранилища учётных данных в папках облачной синхронизации или общих каталогах.
Не предоставляйте доступ к хранилищу учётных данных навыкам или скриптам, которыми управляют другие.
Лицензия и условия использования API
Данные каждой платформы вакансий, условия использования API, лимиты вызовов и тарифная политика регулируются условиями соответствующей платформы. Этот репозиторий не обходит права аутентификации или платные функции и не предоставляет прав на распространение данных API.
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 Servers
AlicenseNot gradedqualityAmaintenanceMCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.5643MIT- AlicenseNot gradedqualityCmaintenanceUnified job search MCP server that aggregates live listings from multiple job boards with deduplication, enabling AI agents to find and filter jobs by keyword and location.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI-assisted job search workflows including job discovery, application tracking, resume evaluation, and cover letter generation, with support for multiple job sources and scheduled scraping.181AGPL 3.0
- FlicenseNot gradedqualityAmaintenancePersonal job posting management MCP server that fetches job postings from multiple Korean job sites and stores them for LLM analysis, enabling timeline tracking and cover letter draft management.1
Related MCP Connectors
GetJobzi MCP server for job search, application tracking, and career forecasting.
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
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/sjungwon03/job-platform-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server